Difference between revisions of "TMaskEdit"
(Some more cMask_* values) |
(Sample EditMask files) |
||
Line 52: | Line 52: | ||
| cMask_NoLeadingBlanks || ! || Trim leading blanks, otherwise trim trailing blanks from the data | | cMask_NoLeadingBlanks || ! || Trim leading blanks, otherwise trim trailing blanks from the data | ||
|} | |} | ||
+ | |||
+ | == Sample EditMask files == | ||
+ | The property editor for TMaskEdit.EditMask supports the loading of sample files.<br> | ||
+ | Delphi sample editmask files (*.dem) were already supported for a long time and in Lazarus 4.0 support for Lazarus sample editmask files (*.lem) was added.<br> | ||
+ | The latter has a more relaxed syntax, where whitespace is non-significant (in other words: it will be ignored).<br> | ||
+ | For copyrigth reasons Lazarus does not distribute sample editmask files itself. | ||
+ | |||
+ | === Syntax of sample EditMask files === | ||
+ | Sample EditMask files are simple text files, where each line defines a sample editmask.<br> | ||
+ | Each line consists of 3 fields separated by a pipe symbol. In Delpi sample files (*.dem) each pipe symbol must be preceeded and followed by a space.<br> | ||
+ | Lines starting with <tt>//</tt> will be ignored. You can use this feature to add comments to your sample editmask file(s). | ||
+ | {|class="wikitable" | ||
+ | |- | ||
+ | | '''Fieldname''' || '''Meaning''' | ||
+ | |- | ||
+ | | Caption || The name of the sample editmask as displayed in the property editor | ||
+ | |- | ||
+ | | Example || Example text applied to the editmask* | ||
+ | |- | ||
+ | | EditMask || Sample editmask | ||
+ | |} | ||
+ | <nowiki>* </nowiki>When applying the example text, the sample editmask's MaskSave and SpaceChar fields will be ignored (and set to False and a space char (#32) respectively). This is done for Delphi compatibility.<br> | ||
+ | Conside the following line in a sample file:<br> | ||
+ | <tt>IPv4 value | 128255255032 | !999.999.999.999;1;_</tt><br> | ||
+ | This will show "IPv4 value" as caption and "128.255.255.032" as an example in the property editors listbox (without the quotes obviously). | ||
==See also== | ==See also== |
Revision as of 14:25, 3 February 2024
│
English (en) │
français (fr) │
русский (ru) │
A TMaskEdit is a control with a single line of editable text that has to fit to a predefined 'EditMask'. It is available from the Additional tab of the Component Palette.
The EditMask is formed with a pattern of characters with the following meaning:
cMask_SpecialChar | \ | after this you can set an arbitrary char |
cMask_UpperCase | > | after this the chars is in upper case |
cMask_LowerCase | < | after this the chars is in lower case |
cMask_Letter | l | only a letter but not necessary |
cMask_LetterFixed | L | only a letter |
cMask_AlphaNum | a | an alphanumeric char (['A'..'Z','a..'z','0'..'9']) but not necessary |
cMask_AlphaNumFixed | A | an alphanumeric char |
cMask_AllChars | c | any Utf8 char but not necessary |
cMask_AllCharsFixed | C | any Utf8 char, but NOT SpaceChar |
cMask_Number | 9 | only a number but not necessary |
cMask_NumberFixed | 0 | only a number |
cMask_NumberPlusMin | # | only a number or + or -, but not necessary |
cMask_HourSeparator | : | automatically put the hour separator char |
cMask_DateSeparator | / | automatically put the date separator char |
cMask_Hex | h | a hexadecimal character but not necessary (Lazarus extension, not supported by Delphi) |
cMask_HexFixed | H | a hexadecimal character (Lazarus extension, not supported by Delphi) |
cMask_Binary | b | a binary character but not necessary (Lazarus extension, not supported by Delphi) |
cMask_BinaryFixed | B | a binary character (Lazarus extension, not supported by Delphi) |
cMask_SetStart | [ | Start of a set (if EnableSets = True) (Lazarus extension, not supported by Delphi) |
cMask_SetEnd | ] | End of a set (if EnableSets = True) (Lazarus extension, not supported by Delphi) |
cMask_SetNegate | ! | Negates a set (if it is the first character inside the given set) (Lazarus extension, not supported by Delphi) |
cMask_SetOptional | | | Makes the set optional, so a blank is accepted (if it is the first character inside the given set, and the set is not negated) (Lazarus extension, not supported by Delphi) |
cMask_NoLeadingBlanks | ! | Trim leading blanks, otherwise trim trailing blanks from the data |
Sample EditMask files
The property editor for TMaskEdit.EditMask supports the loading of sample files.
Delphi sample editmask files (*.dem) were already supported for a long time and in Lazarus 4.0 support for Lazarus sample editmask files (*.lem) was added.
The latter has a more relaxed syntax, where whitespace is non-significant (in other words: it will be ignored).
For copyrigth reasons Lazarus does not distribute sample editmask files itself.
Syntax of sample EditMask files
Sample EditMask files are simple text files, where each line defines a sample editmask.
Each line consists of 3 fields separated by a pipe symbol. In Delpi sample files (*.dem) each pipe symbol must be preceeded and followed by a space.
Lines starting with // will be ignored. You can use this feature to add comments to your sample editmask file(s).
Fieldname | Meaning |
Caption | The name of the sample editmask as displayed in the property editor |
Example | Example text applied to the editmask* |
EditMask | Sample editmask |
* When applying the example text, the sample editmask's MaskSave and SpaceChar fields will be ignored (and set to False and a space char (#32) respectively). This is done for Delphi compatibility.
Conside the following line in a sample file:
IPv4 value | 128255255032 | !999.999.999.999;1;_
This will show "IPv4 value" as caption and "128.255.255.032" as an example in the property editors listbox (without the quotes obviously).
See also
- TMaskEdit doc
- TEdit - A basic field
- TLabeledEdit - An edit field like a TEdit with a label
- TSpinEdit - An edit field for integers defined numbers range limits
- TFloatSpinEdit - An edit field for tiles floating-point numbers with defined numbers range limits
- TEditButton - An edit field like a TEdit with an attached button as a TSpeedBtn
- TFileNameEdit - An edit field with attached TOpenDialog, to enter a file name
- TDirectoryEdit - An edit field with attached TSelectDirectoryDialog, to enter a file path
- TDateEdit - An edit field with attached TCalendarDialog (calendar), to enter a date
- TCalcEdit - An input field with attached TCalculatorDialog (Calculator), to enter a number
- TTIEdit - An RTTI capable input field