begin process at 2010 02 09 23:12:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

Débutants

 > 

Interdire la saisie de caractères spéciaux.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Interdire la saisie de caractères spéciaux.

jeudi 24 juillet 2008 à 16:02:07 | Interdire la saisie de caractères spéciaux.

freepopo

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.

Enfin quelqu'un qui n'a pas de signature.
jeudi 24 juillet 2008 à 16:34:54 | Re : Interdire la saisie de caractères spéciaux.

Renfield

Administrateur CodeS-SourceS
Réponse acceptée !
Instr renvoie un numérique, pas un boolean, Or non indiqué, donc.


faire :
If InStr("?", newSession.Text)<>0 or InStr("*", newSession.Text)<>0  ... Then

ou, pour jouer un peu :
If InStr("?", newSession.Text) + InStr("*", newSession.Text) <> 0  Then
jeudi 24 juillet 2008 à 17:09:43 | Re : Interdire la saisie de caractères spéciaux.

freepopo

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

Enfin quelqu'un qui vé une n'a pas de signature.
jeudi 24 juillet 2008 à 17:12:47 | Re : Interdire la saisie de caractères spéciaux.

Renfield

Administrateur CodeS-SourceS
gaffe au presse papier (si on colle du texte comprenant ces caractères)


Cette discussion est classée dans : utilisateur, saisie, caractères, spéciaux, chaîne


Répondre à ce message

Sujets en rapport avec ce message

Caractères spéciaux avec la commande SendKeys [ par ShadowMan ] Quand j'utilise la commande SendKeys pour envoyer une chaîne de caractères et que cette chaîne contient des caractères spéciauc il me fait une erreur. Remplacer des caractères spéciaux [ par noisy ] J'ai un problème, dans ma BDD sont présents des caractères spéciaux du type : > (chr$(155)) et j'aimerais les supprimers ou les remplacers, comment fa chaîne de caractères [ par lisessc ] Bjr !Je voudrai savoir quelle sont les syntaxes du len() et du left$() en VBA!ça serai super sympa que quelqu'un réponde. Merci d'avance Ecriture d'un fichier texte avec caractères spéciaux [ par krole ] Bonjour,J'essaie de créer et d'écrire un fichier texte avec, entre autres, des caractères spéciaux (ex : génération). Mon fichier texte se crée bien m insertion caractères spéciaux [ par SesechXP ] Salut!!Juste une ptite question de débutant :comment fait-on pour insérer des caractères spéciaux dans un label? VB6 - Caractères spéciaux dans un label [ par ChrisFAPS ] Slt,Comment insérer des caractéres type alpha, beta ou gamma dans un label ? Combien de ";" dans une chaîne de caractères ? [ par wiranata ] slt !je cherche une fonction VB permettant de retourner un integer du nb d'un caractère défini dans une chaîne donnée ?exple : combien y a-t-il de ';' Caractères spéciaux [ par TheRedman ] Comment je peux mettre le signe " dans une chaine de caractère ?exmsgbox "Le fichier "c:\test.txt" existe." Saisie utilisateur réutilisée [ par kate1 ] Bonjour, mon programme est composé de nombreuses feuilles etj'aimerais savoir comment faire simplement que le résultat d'une saisie utilisateur compo Valeur de la Saisie utilisateur réutilisée dans tout le programme [ par kate1 ] Bonjour, J'ai un pb dans mon programme que je n'arrive pas à résoudre toute seule. Voilà, j'ai un programme demandant tout d'abord à l'utilisateur de


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales