ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / Developing an application or website / Controls, windows and pages / Input and display masks
  • Overview
  • Reminder
  • Default input and display mask
  • In a window or page
  • In a report
  • Custom input masks
  • Examples
  • Remarks
  • Currency controls
  • Differences between the Numeric type and the Currency type
  • Currency + Euro control
  • Remarks
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Overview

Reminder

WINDEV, WINDEV Mobile and WEBDEV propose two types of masks:
  • the input masks that define the characters that can be typed in the controls found in a window or in a page. Sometimes, these masks can also be used to modify the case (uppercase/lowercase characters) of the values assigned to the window controls or to the page controls through programming.
  • the display masks that define the characters that can be printed in the controls found in a report.
Default input and display mask

In a window or page

By default, the input mask corresponds to the one defined for the project: the details defined in the parameters for managing the numeric controls, the currencies, ... for the project are automatically taken into account.
Reminder: These parameters are defined for each language in the "Languages" tab of project description: on the "Project" tab, in the "Project" group, click "Description".
The default input masks are as follows:
  • Numeric defined by the project.
  • File size.
  • WINDEV Bitcoin.
  • WINDEV Scientific (exponential) notation.
  • Percentage.

In a report

By default, the input mask:
  • 999,999.99 is associated with Numeric controls.
  • +99,999,999.99 is associated with Currency controls.
  • +999,999.99 $ is associated with Currency + Euro controls.
Custom input masks
For the Numeric and Currency controls, the input/display masks are defined by the following characters:
  • '9': digit,
  • '.': dot,
  • ',': comma,
  • '+': plus sign (to allow the signed numbers),
  • '-': minus sign used at the end of string to display the negative numbers. To display the "-" sign at the end of string no matter whether the number is positive or negative, specify "--".
  • ' ': space,
  • '0': to the left of the mask, to automatically pad the number with zeros (to the left),
  • '%': percentage. The value displayed (assigned through programming for example) is multiplied by 100 and the % symbol is displayed.
    To display the % symbol without multiplying by 100, all you have to do is double the % symbol (for example: "99.99%%").
    Important: in the earlier version of WINDEV 9, WEBDEV 9 or WINDEV Mobile 9 (version 90028 or earlier), if you were using the % character in your input masks, this one is automatically doubled for compatibility reasons.
    Example:
    Mask 99.99%, value entered: 19.6, value displayed: 19,6%, valued handled through programming: 0,196.
    Mask 99.99%%, value entered: 19.6, value displayed: 19,6%, valued handled through programming: 19.6.
  • '()': brackets, to display negative numbers.
Advanced custom format: You also have the ability to define:
  • the format of positive numbers
  • the format of negative numbers
  • the value if 0
  • the value if NULL
The format of this type of input/display mask is as follows:
<Format of positive numbers>;<Format of negative numbers>;<Value if 0>;<Value if NULL>
You can specify a color using [<Color>] next to the desired mask. <Color> can correspond to:
  • one of the following constants: Red, Green, Blue, Black, White, Yellow, Orange
  • a hexadecimal value in "#BBGGRR" format.
Java The '-', '%','()' formats and the advanced custom format are not supported.
WINDEV Hexadecimal input mask
You also have the ability to use a hexadecimal input mask.
Several hexadecimal input masks are proposed:
  • 0xFF
  • 0xFFFF
  • 0xFFFFFFFF
  • 0xFFFFFFFFFFFFFFFF
In this case, the control allows you to enter a hexadecimal value ([0-9a-fA-F]) on n characters where n corresponds to the number of F in the mask.
WINDEVWindowsUser code (UMC)

Examples

  • The '09.999, 99' mask will return a result in the following format '02.458.35'.
  • Use the "999 999,000" mask to display "0" in an empty control instead of "0,0000".
  • The '999 999-' mask will return a result in the following format '1 234-'.
  • The '(999 999)' mask will display "(1 234)" and "1 234".
  • The '999 999;-999 999[Red];0;<NULL>' mask displays '-1 234' in red.
WINDEVWindowsUser code (UMC)

Remarks

  • The display masks take into account the decimal separator, the thousand separator and the currency symbol defined for the language (in the Windows parameters). In programming, regardless of the current language:
    • the space (' ') is replaced with the thousand separator
    • the comma (',') is replaced with the decimal separator
    • the dollar ("$") is replaced by the currency symbol ($$ allows you to avoid this substitution).
  • Using 0 in the input mask:
    • If you want to pad the number with zeros on the left, use "0" on the left of the mask. For example, using the '099,999.99' mask on '23.50' will show '023.5'.
    • If you want to pad the decimal part of the number to with zeros, use "9" to the right of the decimal point. For example, using the '9999.000' mask on '12' will show '12.00'. The same mask used on '12,368' will show '12,368' (the value is not rounded).
Currency controls

Differences between the Numeric type and the Currency type

The masks proposed for the Currency controls have the same type as the numeric masks. 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.

Currency + Euro control

The dollar character ("$") can be added into the mask to display:
  • the '' symbol if the current currency is the Euro.
  • the caption of the currency (defined in the exchange table by eInitCurrency) if the currency differs from the Euro.
For example: The '999,99 $' mask will display '250,25 ' if the current currency is the Euro and '250,25 GBP' if the current currency is the Pound Sterling.
Remark: "$$" allows you to force the use of the symbol $.
Java If the currency is displayed in the mask, the currency used will be the one selected in the linguistic options of Windows for the runtime computer.

Remarks

  • The "++++" value will be displayed in the control if the following conditions are fulfilled:
    • assignment through programming.
    • number of digits in the integer part greater than the number of digits in the integer part of the mask.
    For example, if the mask is '99.999' and if the value assigned through programming is '123456', the value "++++" will be displayed in the control.
  • The decimal part will be rounded if the following conditions are fulfilled:
    • assignment through programming.
    • number of digits in the decimal part greater than the number of digits in the decimal part of the mask.
    For example, if the mask is '99.999,99' and if the value assigned through programming is '12345,159', the value "12345,16" will be displayed in the control.
Related Examples:
Advanced input mask Unit examples (WINDEV): Advanced input mask
[ + ] Handling the input masks in WINDEV:
- Defining the format of positive/negative number in a numeric edit control
- Defining how negative numbers will be displayed in a numeric edit control
- Defining how the value 0 will be displayed in a numeric edit control
- Using a regular expression to prevent from typing characters other than 1, 2, 3, 4, 5 and 6.
- Using a regular expression to "regulate" the input of a French registration number
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 07/03/2023

Send a report | Local help