IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Masque de saisie : récupérer la valeur brute (sans caractère statique/décoratif)


Sujet :

WinDev

  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    927
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 927
    Points : 2 113
    Points
    2 113
    Par défaut Masque de saisie : récupérer la valeur brute (sans caractère statique/décoratif)
    Bonjour,

    On a un champ avec le masque de saisie "999-9999999-99", où les tirets sont décoratifs. En base de données, on stock la valeur brute (sans tirets, donc tout ce qui est identifié par un "caractère dynamique" :
    • "9" : Chiffre isolé
    • "C" : Chiffre ou espace
    • "L" (la lettre L en majuscule) : Lettre majuscule
    • "l" (la lettre L en minuscule) : Lettre minuscule
    • "A" : Caractère alphanumérique majuscule
    • "a" : Caractère alphanumérique minuscule
    • "?" : Tout caractère
    ).

    Dans l'aide de Windev, ça parle de la propriété ..ValeurAffichée pour récupérer la valeur telle qu'elle est affichée, mais apparemment il n'y a rien de prévu pour récupérer la valeur brute.

    Avez-vous une solution pour récupérer cette valeur brute ? Le masque d'affichage ne semble pas être la solution, et aucune des propriétés du champ ne renvoie la valeur "brute" (Valeur, champ seul (SAI_MonChamp), Texte, ...).


    Pour le moment, on crée, pour chaque champ utilisant un masque de saisie, une procédure locale à la fenêtre qui doit être utilisée pour l'accès à la valeur du champ :
    - CHAMP_RécupèreMonChamp : enlève les caractères décoratifs
    - CHAMP_DéfinitMonChamp : remplit le champ en ajoutant les caractères décoratifs (le masque de saisie n'est pas appliqué quand on modifie la valeur par programmation).


    Si vous avez une meilleur solution, je suis preneur.

    Merci d'avance
    "If you can't teach it then you don't know it."

  2. #2
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Bonjour

    Il n'y a pas de notion de masque d'affichage pour les champs de type texte, il n'y a que le masque de saisie

    Et ce qui est formaté par le masque de saisie est enregistré tel quel

    Pour les champs numériques on a 2 masques : saisie et affichage, on peut donc avoir des valeurs différentes en utilisant ..ValeurAffichée et ..Valeur (qui est la valeur stockée)

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    927
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 927
    Points : 2 113
    Points
    2 113
    Par défaut
    Merci.

    Bon, effectivement il faut un champ numérique, ce qui pourrait me convenir. Mais je préfère ma solution fastidieuse et dangereuse (si on oublie de passer par les fonctions modifiant les valeurs) parce que le masque de saisie ne fonctionne pas dans mon cas. Du coup, pendant la frappe il n'y a pas de masque (affichage brut).


    Et, ça ne me concerne pas mais je note que la propriété ValeurAffichée renvoie toujours la valeur brut. Ah les joies de Windev^^
    "If you can't teach it then you don't know it."

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 441
    Points
    2 441
    Par défaut
    Citation Envoyé par goomazio Voir le message

    Pour le moment, on crée, pour chaque champ utilisant un masque de saisie, une procédure locale à la fenêtre qui doit être utilisée pour l'accès à la valeur du champ :
    - CHAMP_RécupèreMonChamp : enlève les caractères décoratifs
    - CHAMP_DéfinitMonChamp : remplit le champ en ajoutant les caractères décoratifs (le masque de saisie n'est pas appliqué quand on modifie la valeur par programmation).
    Bonjour,

    Si vous vous en tenez effectivement à cette solution, vous pourriez vous faciliter la vie en recourant à des modèles de champ spécifiques et à une procédure globale.

    Hemgé

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    927
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 927
    Points : 2 113
    Points
    2 113
    Par défaut
    C'est à ça que je pensais (redéfinir la fonction qui renvoie la valeur) mais j'avais pas pensé aux modèles de champ.

    Merci.
    "If you can't teach it then you don't know it."

Discussions similaires

  1. Réponses: 6
    Dernier message: 19/04/2008, 14h03
  2. Réponses: 4
    Dernier message: 13/09/2006, 16h02
  3. numero special sans masque de saisie
    Par escobar dans le forum Access
    Réponses: 3
    Dernier message: 26/07/2006, 12h11
  4. JSP:Récupérer la valeur d'1 champ sans valider
    Par ze veritable farf dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 13/04/2006, 10h37
  5. Réponses: 2
    Dernier message: 11/12/2004, 21h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo