DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Propriétés WLangage / Propriétés des fenêtres, des pages et de leurs champs
  • Champs de type Numérique (non monétaires)
  • Champs de type Monétaire
  • Champs de type Monétaire + Euro
  • Champs de type Date
  • Champs de type Heure
  • Champs de type DateHeure
  • Champs de type Durée
  • Champs de type Texte sous l'éditeur d'états
  • Type de masque de saisie
  • Expressions régulières dans les masques de saisie
  • Limites
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
La propriété MasqueSaisie permet de :
  • connaître le masque de saisie.
  • modifier le masque de saisie (parmi les masques disponibles pour le type).
La propriété MasqueSaisie s'applique à tous les champs permettant une saisie ou affichant un texte :
  • un champ de saisie.
  • un groupe de champs de saisie.
  • un champ Combo avec saisie.
  • une colonne d'un champ Table,
  • une cellule d'un champ Table,
  • une jauge,
  • un libellé formaté.
La propriété MasqueSaisie s'applique également dans les états pour les champs Calculé ou les champs Libellé.
Remarque : Le masque de saisie d'un champ est défini sous l'éditeur de fenêtres ou d'états, dans l'onglet "Général" de la description du champ.
Masque de saisie
Pour plus de détails sur les différents masques de saisie disponibles et leurs caractéristiques, consultez Masque de saisie.
Exemple
// Modifier le masque du champ "SAI_NomClient"
SAI_NomClient.MasqueSaisie = maskMajus
// Modifier le masque de la 1ère ligne de la table pour la colonne COL_Prix
TABLE_Table1.COL_Prix[1].MasqueSaisie = "9999,99"
// La valeur affichée tient compte du masque
Info(TABLE_Table1.COL_Prix[1].ValeurAffichée)
Syntaxe

Connaître le masque de saisie d'un champ Masquer les détails

<Résultat> = <Champ manipulé>.MasqueSaisie
<Résultat> : Constante ou chaîne de caractères
Masque de saisie du champ spécifié. Le masque de saisie dépend du type du champ. Pour plus de détails, consultez les remarques.
<Champ manipulé> : Nom de champ
Nom du champ à manipuler.

Modifier le masque de saisie d'un champ Masquer les détails

<Champ manipulé>.MasqueSaisie = <Nouveau masque de saisie>
<Champ manipulé> : Nom de champ
Nom du champ à manipuler.
<Nouveau masque de saisie> : Constante, chaîne de caractères ou variable de type MasqueDeSaisie
Nouveau masque de saisie du champ spécifié. Ce masque peut correspondre à :
  • Une chaîne de caractères ou une constante, précisant le masque à utiliser.
    Le masque de saisie dépend du type du champ. Pour plus de détails, consultez les remarques.
Remarques

Champs de type Numérique (non monétaires)

1. Masques de saisie prédéfinis
maskBitcoinMasque numérique utilisé pour manipuler les Bitcoins. Le sigle correspondant au Bitcoin est affiché.
maskNombreSystèmeMasque numérique utilisé par le système.
Correspond au masque sélectionné dans les paramètres régionaux système ("Options régionales" dans le panneau de configuration).
maskScientifiqueMasque numérique permettant d'utiliser la notation scientifique.
maskTailleFichierMasque numérique pour les tailles de fichier et de disque.
Remarque : Le changement d'unité (exemple passage de Ko à Mo) est réalisé à chaque multiple de 1024. Il est donc possible que le masque affiche 1003 Ko.

Exemples :
// Masque Taille de fichier
SAI_Saisie1.MasqueSaisie = maskTailleFichier
SAI_Saisie1 = 5681234 // Affiche 5,68 Mo
// Masque Bitcoin
SAI_Saisie2.MasqueSaisie = maskBitcoin
SAI_Saisie2 = 5681234 // Affiche 0,05 681 234 B
// Masque Scientifique
SAI_Saisie3.MasqueSaisie = maskScientifique
SAI_Saisie3 = 5681234 // Affiche 5,681234E+06
2. Masques de saisie personnalisés
Les masques de saisie se définissent à l'aide des caractères : "9", ".", ",", "+" et "-", "$" et espaces. Par exemple : "99.999,99".
En affichage, les masques tiennent compte en affichage des séparateurs décimaux, de milliers et du symbole défini par la langue.
En programmation (quelque soit la langue) :
  • " " (espace) est remplacé par le séparateur de milliers.
  • "," (virgule) est remplacé par le séparateur décimal.
  • "$" est remplacé par le symbole monétaire (il est possible d'écrire "$$" pour ne pas avoir cette substitution).
3. Masques de saisie personnalisés spécifiques
  • Utilisation du pourcentage % :
    Attention : Jusqu'à la version 90028, la valeur affectée au champ par programmation était affichée telle quelle, suivie du caractère %.
    Depuis la version 90033, la valeur affectée par programmation au champ est multipliée par 100 et le caractère "%" est affiché. Pour retrouver le fonctionnement des versions précédentes, il est possible d'écrire "%%" pour afficher le caractère % sans multiplier la valeur par 100.
    Exemple :
    • Affectation du champ par programmation :
      SAI_Saisie1.MasqueSaisie = "999,9%"
      SAI_Saisie1 = 0.562 // Affiche 56,2 %
       
      SAI_Saisie1.MasqueSaisie = "999,9%%"
      SAI_Saisie1 = 0.562 // Affiche 0,562 %
    • Saisie dans le champ par l'utilisateur :
      • Masque 99.99%, valeur saisie : 19.6, valeur affichée : 19,6%, valeur manipulée par programmation : 0,196.
      • Masque 99.99%%, valeur saisie : 19.6, valeur affichée : 19,6%, valeur manipulée par programmation : 19.6.
  • Utilisation des parenthèses : affichage des nombres négatifs.
    Exemple :
    SAI_Saisie1.MasqueSaisie = "(999 999)"
    SAI_Saisie1 = -1234      // Affiche (1 234)
    SAI_Saisie1 = 1234       // Affiche 1 234
  • Utilisation du signe - en fin de chaîne : affichage des nombres négatifs (il est possible d'écrire "--" pour afficher le signe - en fin de chaîne).
    Exemple :
    SAI_Saisie1.MasqueSaisie = "999 999 -"
    SAI_Saisie1 = -1234      // Affiche 1 234-
  • Masque de saisie multiple : masque de saisie permettant de définir le format des positifs, le format des négatifs, la valeur si 0 est utilisée, la valeur si NULL est utilisée. La syntaxe utilisée est la suivante :
    <Format des positifs>;<Format des négatifs>;<Valeur si 0>;<Valeur si NULL>

    Exemple :
    SAI_Saisie1.MasqueSaisie = "999 999;-999 999;0;<NULL>"
    SAI_Saisie1 = -1234      // Affiche - 1 234

    Remarque : Il est possible de spécifier une couleur en utilisant [<Couleur>] à côté du masque voulu. <Couleur> peut correspondre :
    • à une des constantes suivantes : Rouge, Vert, Bleu, Noir, Blanc, Jaune, Orange.
    • à une valeur hexadécimale en utilisant le format "#BBVVRR".
      Exemple :
      SAI_Saisie1.MasqueSaisie = "999 999;-999 999[Rouge];0;<NULL>"
      SAI_Saisie1 = -1234      // Affiche - 1 234 en rouge
       
      SAI_Saisie1.MasqueSaisie = "999 999;-999 999[ #FF0000];0;<NULL>"
      SAI_Saisie1 = -1234      // Affiche - 1 234 en bleu

      Note : La couleur spécifiée dans le masque de saisie est prioritaire sur la propriété Couleur. Elle est ignorée si le champ est grisé.
Remarques :
  • Utilisation du 0 dans le masque de saisie :
    • Pour que le nombre saisi soit complété à gauche par des zéros, utilisez le caractère "0" à gauche du masque. Par exemple :
      SAI_Saisie1.MasqueSaisie = "099.999,99"
      SAI_Saisie1 = 23,50 // Affichera 023,5
    • Pour que la partie décimale du nombre saisi soit complétée par des zéros, utilisez le caractère "9" placé à droite de la virgule. Par exemple :
      SAI_Saisie1.MasqueSaisie = "9999,000"
      SAI_Saisie1 = 12 // Affichera 12,00
      SAI_Saisie1 = 12,368 // Affichera 12,368 (la valeur n'est pas arrondie)
  • Pour forcer les signes, utilisez le caractère "+" à gauche. Par exemple : "+9999".

Champs de type Monétaire

Les masques de saisie sont du même type que les masques numériques. La différence se situe dans la précision : les monétaires ont 17 chiffres significatifs pour la partie entière et 6 décimales maximum.
Par exemple : "99 999 999 999 999 999,999999".
Remarque : Un masque prédéfini peut également être utilisé pour les champs de type Monétaire :
maskMonétaireSystèmeMasque monétaire utilisé par le système. Correspond au masque sélectionné dans les paramètres régionaux système ("Options régionales" dans le panneau de configuration).

Champs de type Monétaire + Euro

Les masques de saisie sont du même type que les masques monétaires. Il est possible d'ajouter le caractère dollar ("$") dans le masque pour afficher la devise en cours.
Par exemple : "999,99 $" affichera "250,25 F" si la devise en cours est le franc.

Champs de type Date

Les masques de saisie pour les champs de type Date sont :
  • "JJ/MM/AAAA"
  • "JJ/MM/AA"
  • "JJJ JJ"
  • "MM/JJ/AAAA"
  • "MM/JJ/AA"
  • "AAAA/MM/JJ"
  • "AA/MM/JJ"
  • "JJ/MM/AAAA HH:mm:SS"
  • "MM/JJ/AAAA HH:mm:SS"
  • "JJ/MM/AAAA HH:mm:SS:CCC"
  • "MM/JJ/AAAA HH:mm:SS:CCC"
  • "JJJJ JJ MMMM AAAA"
  • "Jjjj JJ Mmmm AAAA"
  • "Jjjj JJ Mmm AAAA"
  • JJ (correspondant au jour de la semaine en chiffres, par exemple : 12)
  • "JJJJ" (jour correspondant de la semaine, par exemple "Jeudi"). La casse utilisée dépend des options linguistiques du projet.
  • "Jjjj" (correspondant au jour de la semaine avec la première lettre forcée en majuscule, par exemple : Lundi)
  • "jjjj" (correspondant au jour de la semaine avec la première lettre forcée en minuscule, par exemple : lundi)
  • "JJJ" (abréviation du jour de la semaine, par exemple "Jeu"). La casse utilisée dépend des options linguistiques du projet.
  • "Jjj" (abréviation du jour de la semaine avec la première lettre forcée en majuscule, par exemple : Lun)
  • "jjj" (abréviation du jour de la semaine avec la première lettre forcée en minuscule, par exemple : lun)
  • MM (mois en chiffres, par exemple : 12)
  • "MMMM" (mois en toutes lettres, par exemple "Janvier"). La casse utilisée dépend des options linguistiques du projet.
  • "Mmmm" (mois en toutes lettres avec la première lettre forcée en majuscule, par exemple : Janvier)
  • "mmmm" (mois en toutes lettre avec la première lettre forcée en minuscule, par exemple : janvier)
  • "MMM" (abréviation du mois, par exemple "Jan"). La casse utilisée dépend des options linguistiques du projet.
  • "Mmm" (abréviation du mois avec la première lettre forcée en majuscule, par exemple : Jan)
  • "mmm" (abréviation du mois avec la première lettre forcée en minuscule, par exemple : jan)
  • "AAAA" (l'année sur quatre chiffres, par exemple "2001")
  • "AA" (deux derniers chiffres de l'année, par exemple "01")
  • la date définie par le projet.
    La date définie par le projet dépend du format de date sélectionné dans les paramètres de la langue du projet :
    • sous le volet "Projet", dans le groupe "Projet", cliquez sur "Description".
    • affichez l'onglet "Langues", puis options linguistiques concernant la date.
Il est possible de combiner ces masques. Par exemple : "Le Jjj JJ Mmmm AAAA à HH:mm" donnera un résultat de la forme "Le Jeu 01 Février 1979 à 21:35".

Champs de type Heure

Les masques de saisie pour les champs de types heure sont :
  • "HH:MM".
  • "HH h MM".
  • "HH:MM:SS".
  • "HH:MM:SS AM" : Permet de gérer l'heure au format AM/PM.
  • "HH:MM:SS:CC".
  • le masque prédéfini correspondant à l'heure système. L'heure système dépend du masque sélectionné dans les paramètres régionaux système ("Options régionales" dans le panneau de configuration).
    maskHeureSystèmeMasque utilisé par le système pour l'heure.

Champs de type DateHeure

Pour spécifier un masque de saisie de type DateHeure, il est nécessaire de :
  1. Passer le type du champ (ou de la colonne de table) en type Date (onglet "Détail" de la fenêtre de description du champ ou de la colonne).
  2. Modifier le masque de saisie de ce champ ou de cette colonne (onglet "Détail" de la fenêtre de description du champ ou de la colonne, ou propriété MasqueSaisie).

Champs de type Durée

Les éléments suivants peuvent être utilisés pour définir un masque personnalisé (attention, il est nécessaire de respecter la casse). Pour présenter les masques personnalisés, nous allons prendre une durée égale à 0 jour 04 heures 15 minutes 03 secondes et 412 millièmes de seconde :
  • +1 : seule l'unité la plus significative sera affichée (dans notre exemple, seul le nombre d'heures sera affiché).
  • +2 : seules les deux unités les plus significatives seront affichées (dans notre exemple, seuls le nombre d'heures et le nombre de minutes seront affichés).
    Il est également possible de spécifier '+3' ou '+4' pour afficher uniquement les trois ou les quatre unités les plus significatives.
  • J : le nombre de jours sera affiché si ce nombre est supérieur à 0 (dans notre exemple, le nombre de jours ne sera pas affiché).
  • H : le nombre d'heures sera affiché si ce nombre ou le nombre de jours est supérieur à 0. Si ce nombre est composé d'un seul chiffre, seul ce chiffre sera affiché (dans notre exemple, le nombre d'heures sera '4').
  • HH : le nombre d'heures sera affiché si ce nombre ou le nombre de jours est supérieur à 0. Si ce nombre est composé d'un seul chiffre, ce chiffre sera précédé du chiffre '0' (dans notre exemple, le nombre d'heures sera '04').
  • M : le nombre de minutes sera affiché si ce nombre ou le nombre d'une durée supérieure (nombre de jours ou d'heures) est supérieur à 0. Si ce nombre est composé d'un seul chiffre, seul ce chiffre sera affiché (dans notre exemple, le nombre de minutes sera '15').
  • MM : le nombre de minutes sera affiché si ce nombre ou le nombre d'une durée supérieure (nombre de jours ou d'heures) est supérieur à 0. Si ce nombre est composé d'un seul chiffre, ce chiffre sera précédé du chiffre '0' (dans notre exemple, le nombre de minutes sera '15').
  • S : le nombre de secondes sera affiché si ce nombre ou le nombre d'une durée supérieure (nombre de jours, d'heures ou de minutes) est supérieur à 0. Si ce nombre est composé d'un seul chiffre, seul ce chiffre sera affiché (dans notre exemple, le nombre de secondes sera '3').
  • SS : le nombre de secondes sera affiché si ce nombre ou le nombre d'une durée supérieure (nombre de jours, d'heures ou de minutes) est supérieur à 0. Si ce nombre est composé d'un seul chiffre, ce chiffre sera précédé du chiffre '0' (dans notre exemple, le nombre de secondes sera '03').
  • CC : le nombre de centièmes de seconde sera affiché (dans notre exemple, le nombre de centièmes de seconde sera '41').
  • CCC : le nombre de millièmes de seconde sera affiché (dans notre exemple, le nombre de millièmes de seconde sera '412').
Remarque : Si le séparateur correspond au caractère ":", la lettre correspondant à l'unité la plus significative sera ajoutée (lettre 'h' pour heure, 'm' pour minute, 's' pour seconde, 'cs' pour centièmes de seconde et 'ms' pour millièmes de seconde).
Etats et Requêtes

Champs de type Texte sous l'éditeur d'états

Les masques définis sous l'éditeur d'états sont les suivants (onglet "Général" de la description du champ) :
maskMajusTout en majuscules.
maskMinusTout en minuscules.
maskPMajusPremière lettre en majuscule.

Type de masque de saisie

Attention : Le changement d'un masque peut se faire uniquement avec un masque de même type. Par exemple, il est impossible de remplacer le masque de saisie d'un champ de type DATE par un masque de saisie de type HEURE.
L'affectation d'un masque de saisie incorrect entraîne un message d'erreur.
Etats et Requêtes

Expressions régulières dans les masques de saisie

Les expressions régulières utilisées dans cette propriété ne doivent pas être celles utilisées dans la fonction VérifieExpressionRégulière.
Dans les masques de saisie, les expressions régulières permettent d'empêcher la saisie de certains caractères ou d'une séquence de caractères.
Dans la fonction VérifieExpressionRégulière, les expressions régulières permettent de vérifier si une chaîne est conforme à un format.
Exemple : Vérification que la chaîne T1 contient une lettre et un chiffre :
  • avec la fonction VérifieExpressionRégulière : l'expression régulière utilisée est [A-Za-z][0-9]
  • avec MasqueSaisie : l'expression régulière utilisée est [A-Za-z]{0,1}[0-9]{0,1}

Limites

Etats et Requêtes Dans un état, la propriété MasqueSaisie peut être utilisée uniquement sur :
  • un champ calculé,
  • un champ prédéfini,
  • un champ Libellé.
Liste des exemples associés :
Les expressions régulières Exemples unitaires (WINDEV) : Les expressions régulières
[ + ] Utilisation des expressions régulières avec WINDEV.
Deux types d'utilisation des expressions régulières sont présentés :
- vérification du format d'une saisie
- extraction des différents éléments respectant le format d'une saisie.
Cet exemple montre également comment rechercher un mot dans une chaîne, avec possiblité de ne pas prendre en compte la casse, le début ou la fin d'une chaîne, mais également de ne pas tenir compte des espaces (n'importe où dans la chaîne, y compris dans le mot recherché)
Masque de saisie avancé Exemples unitaires (WINDEV) : Masque de saisie avancé
[ + ] Manipulation des masques de saisie dans WINDEV :
- Définition du format des positifs/négatifs dans un champ de saisie numérique
- Définition de l'apparence des négatifs dans un champ de saisie numérique
- Définition de l'apparence de la valeur 0 dans un champ de saisie numérique
- Utilisation d'une expression régulière pour empêcher la saisie d'autres caractères que les chiffres 1, 2, 3, 4, 5 et 6.
- Utilisation d'une expression régulière pour "réguler" la saisie d'un numéro de plaque d'immatriculation français
Les expressions régulières Exemples unitaires (WINDEV Mobile) : Les expressions régulières
[ + ] Utilisation des expressions régulières avec WINDEV Mobile.
Il montre 2 types d'utilisation des expressions régulières :
- vérifier le format d'une saisie
- extraire les différents éléments respectant le format d'une saisie.
Cet exemple montre également comment rechercher un mot dans une chaîne, avec possiblité de ne pas prendre en compte la casse, le début ou la fin d'une chaîne, mais également de ne pas tenir compte des espaces (n'importe où dans la chaîne, y compris dans le mot recherché)
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 30/05/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale