delphi – 我可以使用编辑掩码格式化输出吗? (不只是验证输入)

delphi – 我可以使用编辑掩码格式化输出吗? (不只是验证输入),第1张

概述德尔福7问题.我正在使用具有许多数据绑定控件的表单(更改此选项不是一个选项).我有一个绑定到TStringField(具有EditMask属性)的TDBEDIT控件.我知道我可以使用这个EditMask强制控件来验证它的输入,但是我想知道的是我是否可以直接用原始值填充字段并让控件根据EditMask显示它? 我想用16位数字填充该字段,但我希望它显示为4个4位数字(即9999 9999 9999 德尔福7问题.我正在使用具有许多数据绑定控件的表单(更改此选项不是一个选项).我有一个绑定到TStringFIEld(具有EditMask属性)的TDbedIT控件.我知道我可以使用这个EditMask强制控件来验证它的输入,但是我想知道的是我是否可以直接用原始值填充字段并让控件根据EditMask显示它?

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

如果我做 …

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

我只显示前4位数字.

我希望那里的人更熟悉旧的数据绑定控件的内部.

解决方法 您可以使用 TField.OnGetText event或 TNumericField.DisplayFormat property修改文本的显示方式.

由于您有一个TStringFIEld持有数字,您有两个选择:

>使用TNumericFIEld和displayFormat属性
>使用OnGetText事件并执行自己的字符串格式设置

编辑:

山姆用这种方法:

我实现了OnSetText和OnGetText事件处理程序.我已经有了编辑掩码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,9,13,4)]);

它工作正常.谢谢.

总结

以上是内存溢出为你收集整理的delphi – 我可以使用编辑掩码格式化输出吗? (不只是验证输入)全部内容,希望文章能够帮你解决delphi – 我可以使用编辑掩码格式化输出吗? (不只是验证输入)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1240342.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存