freepopo
Messages postés9Date d'inscriptionmercredi 1 juin 2005StatutMembreDernière intervention 7 août 2008
-
24 juil. 2008 à 16:02
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
24 juil. 2008 à 17:12
Bonjour,
Lors de la saisie de texte dans un textbox de la part de l'utilisateur de mon application, il faut que j'interdise tous les caractères spéciaux : ""*/\<>|:?
J'ai décidé, pour que ce soir plus simple à la programmation, de laisser l'utilisateur saisire sa chaîne de caractères puis de vérifier celle-ci en lui envoyant un message d'erreur si un de ces caractères a été détecté dans sa chaîne (par contre je ne veux pas prendre sa chaine et enlever ces caractères, sa serait trop le bordel pour la suite...)
Voici ce que j'ai fait tout bêtement :
If InStr("?", newSession.Text) or If InStr("*", newSession.Text) ... Then
MsgBox "Un nom de session ne peut contenir aucun des caractères suivants : ""*/\<>|:?", vbOKOnly, "Nouvelle session"
Ceci ne marche pas super bien : quand je rentre un seul point d'interrogation dans une chaîne, c'est ok sa m'envoie un message d'erreur mais quand j'en rentre deux à la suite sa ne les détecte pas...
Savez s'il y a un moyen pour faire fonctionner tout ceci ? Au pire je peux aussi essayer de détecter à chaque fois que l'utilisateur tape un caractère pour le prévenir mais je ne sais pas comment faire.
Je prévise que je suis sous Visual Basic 6 et qu'il m'est impossible de changer ce langage. Voila, j'espere que vous pourrez m'aider, merci d'avance.
freepopo
Messages postés9Date d'inscriptionmercredi 1 juin 2005StatutMembreDernière intervention 7 août 2008 24 juil. 2008 à 17:09
Merci mais j'ai trouvé une solution plus adaptée à mon probleme, j'ai claqué le model de windows en rajoutant ceci dans le KeyPress de mon Textlabel:
If KeyAscii 34 Or KeyAscii 42 Or KeyAscii = 47 Or KeyAscii = 92 Or KeyAscii = 60 Or KeyAscii = 62 Or KeyAscii = 124 Or KeyAscii = 58 Or KeyAscii = 63 Then
MsgBox "Un nom de session ne peut contenir aucun des caractères suivants : ""*/\<>|:?", vbOKOnly, "Caractère incorrect"
KeyAscii = 0
End If