2025-01-22 11:26:54 +08:00
|
|
|
|
# 介绍
|
|
|
|
|
|
|
|
|
|
在窗体表单或对象常规属性中支持 `Delphi` 脚本来实现一些特性化操作
|
|
|
|
|
|
|
|
|
|
# 脚本编辑器
|
|
|
|
|
|
|
|
|
|
这是一个编辑、检查脚本的窗体
|
|
|
|
|
|
|
|
|
|
由主菜单、工具栏、 [控件区](#控件区) 、 [脚本编辑区](#脚本编辑区) 、 [函数/变量区](#函数/变量区) 、 [错误提示区](#错误提示区) 组成,界面如下图:
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
## 布局介绍
|
|
|
|
|
|
|
|
|
|
### 文件
|
|
|
|
|
|
|
|
|
|
保存或者关闭脚本编辑器
|
|
|
|
|
|
|
|
|
|
操作:检查语法正确性
|
|
|
|
|
|
|
|
|
|
查找/替换/查找下一个:TXT文本功能
|
|
|
|
|
|
|
|
|
|
设置:
|
|
|
|
|
|
|
|
|
|
1. 修改 Tab 键跳转列数:设置缩进列数
|
|
|
|
|
2. 工具栏:显示脚本编辑器常用操作
|
|
|
|
|
|
|
|
|
|
### 控件区
|
|
|
|
|
|
|
|
|
|
显示源窗体中的编辑控件,双击控件节点时,在 [脚本编辑器](#脚本编辑器) 的当前光标位置增加控件名称,支持节点拖动
|
|
|
|
|
|
2025-07-10 10:15:32 +08:00
|
|
|
|

|
|
|
|
|
|
2025-01-22 11:26:54 +08:00
|
|
|
|
### 脚本编辑区
|
|
|
|
|
|
|
|
|
|
编辑脚本的地方。 编辑时支持模糊匹 **配控件区** 的控件名和 **函数/变量区** 的函数或变量名;
|
|
|
|
|
|
|
|
|
|
如果文本是控件名,输入 “ . ” 将提示控件支持的属性或方法
|
|
|
|
|
|
|
|
|
|
按 “ Tab ” 键支持选择文本的定长缩进
|
|
|
|
|
|
|
|
|
|
按 “ Shift + Tab ” 键支持选择文本的定长反缩进
|
|
|
|
|
|
|
|
|
|
支持文本搜索、搜索替换功能
|
|
|
|
|
|
2025-03-04 14:15:45 +08:00
|
|
|
|
使用的脚本为 `Delphi` 脚本,参考代码如下所示,作用为 [多属性值拼接至另一属性中](999.Delphi脚本记录.md#多属性值拼接至另一属性中) :
|
2025-01-22 11:26:54 +08:00
|
|
|
|
|
|
|
|
|
```Delphi
|
|
|
|
|
uses MyClass,Variables,BaseUtil,CommonFunc,DataConst,CFFrm,CFSimplePropFrm,Forms,StdCtrls,Variants,SysUtils,Classes,Controls,Dialogs,
|
|
|
|
|
CHostIntf,ProductClas,DocClas,LoginClas,VirtualTrees,CEntClas,PathClas;
|
|
|
|
|
var
|
|
|
|
|
StringList: TStringList;
|
|
|
|
|
|
|
|
|
|
begin
|
|
|
|
|
// 创建和初始化TStringList
|
|
|
|
|
StringList := TStringList.Create;
|
|
|
|
|
try
|
|
|
|
|
// 如果fedtusr_substrate_id的值不为空,则将值添加到StringList中
|
|
|
|
|
if fedtusr_substrate_id.Text <> '' then
|
|
|
|
|
StringList.Add(fedtusr_substrate_id.Text);
|
|
|
|
|
if fedtusr_substrate_id2.Text <> '' then
|
|
|
|
|
StringList.Add(fedtusr_substrate_id2.Text);
|
|
|
|
|
if fedtusr_substrate_id3.Text <> '' then
|
|
|
|
|
StringList.Add(fedtusr_substrate_id3.Text);
|
|
|
|
|
if fedtusr_substrate_id4.Text <> '' then
|
|
|
|
|
StringList.Add(fedtusr_substrate_id4.Text);
|
|
|
|
|
|
|
|
|
|
// 转换为逗号分隔的字符串
|
|
|
|
|
mmmusr_substrate2.Text := StringList.DelimitedText; // 默认使用逗号作为分隔符
|
|
|
|
|
|
|
|
|
|
// 如果需要指定其他分隔符,可以设置Delimiter属性
|
|
|
|
|
// StringList.Delimiter := ';'; // 设置分隔符为分号
|
|
|
|
|
// Result := StringList.DelimitedText;
|
|
|
|
|
finally
|
|
|
|
|
StringList.Free;
|
|
|
|
|
end;
|
|
|
|
|
end.
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 函数/变量区
|
|
|
|
|
|
|
|
|
|
显示系统支持的变量和函数,双击节点时,在 **脚本编辑区** 的当前光标位置增加变量或函数名称,鼠标移到树节点时,提示信息窗显示变量类型或函数原型,支持节点拖动
|
|
|
|
|
|
2025-07-10 10:15:32 +08:00
|
|
|
|

|
2025-02-25 09:16:10 +08:00
|
|
|
|
|
2025-01-22 11:26:54 +08:00
|
|
|
|
### 错误提示区
|
|
|
|
|
|
2025-07-10 10:15:32 +08:00
|
|
|
|
执行 **保存** 或 **检查语法正确性** 命令时,如果脚本存在错误,则错误信息被显示在 **错误提示区**,双击错信息行时,在 **脚本编辑区** 中对于的错误行用红色背景标记(实测未见红色标记)
|
|
|
|
|
|
|
|
|
|

|