Merge remote-tracking branch 'origin/main'

This commit is contained in:
2025-07-14 10:52:53 +08:00
94 changed files with 545 additions and 84 deletions

View File

@ -567,4 +567,98 @@ begin
fedtFShtName.Text := TempStr; // 直接赋值
end.
```
```
## 删除文本中的空格
删除掉指定控件中输入的文本的空格
```delphi
uses
MyClass, Variables, BaseUtil, CommonFunc, DataConst, CFFrm, CFSimplePropFrm,
Forms, StdCtrls, Variants, SysUtils, Classes, Controls, Dialogs,
CHostIntf, ProductClas, DocClas, LoginClas, VirtualTrees, CEntClas, PathClas;
// 在begin之前定义过程
procedure RemoveSpacesFromEdit(EditControl: TCustomEdit);
var
OriginalText: string;
begin
OriginalText := EditControl.Text;
// 使用StringReplace函数删除所有空格
EditControl.Text := StringReplace(OriginalText, ' ', '', [rfReplaceAll]);
end;
begin
// 调用过程处理edtSpec控件
RemoveSpacesFromEdit(edtSpec);
end.
```
### 删除其他空白字符
如果需要删除其他空白字符如制表符换行符可以修改过程为
```delphi
uses
MyClass, Variables, BaseUtil, CommonFunc, DataConst, CFFrm, CFSimplePropFrm,
Forms, StdCtrls, Variants, SysUtils, Classes, Controls, Dialogs,
CHostIntf, ProductClas, DocClas, LoginClas, VirtualTrees, CEntClas, PathClas;
// 在begin之前定义过程
procedure RemoveSpacesFromEdit(EditControl: TCustomEdit);
var
OriginalText: string;
begin
OriginalText := EditControl.Text;
// 删除所有空白字符
OriginalText := StringReplace(OriginalText, ' ', '', [rfReplaceAll]);
// 制表符
OriginalText := StringReplace(OriginalText, #9, '', [rfReplaceAll]);
// 换行符
OriginalText := StringReplace(OriginalText, #13#10, '', [rfReplaceAll]);
EditControl.Text := OriginalText;
end;
begin
// 调用过程处理edtSpec控件
RemoveSpacesFromEdit(edtSpec);
end.
```
## 根据输入内容在数据库中查询,获取查询结果作为下拉列表以供选择
根据在 `fedtusr_sqlmj` 控件中输入的内容在数据库中进行查询并将查询结果去重后列出头十条作为下拉选择以供 `fedtusr_sqlmj` 控件选择
```delphi
uses MyClass,Variables,BaseUtil,CommonFunc,DataConst,CFFrm,CFSimplePropFrm,Forms,StdCtrls,Variants,SysUtils,Classes,Controls,Dialogs,
CHostIntf,ProductClas,DocClas,LoginClas,VirtualTrees,CEntClas,PathClas;
var
str:string;
begin
//注释:在下面添加您的脚本代码
str := fedtusr_sqlmj.Text;
if Length(str) > 0 then
begin
if Length(chiGetFieldValueBySql('select top 1 usr_sqlmj from pdmitem where usr_sqlmj like ''%' + str + '%''')) > 0 then
begin
chiFillComboBox('select distinct top 10 usr_sqlmj from pdmitem where usr_sqlmj like ''%' + str + '%''',fedtusr_sqlmj);
end
else
begin
chiFillComboBox('select ''''',fedtusr_sqlmj);
end;
end;
end.
```
### 前置要求
接收下拉选择的控件的 **按钮类型** 必须是 **下拉** 才行属性的类型可以是文本也可以是枚举枚举要求枚举来源为空
![](assets/Pasted%20image%2020250710104426.png)
此外脚本必须放在 **按钮** **单击执行**
![](assets/Pasted%20image%2020250710104559.png)