Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Eric Demeester
dans (in) fr.comp.developpement.agl.windev, "Wanadoo" ecrivait (wrote) :
Bonjour,
je désire réaliser un masque de type : Tout caractère sauf l'apostrophe ( ' ) et point virgule ( ; )
Certains champs n'ont pas de limite de caractères car leurs contenu sera stocké dans un champ mémo
Moi, je ne mettrais aucun masque de saisie, mais avant d'enregistrer le contenu du champ, je l'analyserais et remplacerais les apostrophes et les point-virgules par des espaces.
Tu peux aussi inclure un truc de ce genre dans le code « à chaque modification du champ » :
Ch est une chaine = Droite(MON_CHAMP,1) Lg = Taille(MON_CHAMP)
SI Ch="," OU Ch=";" ALORS Erreur("Vous n'avez pas le droit d'entrer le caractère "+CH) MON_CHAMP=Gauche(MON_CHAMP,Lg-1) FIN
dans (in) fr.comp.developpement.agl.windev, "Wanadoo"
<tony.triolo@free.fr> ecrivait (wrote) :
Bonjour,
je désire réaliser un masque de type : Tout caractère sauf l'apostrophe (
' ) et point virgule ( ; )
Certains champs n'ont pas de limite de caractères car leurs contenu sera
stocké dans un champ mémo
Moi, je ne mettrais aucun masque de saisie, mais avant d'enregistrer le
contenu du champ, je l'analyserais et remplacerais les apostrophes et
les point-virgules par des espaces.
Tu peux aussi inclure un truc de ce genre dans le code « à chaque
modification du champ » :
Ch est une chaine = Droite(MON_CHAMP,1)
Lg = Taille(MON_CHAMP)
SI Ch="," OU Ch=";" ALORS
Erreur("Vous n'avez pas le droit d'entrer le caractère "+CH)
MON_CHAMP=Gauche(MON_CHAMP,Lg-1)
FIN
dans (in) fr.comp.developpement.agl.windev, "Wanadoo" ecrivait (wrote) :
Bonjour,
je désire réaliser un masque de type : Tout caractère sauf l'apostrophe ( ' ) et point virgule ( ; )
Certains champs n'ont pas de limite de caractères car leurs contenu sera stocké dans un champ mémo
Moi, je ne mettrais aucun masque de saisie, mais avant d'enregistrer le contenu du champ, je l'analyserais et remplacerais les apostrophes et les point-virgules par des espaces.
Tu peux aussi inclure un truc de ce genre dans le code « à chaque modification du champ » :
Ch est une chaine = Droite(MON_CHAMP,1) Lg = Taille(MON_CHAMP)
SI Ch="," OU Ch=";" ALORS Erreur("Vous n'avez pas le droit d'entrer le caractère "+CH) MON_CHAMP=Gauche(MON_CHAMP,Lg-1) FIN
dans (in) fr.comp.developpement.agl.windev, "Wanadoo" ecrivait (wrote) :
Bonjour,
> je désire réaliser un masque de type : Tout caractère sauf l'apostrophe
(
> ' ) et point virgule ( ; ) > > Certains champs n'ont pas de limite de caractères car leurs contenu sera > stocké dans un champ mémo
Moi, je ne mettrais aucun masque de saisie, mais avant d'enregistrer le contenu du champ, je l'analyserais et remplacerais les apostrophes et les point-virgules par des espaces.
Tu peux aussi inclure un truc de ce genre dans le code « à chaque modification du champ » :
Ch est une chaine = Droite(MON_CHAMP,1) Lg = Taille(MON_CHAMP)
Le seul problème : si l'utilisteur reprends la saisie au milieu du champs. Il vaudrait mieux regarder le caractère avant la position du curseur.
Ou filtrer sur le WM_KEYDOWN ou WM_KEYPRESS.
SI Ch="," OU Ch=";" ALORS Erreur("Vous n'avez pas le droit d'entrer le caractère "+CH) MON_CHAMP=Gauche(MON_CHAMP,Lg-1) FIN
PYT
"Eric Demeester" <eric.REMOVETHIS@mailody.org> a écrit dans le message news:
83vvivoo1smrlcrm8ld4vn5bfu9gllgipn@4ax.com...
dans (in) fr.comp.developpement.agl.windev, "Wanadoo"
<tony.triolo@free.fr> ecrivait (wrote) :
Bonjour,
> je désire réaliser un masque de type : Tout caractère sauf l'apostrophe
(
> ' ) et point virgule ( ; )
>
> Certains champs n'ont pas de limite de caractères car leurs contenu sera
> stocké dans un champ mémo
Moi, je ne mettrais aucun masque de saisie, mais avant d'enregistrer le
contenu du champ, je l'analyserais et remplacerais les apostrophes et
les point-virgules par des espaces.
Tu peux aussi inclure un truc de ce genre dans le code « à chaque
modification du champ » :
Ch est une chaine = Droite(MON_CHAMP,1)
Lg = Taille(MON_CHAMP)
Le seul problème : si l'utilisteur reprends la saisie au milieu du champs.
Il vaudrait mieux regarder le caractère avant la position du curseur.
Ou filtrer sur le WM_KEYDOWN ou WM_KEYPRESS.
SI Ch="," OU Ch=";" ALORS
Erreur("Vous n'avez pas le droit d'entrer le caractère "+CH)
MON_CHAMP=Gauche(MON_CHAMP,Lg-1)
FIN
dans (in) fr.comp.developpement.agl.windev, "Wanadoo" ecrivait (wrote) :
Bonjour,
> je désire réaliser un masque de type : Tout caractère sauf l'apostrophe
(
> ' ) et point virgule ( ; ) > > Certains champs n'ont pas de limite de caractères car leurs contenu sera > stocké dans un champ mémo
Moi, je ne mettrais aucun masque de saisie, mais avant d'enregistrer le contenu du champ, je l'analyserais et remplacerais les apostrophes et les point-virgules par des espaces.
Tu peux aussi inclure un truc de ce genre dans le code « à chaque modification du champ » :
Ch est une chaine = Droite(MON_CHAMP,1) Lg = Taille(MON_CHAMP)
Le seul problème : si l'utilisteur reprends la saisie au milieu du champs. Il vaudrait mieux regarder le caractère avant la position du curseur.
Ou filtrer sur le WM_KEYDOWN ou WM_KEYPRESS.
SI Ch="," OU Ch=";" ALORS Erreur("Vous n'avez pas le droit d'entrer le caractère "+CH) MON_CHAMP=Gauche(MON_CHAMP,Lg-1) FIN
PYT
Wanadoo
Voici la solution que j'ai trouvé j'ai créé cette procedure globale
PROCEDURE gInitChamp(ps_Fen) //Balaye tous les champs de la fenêtre ps_Fen //Si un champ et de type Zone de Saisie Texte et qu'il n'a pas de masque //On remplace les apostrophes du champ par un espace et les point-virgule par une virgule ls_Objet est une chaîne ls_Onglet est une chaîne
ls_Onglet = EnumèreSousElément(ps_Fen,enumPremier+enumVolet) TANTQUE ls_Onglet <> "" SI {ls_Onglet}..Type = typOnglet ALORS //Car dans ma charte graphique, les champs de saisie d'une fiche se trouve dans un onglet ls_Objet = EnumèreSousElément(ps_Fen + "." + ls_Onglet,enumPremier) TANTQUE ls_Objet <> "" SI {ls_Objet}..Type = typTexte ALORS SI {ls_Objet}..MasqueSaisie = maskAucun OU {ls_Objet}..MasqueSaisie maskMajus ALORS {ls_Objet} = Remplace({ls_Objet},"'"," ") {ls_Objet} = Remplace({ls_Objet},";",",") FIN FIN ls_Objet = EnumèreSousElément(ps_Fen + "." + ls_Onglet) FIN FIN ls_Onglet = EnumèreSousElément(ps_Fen) FIN
Ainsi, avant d'enregistrer un client par exemple, il me suffit de faire juste avant d'enregistrer gInitChamp(F_FicheClient..Nom)
@+
Voici la solution que j'ai trouvé
j'ai créé cette procedure globale
PROCEDURE gInitChamp(ps_Fen)
//Balaye tous les champs de la fenêtre ps_Fen
//Si un champ et de type Zone de Saisie Texte et qu'il n'a pas de masque
//On remplace les apostrophes du champ par un espace et les point-virgule
par une virgule
ls_Objet est une chaîne
ls_Onglet est une chaîne
ls_Onglet = EnumèreSousElément(ps_Fen,enumPremier+enumVolet)
TANTQUE ls_Onglet <> ""
SI {ls_Onglet}..Type = typOnglet ALORS //Car dans ma charte graphique, les
champs de saisie d'une fiche se trouve dans un onglet
ls_Objet = EnumèreSousElément(ps_Fen + "." + ls_Onglet,enumPremier)
TANTQUE ls_Objet <> ""
SI {ls_Objet}..Type = typTexte ALORS
SI {ls_Objet}..MasqueSaisie = maskAucun OU {ls_Objet}..MasqueSaisie maskMajus ALORS
{ls_Objet} = Remplace({ls_Objet},"'"," ")
{ls_Objet} = Remplace({ls_Objet},";",",")
FIN
FIN
ls_Objet = EnumèreSousElément(ps_Fen + "." + ls_Onglet)
FIN
FIN
ls_Onglet = EnumèreSousElément(ps_Fen)
FIN
Ainsi, avant d'enregistrer un client par exemple, il me suffit de faire
juste avant d'enregistrer
gInitChamp(F_FicheClient..Nom)
Voici la solution que j'ai trouvé j'ai créé cette procedure globale
PROCEDURE gInitChamp(ps_Fen) //Balaye tous les champs de la fenêtre ps_Fen //Si un champ et de type Zone de Saisie Texte et qu'il n'a pas de masque //On remplace les apostrophes du champ par un espace et les point-virgule par une virgule ls_Objet est une chaîne ls_Onglet est une chaîne
ls_Onglet = EnumèreSousElément(ps_Fen,enumPremier+enumVolet) TANTQUE ls_Onglet <> "" SI {ls_Onglet}..Type = typOnglet ALORS //Car dans ma charte graphique, les champs de saisie d'une fiche se trouve dans un onglet ls_Objet = EnumèreSousElément(ps_Fen + "." + ls_Onglet,enumPremier) TANTQUE ls_Objet <> "" SI {ls_Objet}..Type = typTexte ALORS SI {ls_Objet}..MasqueSaisie = maskAucun OU {ls_Objet}..MasqueSaisie maskMajus ALORS {ls_Objet} = Remplace({ls_Objet},"'"," ") {ls_Objet} = Remplace({ls_Objet},";",",") FIN FIN ls_Objet = EnumèreSousElément(ps_Fen + "." + ls_Onglet) FIN FIN ls_Onglet = EnumèreSousElément(ps_Fen) FIN
Ainsi, avant d'enregistrer un client par exemple, il me suffit de faire juste avant d'enregistrer gInitChamp(F_FicheClient..Nom)