gpt4 book ai didi

delphi - 我可以使用编辑蒙版来格式化输出吗? (不仅仅是验证输入)

转载 作者:行者123 更新时间:2023-12-03 15:29:45 26 4
gpt4 key购买 nike

Delphi 7问题。我正在使用一个具有许多数据绑定(bind)控件的表单(无法更改此控件)。我有一个绑定(bind)到 TStringField 的 TDBEDIT 控件(它具有 EditMask 属性)。我知道我可以使用此 EditMask 强制控件验证其输入,但我想知道是否可以直接使用原始值填充字段并让控件根据 EditMask 显示它?

我想用 16 位数字填充该字段,但我希望它显示为 4 组 4 位数字(即 9999 9999 9999 9999)。

如果我这样做...

dbedtABCNumber.DataSource.DataSet.Edit;
dbedtABCNumber.Field.Value := '1234567812345678';

我只显示前 4 位数字。

我希望有人更熟悉旧数据绑定(bind)控件的缺陷。

最佳答案

您可以使用TField.OnGetText eventTNumericField.DisplayFormat property修改文本的显示方式。

由于您有一个 TStringField 保存数字,因此您有两种选择:

  • 使用 TNumericFieldDisplayFormat 属性
  • 使用 OnGetText 事件并进行您自己的字符串格式化

编辑:

Sam 使用了这种方法:

我实现了 OnSetTextOnGetText 事件处理程序。我已经有了 Edit Mask 9999 9999 9999 9999;1;_ 所以 OnSetText 只是

TStringField(Sender).Value := Trim(Text);

OnGetText 只是

sValue := TStringField(Sender).Value;  
Text := Format('%s %s %s %s', [Copy(sValue, 1, 4), Copy(sValue, 5, 4), Copy(sValue, 9, 4), Copy(sValue, 13, 4)]);

效果很好。谢谢。

关于delphi - 我可以使用编辑蒙版来格式化输出吗? (不仅仅是验证输入),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5617205/

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