今天有个用户提出一个需求:
把某一字段的值中特定字符替换成另一个字符串再打印。
这个需求比较简单,只要在字段组件的OnAfterData事件中,对字段值进行替换就可以。
1、先选定要替换的字段组件,例如产品名称
2、选中产品名称字段组件,然后双击“OnAfterData”事件:
3、在自动打开的脚本编辑器中,输入脚本:
脚本代码如下:
//写个自定义字符串替换函数
function MyStringReplace(const Input, Find, Replace : String) : String;
var
P : Integer;
begin
Result := Input;
repeat
P := Pos(Find, Result);
if P > 0 then begin
Delete(Result, P, Length(Find));
Insert(Replace, Result, P);
end;
until P = 0;
end;
//这是自动生成的事件函数
procedure Sale_order_lineproduct_id_nameOnAfterData(Sender: TfrxComponent);
//以下两行定义变量
var
S : String;
begin
//获取字段原始值
S := TfrxMemoView(Sender).Memo.Text;
//把指定字符串替换成新字符串
S := MyStringReplace(S, '办公', 'BG');
//把新字符串赋值给字段组件
TfrxMemoView(Sender).Memo.Text := S;
end;
//下面两行不能省
begin
end.
然后保存模板,就可以了。