Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Bonjour,
J'ai un champs saisissable uniquement en majuscule dans une datawindow, mais j'aimerais également empecher l'utilisateur de saisir des caractères majuscules accentués ex : "É"
Y'a t-il un moyen de le faire en parametrant le champs dans la datawindow ? ou alors dans le code ?
Dernière modification par bombseb (18-08-2010 12:14:47)
Hors ligne
Bonjour, effectivement quand on met en uppercase et que l'on saisit un "é" il se transforme en "É"...
Je pense que le seul moyen soit de coder dans DW.itemchanged une conversion des majuscules accentuées.
Hors ligne
salut,
Je ne connais aucun paramètre te permettant d'interdire les charactères accentués.
Pour gérer celà tu peut intercepter les touches et invalider les charactères qui ne te conviennent pas
En standart il n'existe pas d'événement sur la dw pour gérer les touches.
Pour celà sur le control dw tu créés un événement que tu mappes ( EVENT ID) sur PBM_DWNKEY
exemple : nom de l'evt : UE_KEY mappé sur PBM_DWNKEY
Cet événement seras automatiquement déclenché à chaque touche appuyée par l'utilisateur.
( en paramètre tu recois le code de touche et le flag pour savoir si Shift ou CTRL etc )
Hors ligne
Merci pour vos réponses, je vais éssayer de bidouiller un truc alors....
Hors ligne
Pour contrôler la saisie de ta chaîne de caractères, tu peux utiliser la fonction Match de PB
Hors ligne
oui c'est ce que j'ai fait
Voici mon code pour ceux que ca interresse :
Integer li_Index n_cst_String lnv_String String ls_Caractere[] = {'À','Á','Â','Ã','Ä','Å','È','É','Ê','Ë','Ì','Í','Î','Ï','Ñ','Ò','Ó','Ô','Õ','Ö','Ù','Ú','Û','Ü','Ý'} String ls_Caractere2[] = {'A','A','A','A','A','A','E','E','E','E','I','I','I','I','N','O','O','O','O','O','U','U','U','U','Y'} FOR li_Index = 1 TO UpperBound (ls_Caractere) DO WHILE Match (as_Chaine, ls_Caractere[li_Index]) as_Chaine = lnv_String.of_GlobalReplace (as_Chaine, ls_Caractere[li_Index], ls_Caractere2[li_Index]) LOOP NEXT RETURN as_Chaine
Dernière modification par bombseb (18-08-2010 12:13:29)
Hors ligne
Merci de ton retour.
N'oublie pas le [RESOLU] et
Hors ligne
Pages: 1