gpt4 book ai didi

delphi - TField.OnGetText 中 'Text' 参数的默认值是多少

转载 作者:行者123 更新时间:2023-12-02 08:20:44 25 4
gpt4 key购买 nike

我有一个附加到字段ScoreTField.OnGetText 事件的过程,如下所示:

procedure TMyForm.GetScoreText(Sender: TField; var Text: string; DisplayText: Boolean);
begin
if StrToInt(Sender.AsString) >= 80 and StrToInt(Sender.AsString) <= 100 then
Text := 'Great!';
else if StrToInt(Sender.AsString) >= 60 and StrToInt(Sender.AsString) < 80 then
Text := 'Good';
end;

来自OnGetText documentation ,我知道,当没有定义 OnGetText 处理程序时,该字段的 Text 属性就是 AsString 属性的名称。但我的问题是,定义了 OnGetTextText 时,var 参数 Text 得到什么值?是为字段的当前值定义的。就我而言,当字段 Score 的值小于 60 时,Text 会得到什么值?是Null,还是空字符串,还是其他什么?我需要明确地知道它,因为有一些逻辑取决于所显示的值。

我从中学到了SO postOnGetText 处理程序过程没有代码时,该字段不会显示任何内容,即过程主体为空。

最佳答案

当分配了 OnGetTextText 参数中没有返回任何内容时,结果为空字符串。

查看Db源代码:

function TField.GetDisplayText: string;
begin
Result := '';
if Assigned(FOnGetText) then
FOnGetText(Self, Result, True) else
GetText(Result, True);
end;

Result 最初设置为空字符串,如果已分配,则将其传递给 FOnGetText

关于delphi - TField.OnGetText 中 'Text' 参数的默认值是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43913332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com