Analyse d'un caractère avec VB6

Le
michel.arnoux
Bonjour,

Je me suis mal exprimé

J'ai un caractère Caract$
Je veux savoir si c'est un chiffre, une lettre majuscule, une lettre
minuscule
Quelle est l'instruction la plus efficace ?

Je sais qu'on peut utiliser
IF Instr ("a b c d z", Caract$)>0 Then c'est une lettre
minuscule
IF Instr ("A B C D Z",Caract$)>0 Then c'est une lettre
majuscule
IF Instr ("1 2 3 4 9" ,Caract$)>0 Then c'est un chiffre

mais il y a peut être mieux et plus rapide ?

Merci, bonne journée
Michel
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LE TROLL
Le #18569261
Bonjour, le test ascii pour ma part:

dim octet as string *1
select case asc(octet)
case 48 to 57 : msgbox "chiffre"
case 65 to 90 : msgbox "minuscule"
case 97 to 122 : msgbox "majuscule"
case else : "autre"
end select
-
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


news:
Bonjour,

Je me suis mal exprimé

J'ai un caractère Caract$
Je veux savoir si c'est un chiffre, une lettre majuscule, une lettre
minuscule
Quelle est l'instruction la plus efficace ?

Je sais qu'on peut utiliser
IF Instr ("a b c d ... z", Caract$)>0 Then ... c'est une lettre
minuscule
IF Instr ("A B C D ... Z",Caract$)>0 Then ... c'est une lettre
majuscule
IF Instr ("1 2 3 4 ... 9" ,Caract$)>0 Then ... c'est un chiffre

... mais il y a peut être mieux et plus rapide ?

Merci, bonne journée
Michel
jeanmarcnoury
Le #18569701
On 3 fév, 13:05, wrote:
Bonjour,

Je me suis mal exprimé

J'ai un caractère Caract$
Je veux savoir si c'est un chiffre, une lettre majuscule, une lettre
minuscule
Quelle est l'instruction la plus efficace ?



Hello,

Tu as plusieurs solutions. La plupart sont expliquées ici par exemple:

http://www.experts-exchange.com/Programming/Languages/Visual_Basic/Q_212516 95.html

En gros, tu as le choix entre:
- de simples tests: If Car = "A" Then ...
- Utiliser INstr: If Instr("abcdef...", Car)>0 Then
- Utiliser les fonctions VB comme: IsNumeric(Car)
- Utiliser les fonctions de l'API (voir l'article sus-cité)
- Utiliser les expressions régulières (idem)


Quand à l'efficacité, le plus simple est de faire des essais.
Pour ce faire, tu peux lire:
http://faq.vb.free.fr/index.php?question6
et
http://faq.vb.free.fr/index.php?question8

Cordialement,

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
Vincent Guichard
Le #18569841
Bonjour,

tu peux aussi utiliser un select case pour identifier les caractères.
(Aucune idée si c'est plus ou moins rapide qu'avec des Instr)

Select Case c$
Case "a" To "z"
Debug.Print "Minuscule"
Case "A" To "Z"
Debug.Print "Majuscule"
Case "0" To "9"
Debug.Print "Chiffre"
Case Else
Debug.Print "Autre"
End Select

Vincent Guichard
Publicité
Poster une réponse
Anonyme