当前位置: 首页 > news >正文

.net dataexcel 脚本公式 函数源码

示例如:

ScriptExec(""sum(1, 2, 3, 4)"") 结果等于10

using Feng.Excel.Builder;
using Feng.Excel.Collections;
using Feng.Excel.Interfaces;
using Feng.Script.CBEexpress;
using Feng.Script.Method;
using System;
using System.Collections.Generic;
using System.Drawing;namespace Feng.Excel.Script
{[Serializable]public class ScriptFunctionContainer : DataExcelMethodContainer{public const string Function_Name = "DataExcelScript";public const string Function_Description = "脚本函数";public override string Name{get { return Function_Name; }}public override string Description{get { return Function_Description; }}public ScriptFunctionContainer(){BaseMethod model = null;model = new BaseMethod();model.Name = "ScriptExec";model.Description = "执行脚本";model.Eg = @"=ScriptExec(""sum(1, 2, 3, 4)"") 结果等于10";model.Function = ScriptExec;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptIF";model.Description = "第一参数为True返回第二个参数,否则返加第三个参数";model.Eg = @"ScriptIF(1>2,10,30)结果等于30";model.Function = ScriptIF;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptIsNull";model.Description = "第一参数为null返回第二个参数,否则返加第一个参数";model.Eg = @"ScriptIsNull(null,1)";model.Function = ScriptIsNull;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptArg";model.Description = @"获取或设置参数 ScriptArg(""argname"")";model.Eg = @"ScriptArg(""argname"")";model.Function = ScriptArg;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptExecG";model.Description = @"在传第一个参数表格上执行脚本 ScriptExecG(grid)";model.Eg = @"ScriptExecG(grid)";model.Function = ScriptExecG;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptSaveContext";model.Description = @"保存当前执行上下文 ScriptSaveContext()";model.Eg = @"var context=ScriptSaveContext()";model.Function = ScriptSaveContext;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptReStoreContext";model.Description = @"还原当前上下文 ScriptReStoreContext(context)";model.Eg = @"ScriptReStoreContext(context)";model.Function = ScriptReStoreContext;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptSwitchContext";model.Description = @"切换当前上下文 ScriptSwitchContext(grid,cell)";model.Eg = @"ScriptSwitchContext(grid,cell)";model.Function = ScriptSwitchContext;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptCellValueChanged";model.Description = @"获取或设置单元格值变化时脚本 ScriptCellValueChanged(cell,script)";model.Eg = @"ScriptCellValueChanged(cell,script)";model.Function = ScriptCellValueChanged;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptCellClick";model.Description = @"获取或设置单元格单击时脚本 ScriptCellClick(cell,script)";model.Eg = @"ScriptCellClick(cell,script)";model.Function = ScriptCellClick;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptCellDoubleClick";model.Description = @"获取或设置单元格双击时脚本 ScriptCellDoubleClick(cell,script)";model.Eg = @"ScriptCellDoubleClick(cell,script)";model.Function = ScriptCellDoubleClick;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptCellKeyDown";model.Description = @"获取或设置单元格键盘按下时脚本 ScriptCellKeyDown(cell,script)";model.Eg = @"ScriptCellKeyDown(cell,script)";model.Function = ScriptCellKeyDown;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptCellKeyUp";model.Description = @"获取或设置单元格键盘抬起时脚本 ScriptCellKeyUp(cell,script)";model.Eg = @"ScriptCellKeyUp(cell,script)";model.Function = ScriptCellKeyUp;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptGridEndEdit";model.Description = @"获取或设置表格结束编辑时脚本 ScriptGridEndEdit(grid,script)";model.Eg = @"ScriptGridEndEdit(grid,script)";model.Function = ScriptGridEndEdit;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptGridLoadCompleted";model.Description = @"获取或设置表格加载结束时脚本 ScriptGridLoadCompleted(grid,script)";model.Eg = @"ScriptGridLoadCompleted(grid,script)";model.Function = ScriptGridLoadCompleted;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptGridClick";model.Description = @"获取或设置表格单击脚本 ScriptGridClick(grid,script)";model.Eg = @"ScriptGridClick(grid,script)";model.Function = ScriptGridClick;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptGridDoubleClick";model.Description = @"获取或设置表格双击脚本 ScriptGridDoubleClick(grid,script)";model.Eg = @"ScriptGridDoubleClick(grid,script)";model.Function = ScriptGridDoubleClick;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptGridValueChanged";model.Description = @"获取或设置表格值改变时脚本 ScriptGridValueChanged(grid,script)";model.Eg = @"ScriptGridValueChanged(grid,script)";model.Function = ScriptGridValueChanged;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptGridKeyDown";model.Description = @"获取或设置表格键按下时脚本 ScriptGridKeyDown(grid,script)";model.Eg = @"ScriptGridKeyDown(grid,script)";model.Function = ScriptGridKeyDown;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptGridKeyUp";model.Description = @"获取或设置表格键抬起时脚本 ScriptGridKeyUp(grid,script)";model.Eg = @"ScriptGridKeyUp(grid,script)";model.Function = ScriptGridKeyUp;MethodList.Add(model);}public virtual object ScriptGridKeyUp(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){DataExcel cell = base.GetArgIndex(1, args) as DataExcel;if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyKeyUp;}string script = base.GetTextValue(2, args);cell.PropertyKeyUp = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptGridKeyDown(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){DataExcel cell = base.GetArgIndex(1, args) as DataExcel;if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyKeyDown;}string script = base.GetTextValue(2, args);cell.PropertyKeyDown = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptGridValueChanged(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){DataExcel cell = base.GetArgIndex(1, args) as DataExcel;if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyValueChanged;}string script = base.GetTextValue(2, args);cell.PropertyValueChanged = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptGridDoubleClick(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){DataExcel cell = base.GetArgIndex(1, args) as DataExcel;if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyDoubleClick;}string script = base.GetTextValue(2, args);cell.PropertyDoubleClick = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptGridClick(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){DataExcel cell = base.GetArgIndex(1, args) as DataExcel;if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyClick;}string script = base.GetTextValue(2, args);cell.PropertyClick = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptGridLoadCompleted(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){DataExcel cell = base.GetArgIndex(1, args) as DataExcel;if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyDataLoadCompleted;}string script = base.GetTextValue(2, args);cell.PropertyDataLoadCompleted = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptFormClosing(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){DataExcel cell = base.GetArgIndex(1, args) as DataExcel;if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyFormClosing;}string script = base.GetTextValue(2, args);cell.PropertyFormClosing = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptGridEndEdit(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){DataExcel cell = base.GetArgIndex(1, args) as DataExcel;if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyEndEdit;}string script = base.GetTextValue(2, args);cell.PropertyEndEdit = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptCellKeyUp(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){ICell cell = base.GetCell(1, args);if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyOnKeyUp;}string script = base.GetTextValue(2, args);cell.PropertyOnKeyUp = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptCellKeyDown(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){ICell cell = base.GetCell(1, args);if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyOnKeyDown;}string script = base.GetTextValue(2, args);cell.PropertyOnKeyDown = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptCellDoubleClick(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){ICell cell = base.GetCell(1, args);if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyOnDoubleClick;}string script = base.GetTextValue(2, args);cell.PropertyOnDoubleClick = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptCellClick(params object[] args){  Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){ICell cell = base.GetCell(1, args);if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyOnClick;}string script = base.GetTextValue(2, args);cell.PropertyOnClick = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptCellValueChanged(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){ICell cell = base.GetCell(1, args);if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyOnCellValueChanged;}string script = base.GetTextValue(2, args);cell.PropertyOnCellValueChanged = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptArg(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){string key = base.GetTextValue(1, args);if (args.Length == 3){object value = base.GetArgIndex(2, args);proxy.SetKeyValue(key, value);return Feng.Utils.Constants.OK;}return proxy.GetKeyValue(key);}return null;}public virtual object ScriptIsNull(params object[] args){if (args.Length > 1){object value1 = args[1];object value2 = args[2];if (value1 == null){return value2;}else{return value1;}}return null;}public virtual object ScriptIF(params object[] args){if (args.Length > 2){object value1 = args[1];object value2 = args[2];object value3 = args[3];bool res = Feng.Utils.ConvertHelper.ToBoolean(value1);if (res){return value2;}else{return value3;}}return null;}public virtual object ScriptExec(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){string txt = base.GetTextValue(1, args);int len = args.Length - 2;if (len > 0){object[] values = new object[len];for (int i = 0; i < len; i++){values[i] = args[i + 2];}return ScriptBuilder.Exec(proxy.Grid, proxy.CurrentCell, txt, values);}return ScriptBuilder.Exec(proxy.Grid, proxy.CurrentCell, txt);}return null;}public virtual object ScriptExecG(params object[] args){DataExcel grid = base.GetArgIndex(1, args) as DataExcel;string txt = base.GetTextValue(2, args);int len = args.Length - 3;if (len > 0){object[] values = new object[len];for (int i = 0; i < len; i++){values[i] = args[i + 3];}return ScriptBuilder.Exec(grid, null, txt, values);}return ScriptBuilder.Exec(grid, null, txt);}public virtual object ScriptSaveContext(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){Feng.Collections.HashtableEx scriptContext = new Feng.Collections.HashtableEx();scriptContext.Add("Grid", proxy.Grid);scriptContext.Add("Cell", proxy.CurrentCell);return scriptContext;}return null;}public virtual object ScriptReStoreContext(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){Feng.Collections.HashtableEx scriptContext = base.GetArgIndex(1, args) as Feng.Collections.HashtableEx;if (scriptContext != null){proxy.Grid = scriptContext["Grid"] as DataExcel;proxy.CurrentCell= scriptContext["Cell"] as ICell;return Feng.Utils.Constants.OK;}}return Feng.Utils.Constants.Fail;}public virtual object ScriptSwitchContext(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){proxy.Grid = base.GetArgIndex(1, args) as DataExcel;proxy.CurrentCell = base.GetArgIndex(2, args) as ICell;return Feng.Utils.Constants.OK; }return Feng.Utils.Constants.Fail;}}
}

相关文章:

.net dataexcel 脚本公式 函数源码

示例如: ScriptExec(""sum(1, 2, 3, 4)"") 结果等于10 using Feng.Excel.Builder; using Feng.Excel.Collections; using Feng.Excel.Interfaces; using Feng.Script.CBEexpress; using Feng.Script.Method; using System; using System.Collections.Gen…...

HarmonyOS ArkUi @CustomDialog 和promptAction.openCustomDialog踩坑以及如何选择

CustomDialog 内使用Link&#xff0c;如何正常使用 错误使用方式&#xff1a; 定义一个函数&#xff0c;在函数内使用弹窗&#xff0c;如下面代码showDialog&#xff1a; 这种使用方式&#xff0c;无法在自定义的CustomDialog内使用 Link&#xff0c;进行父子双向绑定&#x…...

Python面试题:详细讲解Python的多线程与多进程编程问题

在 Python 中&#xff0c;多线程和多进程编程是并发编程的两种主要方式&#xff0c;用于提高程序的执行效率和响应性。虽然它们都可以实现并发执行&#xff0c;但它们的工作原理和适用场景有所不同。以下是对 Python 多线程和多进程编程的详细讲解&#xff0c;包括它们的工作原…...

前端Canvas入门——用canvas写五子棋?

前言 五子棋的实现其实不难&#xff0c;因为本身就是一个很小的游戏。 至于画线什么的&#xff0c;其实很简单&#xff0c;都是lineTo()&#xff0c;moveTo()就行了。 难的在于——怎么让棋子落入到指定的格子上&#xff0c;怎么判断连子胜利。 当然啦&#xff0c;这部分是…...

[PaddlePaddle飞桨] PaddleDetection-通用目标检测-小模型部署

PaddleDetection的GitHub项目地址 推荐环境&#xff1a; PaddlePaddle > 2.3.2 OS 64位操作系统 Python 3(3.5.1/3.6/3.7/3.8/3.9/3.10)&#xff0c;64位版本 pip/pip3(9.0.1)&#xff0c;64位版本 CUDA > 10.2 cuDNN > 7.6pip下载指令&#xff1a; python -m pip i…...

Golang | Leetcode Golang题解之第239题滑动窗口最大值

题目&#xff1a; 题解&#xff1a; func maxSlidingWindow(nums []int, k int) []int {n : len(nums)prefixMax : make([]int, n)suffixMax : make([]int, n)for i, v : range nums {if i%k 0 {prefixMax[i] v} else {prefixMax[i] max(prefixMax[i-1], v)}}for i : n - 1…...

深度解析:在 React 中实现类似 Vue 的 KeepAlive 组件

在前端开发中&#xff0c;Vue 的 keep-alive 组件是一个非常强大的工具&#xff0c;它可以在组件切换时缓存组件的状态&#xff0c;避免重新渲染&#xff0c;从而提升性能。那么&#xff0c;如何在 React 中实现类似的功能呢&#xff1f;本文将带你深入探讨&#xff0c;并通过代…...

2024-7-20 IT新闻

目录 微软全球IT系统故障 中国量子计算产业峰会召开 其他IT相关动态 微软全球IT系统故障 后续处理&#xff1a; 微软和CrowdStrike均迅速响应&#xff0c;发布了相关声明并部署了修复程序。CrowdStrike撤销了有问题的软件更新&#xff0c;以帮助用户恢复系统正常运作。微软也…...

前端组件化开发:以Vue自定义底部操作栏组件为例

摘要 随着前端技术的不断演进&#xff0c;组件化开发逐渐成为提升前端开发效率和代码可维护性的关键手段。本文将通过介绍一款Vue自定义的底部操作栏组件&#xff0c;探讨前端组件化开发的重要性、实践过程及其带来的优势。 一、引言 随着Web应用的日益复杂&#xff0c;传统的…...

11.斑马纹列表 为没有文本的链接设置样式

斑马纹列表 创建一个背景色交替的条纹列表。 使用 :nth-child(odd) 或 :nth-child(even) 伪类选择器,根据元素在一组兄弟元素中的位置,对匹配的元素应用不同的 background-color。 💡 提示:你可以用它对其他 HTML 元素应用不同的样式,如 <div>、<tr>、<p&g…...

【算法】跳跃游戏II

难度&#xff1a;中等 题目&#xff1a; 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[…...

学习大数据DAY20 Linux环境配置与Linux基本指令

目录 Linux 介绍 Linux 发行版 Linux 和 Windows 比较 Linux 就业方向&#xff1a; 下载 CentOS Linux 目录树 Linux 目录结构 作业 1 常用命令分类 文件目录类 作业 2 vim 编辑文件 作业 3 你问我第 19 天去哪了&#xff1f;第 19 天在汇报第一阶段的知识总结&#xff0c;没什…...

达梦+flowable改造

原项目springbootflowablemysql模式现需改造springbootflowable达梦&#xff0c; 1.在项目中引入达梦jpa包 引入高版本包已兼容flowable&#xff08;6.4.2&#xff09;liquibase&#xff08;3.6.2&#xff09; 我没有像网上做覆盖及达梦配置 <dependency> …...

【乐吾乐2D可视化组态编辑器】消息

消息 乐吾乐2D可视化组态编辑器demo&#xff1a;https://2d.le5le.com/ 监听消息 const fn (event, data) > {}; meta2d.on(event, fn);// 监听全部消息 meta2d.on(*, fn);// 取消监听 meta2d.off(event, fn); meta2d.off(*, fn); Copy 系统消息 event&#xff08;…...

Qt创建列表,通过外部按钮控制列表的选中下移、上移以及左侧图标的显现

引言 项目中需要使用列表QListWidget,但是不能直接拿来使用。需要创建一个列表,通过向上和向下的按钮来向上或者向下移动选中列表项,当当前项背选中再去点击确认按钮,会在列表项的前面出现一个图标。 实现效果 本实例实现的效果如下: 实现思路 思路一 直接采用QLis…...

svn不能记住密码,反复弹出GNOME,自动重置svn.simple文件

1. 修改文件 打开 ~/.subversion/auth/svn.simple/xxx 更新前 K 15 svn:realmstring V 32 xxxxx //svn 地址&#xff0c;库的地址 K 8 username V 4 xxx //用户名 END在顶部插入下面内容&#xff0c; 注意&#xff0c;如果密码不对&#xff0c;则文件文法正常生效 更新后…...

对称加密与非对称加密

对称加密 对称加密指的是加密和解密使用同一个秘钥,所以叫对称加密。对称加密只有一个秘钥,称为私钥。 优点:算法公开、计算量小、加密速度快、效率高 缺点:数据传输前,发送方和接收方必须确定好秘钥,双方也必须要保存好秘钥。 常见对称加密算法: DES、3DES、AES、3…...

03 Git的基本使用

第3章&#xff1a;Git的基本使用 一、创建版本仓库 一&#xff09;TortoiseGit ​ 选择项目地址&#xff0c;右键&#xff0c;创建版本库 ​ 初始化git init版本库 ​ 查看是否生成.git文件&#xff08;隐藏文件&#xff09; 二&#xff09;Git ​ 选择项目地址&#xff0c…...

【Linux】将IDEA项目部署到云服务器上,让其成为后台进程(保姆级教学,满满的干货~~)

目录 部署项目到云服务器什么是部署一、 创建MySQL数据库二、 修改idea配置项三、 数据打包四、 部署云服务器五、开放端口号六 、 验证程序 部署项目到云服务器 什么是部署 ⼯作中涉及到的"环境" 开发环境:开发⼈员写代码⽤的机器.测试环境:测试⼈员测试程序使⽤…...

IDEA的断点调试(Debug)

《IDEA破解、配置、使用技巧与实战教程》系列文章目录 第一章 IDEA破解与HelloWorld的实战编写 第二章 IDEA的详细设置 第三章 IDEA的工程与模块管理 第四章 IDEA的常见代码模板的使用 第五章 IDEA中常用的快捷键 第六章 IDEA的断点调试&#xff08;Debug&#xff09; 第七章 …...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

LLM基础1_语言模型如何处理文本

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken&#xff1a;OpenAI开发的专业"分词器" torch&#xff1a;Facebook开发的强力计算引擎&#xff0c;相当于超级计算器 理解词嵌入&#xff1a;给词语画"…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术&#xff1a;基于互相关的相干体技术&#xff08;Correlation&#xff09;第二代相干体技术&#xff1a;基于相似的相干体技术&#xff08;Semblance&#xff09;基于多道相似的相干体…...

GitHub 趋势日报 (2025年06月06日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?

在工业自动化持续演进的今天&#xff0c;通信网络的角色正变得愈发关键。 2025年6月6日&#xff0c;为期三天的华南国际工业博览会在深圳国际会展中心&#xff08;宝安&#xff09;圆满落幕。作为国内工业通信领域的技术型企业&#xff0c;光路科技&#xff08;Fiberroad&…...