PC SOFT

WINDEVWEBDEV AND WINDEV MOBILE
ONLINE HELP

Home | Sign in | English UK

  • Numeric controls (except for the currency controls)
  • Currency controls
  • Currency + Euro controls
  • Date controls
  • Time controls
  • DateTime controls
  • Duration controls
  • Type of display mask
  • Regular expressions in the display masks
  • Limits
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
..DisplayMask is used to:
  • Find out the display mask.
  • Modify the display mask.
This display mask is displayed when the control is in read-only or when the control does not have focus.
..DisplayMask applies to:
  • the Numeric, Currency, Date, Time and Duration edit controls.
  • the Numeric, Currency, Date, Time and Duration columns of a Table control.
  • Windows to editable or non-editable Combo Box controls.
  • Windows columns of a Table control displayed by Combo Box controls.
Example
EDT_DATE..InputMask = "DD/MM/YYYY"
EDT_DATE..DisplayMask = "DDD, D MMMM YYY"  // ex: "Tuesday, 3 March 2011"
Windows
// Modify the mask of a column in a Table control displayed by a Combo Box
COMBO_TableInput.COL_DateCol..DisplayMask = "DDD, the D MMMM YYY"
Syntax

Finding out the display mask of a control Hide the details

<Result> = <Control name>..DisplayMask
<Result>: Constant or character string
Display mask of the specified control. The display mask depends on the type of control. See the remarks for more details.
<Control name>: Character string (with or without quotes)
Name of control to use.

Modifying the display mask of a control Hide the details

<Control name>..DisplayMask = <New display mask>
<Control name>: Character string (with or without quotes)
Name of control to use.
<New display mask>: Constant or character string
New display mask for the specified control. The display mask depends on the type of control. For more details, see the remarks.
If this parameter corresponds to an empty string (""), the display mask will be identical to the input mask defined for the control.
Remarks

Numeric controls (except for the currency controls)

Three types of masks are available:
  1. Preset display masks
  2. Custom display masks
  3. Special custom display masks
1. Preset display masks
maskFileSizeNumeric mask for the file and disk sizes.
maskSystemNumeralNumeric mask used by the system. Corresponds to the mask selected in the system regional settings ("Regional options" in the control panel).
Example:
EDT_Edit1..DisplayMask = maskFileSize
EDT_Edit1 = 5681234        // Displays 5,68 MB
The change of unit (from KB to MB for example) is performed for each multiple of 1024. Therefore, the mask may display 1003 KB.
2. Custom display masks
The display masks are defined using the following characters: "9", ".", ",", "+" and "-", "$" and space characters.
For example: "99.999,99".
The display masks take into account the decimal separator, the thousand separator and the currency symbol defined for the language.
In programming (regardless of the language):
  • " " (space) is replaced by the thousand separator
  • "," (comma) is replaced by the decimal separator
  • "$" is replaced by the currency symbol (write "$$" to avoid this substitution)
3. Special custom display masks
  • Using the % symbol:
    The value assigned by programming to the control is multiplied by 100 and the "%" symbol is displayed.
    You can write "%%" to display the % character without multiplying the value by 100.
    Example: Assigning the control by programming
    EDT_Edit1..DisplayMask = "999,9%"
    EDT_Edit1 = 0.562 // Displays 56,2 %

    EDT_Edit1..DisplayMask = "999,9%%"
    EDT_Edit1 = 0.562 // Displays 0,6 %
  • Using brackets: displaying the negative numbers.
    Example:
    EDT_Edit1..DisplayMask = "(999 999)"
    EDT_Edit1 = -1234      // Displays (1 234)
    EDT_Edit1 = 1234       // Displays 1 234
  • Using the - sign at the end of string: displaying negative numbers (ability to write "--" to display the - sign at the end of string)
    Example:
    EDT_Edit1..DisplayMask = "999 999 -"
    EDT_Edit1 = -1234      // Displays 1 234-
  • Multiple display mask: display mask used to define the format of positive numbers, the format of negative numbers, the value if 0 is used, the value if NULL is used. The following syntax is used:
    <Format of positive numbers>;<Format of negative numbers>;<Value if 0>;<Value if NULL>
    Example:
    EDT_Edit1..DisplayMask = "999 999;-999 999;0;<NULL>"
    EDT_Edit1 = -1234      // Displays - 1 234

    Remark: You have the ability to specify a color by using [<Color>] beside the requested mask. <Color> can correspond to:
    • one of the following constants: Red, Green, Blue, Black, White, Yellow, Orange
    • an hexadecimal value in "#BBGGRR" format.
    Example:
    EDT_Edit1..DisplayMask = "999 999;-999 999[Red];0;<NULL>"
    EDT_Edit1 = -1234      // Displays - 1 234 in red

    EDT_Edit1..DisplayMask = "999 999;-999 999[#FF0000];0;<NULL>"
    EDT_Edit1 = -1234      // Displays - 1 234 in blue

    Remark: The color specified in the display mask has priority over ..Color. It is ignored if the control is grayed.
Remarks:
  • If you want the number to be filled with zeros on the left, use the "0" character on the left of the mask. For example: "099.999,99".
  • If you want the decimal part of the number to be filled with zeros, use the character "9" on the right of the decimal point. For example, when using the "9999,99000" mask, the number 12 is displayed as "12,00" and not as "12,00000".
    However, the number "12,368" is displayed properly: its value is preserved, without being truncated or rounded.
  • To force the signs, use the "+" character on the left. For example: "+9999"

Currency controls

The display masks and the numeric masks have the same type. The difference is found in the precision: the currencies have 17 significant digits for the integer part and up to 6 digits for the decimal part.
For example: "99 999 999 999 999 999,999999".
Remark: A preset mask can also be used for the Currency controls:
maskSystemCurrencyCurrency mask used by the system. Corresponds to the mask selected in the system regional settings ("Regional options" in the control panel).

Currency + Euro controls

The display masks and the currency masks have the same type. The dollar character ("$") can be added into the mask to display the current currency.
For example: "999,99 $" will display "250,25 E" if the current currency is the Euro.

Date controls

The display masks for the Date controls are:
  • a custom mask:
    • "DD/MM/YYYY"
    • "DD/MM/YY"
    • "DDD DD"
    • "MM/DD/YYYY"
    • "MM/DD/YY"
    • "YYYY/MM/DD"
    • "YY/MM/DD"
    • "DD/MM/YYYY HH:MM:SS"
    • "MM/DD/YYYY HH:mm:SS"
    • "DD/MM/YYYY HH:mm:SS:CCC"
    • "MM/DD/YYYY HH:mm:SS:CCC"
    • "DDDD DD MMMM YYYY"
    • "Dddd DD Mmmm YYYY"
    • "Dddd DD Mmm YYYY"
A custom mask can be built from the following elements:
  • "DD" (corresponding to the day of the week in digits, for example: 12)
  • "DDDD" (corresponding day of the week, "Thursday" for example). The case used depends on the linguistic options of project.
  • "Dddd" (corresponding to the day of the week with the first letter in uppercase, for example: Monday)
  • "dddd" (corresponding to the day of the week with the first letter in lowercase, for example: monday)
  • "DDD" (abbreviation for the day of the week, "Thu" for example). The case used depends on the linguistic options of project.
  • "Ddd" (abbreviation for the day of the week with the first letter in uppercase, for example: Mon)
  • "ddd" (abbreviation for the day of the week with the first letter in lowercase, for example: Mon)
  • "MM" (month in digits, for example: 12)
  • "MMMM" (month spelled out, "January" for example). The case used depends on the linguistic options of project.
  • "Mmmm" (month spelled out with the first letter in uppercase, for example: January)
  • "mmmm" (month spelled out with the first letter in lowercase, for example: January)
  • "MMM" (abbreviation of the month, "Jan" for example). The case used depends on the linguistic options of project.
  • "Mmm" (abbreviation of the month with the first letter in uppercase, for example: Jan)
  • "mmm" (abbreviation of the month with the first letter in lowercase, for example: jan)
  • "YYYY" (year on four digits, "2001" for example)
  • "YY" (last two digits of the year, "01" for example)
  • a constant corresponding to a preset mask:
    Versions 18 and later
    maskDateRelativeDuration
    New in version 18
    maskDateRelativeDuration
    maskDateRelativeDuration
    Mask used to express the duration passed (or the future duration) between the date of the day and the specified date. This mask is expressed in natural language. The different formulations used can be configured in the project description for the current language:
    1. On the "Project" pane, in the "Project" group, click "Description".
    2. In the "Languages" tab:
      • select the language to configure.
      • select the "Date" tab.
    3. Click the "Dates and Times in natural language" button.
    4. Define (if necessary) the custom captions to use. These captions will be used:
      • for the result of DateToString.
      • for the controls that use the "Relative duration" display mask.
    Versions 16 and later
    maskEmailDate
    New in version 16
    maskEmailDate
    maskEmailDate
    The format used corresponds to the date format of the RFC-5322 standard used to encrypt an email, a RSS stream, ...
    The result is expressed in the local time zone.
    Versions 25 and later
    maskDateEmailUTC
    New in version 25
    maskDateEmailUTC
    maskDateEmailUTC
    The format used corresponds to the date format of the RFC-5322 standard used to encrypt an email, a RSS stream, ...
    The result is expressed in universal time (UTC).
    Versions 25 and later
    maskDateInternet
    New in version 25
    maskDateInternet
    maskDateInternet
    The format used corresponds to the RFC-3339 standard used for international communications.
    The result is expressed in the local time zone.
    Versions 25 and later
    maskDateInternetUTC
    New in version 25
    maskDateInternetUTC
    maskDateInternetUTC
    The format used corresponds to the RFC-3339 standard used for international communications.
    The result is expressed in universal time (UTC).
    maskSystemDateSystem mask, defined in the project description for the current language ("Project .. Project description", "Languages" tab).
    System mask defined in the project description for the current language:
    1. On the "Project" pane, in the "Project" group, click "Description".
    2. Select the "Languages" tab then the "Date" tab.
    3. The format used corresponds to:
      • the parameters of the operating system,
      • the specified parameters (with the defined days and months).
These masks can be combined. For example: "Ddd DD Mmmm YYYY at HH:mm" will return a result in the following format: "Thu 01 February 1979 at 21:35".

Time controls

The display masks for the Time controls are:
  • "HH:MM"
  • "HH h MM"
  • "HH:MM:SS"
  • "HH:MM:SS AM": Used to manage the time in AM/PM format.
  • "HH:MM:SS:CC"
  • The preset mask corresponds to the system time. The system time depends on the mask selected in the regional system setings ("Regional options" in the control panel).
    maskSystemTimeMask used by the system for the time.

DateTime controls

To specify a DateTime display mask, you must:
  1. Change the type of the control (or table column) to Date ("Details" tab of description window of the control or column).
  2. Modify the display mask of this control or column ("Details" tab in the description window of the control or column, or ..DisplayMask).

Duration controls

The following elements can be used to define a custom mask (case sensitive). To present the custom masks, let's take a duration equal to 0 day 04 hours 15 minutes 03 seconds and 412 thousandths of a second:
  • +1: only the most significant unit will be displayed (the number of hours in our example).
  • +2: only the two most significant units will be displayed (the number of hours and the number of minutes in our example).
    Specify '+3' or '+4' to display the three or four most significant units.
  • D: the number of days will be displayed if this number is greater than 0 (the number of days will not be displayed in our example).
  • H: the number of hours will be displayed if this number (or if the number of days) is greater than 0. If this number contains a single digit, this digit will be displayed (the number of hours will be '4' in our example).
  • HH: the number of hours will be displayed if this number (or if the number of days) is greater than 0. If this number contains a single digit, this digit will be preceded by '0' (the number of hours will be '04' in our example).
  • M: the number of minutes will be displayed if this number (or the number of days, or the number of hours) is greater than 0. If this number contains a single digit, this digit will be displayed (the number of minutes will be '15' in our example).
  • MM: the number of minutes will be displayed if this number (or the number of days, or the number of hours) is greater than 0. If this number contains a single digit, this digit will be preceded by '0' (the number of minutes will be '15' in our example).
  • S: the number of seconds will be displayed if this number (or if the number of days, or the number of hours, or the number of minutes) is greater than 0. If this number contains a single digit, this digit will be displayed (the number of seconds will be '3' in our example).
  • SS: the number of seconds will be displayed if this number (or if the number of days, or the number of hours, or the number of minutes) is greater than 0. If this number contains a single digit, this digit will be preceded by '0' (the number of seconds will be '03' in our example).
  • CC: the number of hundredths of second will be displayed (the number of hundredths of second will be '41' in our example).
  • CCC: the number of thousandths of second will be displayed (the number of thousandths of second will be '412' in our example).
Remarks:
  • If the separator corresponds to the ":" character, the letter corresponding to the most significant unit will be added ('h' for hour, 'm' for minute, 's' for second, 'cs' for hundredths of a second and 'ms' for thousands of a second).
  • To display a duration in an edit control in hours/minutes format (instead of days/hours/minutes), you must define a mask such as: "+5 HHhMMm", where "+5" indicates the number of digits to display for the hours.

Type of display mask

A mask can be replaced by a mask of the same type. For example, the display mask of a DATE control cannot be replaced by the display mask of a TIME control.
Assigning an incorrect display mask will trigger an error message.

Regular expressions in the display masks

The regular expressions used in this property must not be the ones used in MatchRegularExpression.
In the display masks, the regular expressions are used to prevent from typing some specific characters or a sequence of characters.
In MatchRegularExpression, the regular expressions are used to check whether a string complies with a format.
Example: Checking whether the T1 string contains a letter and a digit:
  • with MatchRegularExpression: the regular expression used is [A-Za-z][0-9]
  • with ..DisplayMask: the regular expression is [A-Za-z]{0,1}[0-9]{0,1}

Limits

In a window, ..DisplayMask only applies to:
  • Numeric, Currency, Date, Time and Duration edit controls,
  • Numeric, Currency, Date, Time and Duration columns of a Table control,
  • groups of edit controls,
  • Windows editable or non-editable Combo Box controls.
  • Windows columns of a Table control displayed by Combo Box controls.
Minimum version required
  • Version 17
This page is also available for…
Comments
Click [Add] to post a comment