Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Analyse d'un caractère avec VB6

3 réponses
Avatar
michel.arnoux
Bonjour,

Je me suis mal exprim=E9

J'ai un caract=E8re 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 =EAtre mieux et plus rapide ?

Merci, bonne journ=E9e
Michel

3 réponses

Avatar
LE TROLL
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
_______________________
.
.


a écrit dans le message de
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
Avatar
jeanmarcnoury
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_' ;
Avatar
Vincent Guichard
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