delphi – Can I use an Edit Mask to format output? (not just validate input) – Stack Overflow
Posted by jpluimers on 2020/10/27
From a while ago, and – being on the back-end side mostly – I sometimes forget: [WayBack] delphi – Can I use an Edit Mask to format output? (not just validate input) – Stack Overflow
You can use the TField.OnGetText event or TNumericField.DisplayFormat property to modify how the text is being displayed.
Since you have a TStringField holding numbers, you have two choices:
- use a
TNumericField
and theDisplayFormat
property- use the
OnGetText
event and do your own string formattingEdit:
Sam used this approach:
I implemented
OnSetText
andOnGetText
event handlers. I already had theEdit Mask
9999 9999 9999 9999;1;_
so theOnSetText
was justTStringField(Sender).Value := Trim(Text);
and
OnGetText
was justsValue := 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)]);
It works fine. Thanks.
–jeroen
Leave a comment