Select Case

cs_goldwing Messages postés 2 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 11 juillet 2005 - 11 juil. 2005 à 15:48
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 11 juil. 2005 à 20:18
Bonjour
Devant modifier un source, je trouve ces instructions dans le code :

For i = 0 To Sel_Client.Rows - 1
Select Case i
Case 0 Or 3
If Sel_Client.TextMatrix(i, 2) = "****" Then
Client_Selected = 1
End If
Case Else
If Sel_Client.TextMatrix(i, 2) = "****" Then
Client_Selected = 1
End If
End Select
Next

Peut-on me dire ce qui se passe sur la ligne : Case 0 Or 3 ???
A mon avis rien puisque lors de la première itération c'est le Case Else qui est exécuté. Je pense que c'est une erreur et que ce serait plutôt Case 0,3.
De toute façon, quelle que soit la valeur de i, on fait toujours la même chose...
Avec mes remerciements.

6 réponses

cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
11 juil. 2005 à 15:55
Salut,

je ne vois pas l'intérêt du select case puisqu'en effet, dans tous les cas, le prog va faire la même chose... aucun intérêt.

@+
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
11 juil. 2005 à 16:00
Salut,

Il se passe que le code de ce case s'exécute pour une valeur de 3 car l'expression '0 OR 3' donne 3.
Suis ok avec toi pour le 0,3 si tu veux que ça s'exécute pour les valeurs 0 et 3.
D'autre part, je ne vois pas l'intérêt d'un select case puisque, tu l'as dit, c'est le même code pour tous les cas.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
yohan49 Messages postés 380 Date d'inscription samedi 22 janvier 2005 Statut Membre Dernière intervention 13 août 2011 8
11 juil. 2005 à 16:00
lol c kler !!

c une blague ?? mdr
0
cs_goldwing Messages postés 2 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 11 juillet 2005
11 juil. 2005 à 16:04
C'est ce que je pensais également. Ce qui m'intéresse surtout, c'est la signification de l'instruction Case 0 Or 3 (il me semble avoir vu ça en ASP mais jamais en VB).
Merci tout de même.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
11 juil. 2005 à 16:10
Comme le dit canislupus, le Case 0 Or 3 va traiter les cas où i =0 et i = 3. Ca revient à faire Case 0 : 'ton code
Case 3 : 'le même code que pour 0

@+
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
11 juil. 2005 à 20:18
Pour le 0 OR 3, quelques précisions :

L'opérateur 'OR' fait une comparaison bit à bit entre 2 variables ou résultats de 2 expressions (plus exactement, en termes techniques une disjonction logique mais bah !).

Ex : 0 OR 1 donnera 1

dans le cas précité, si on considère que les valeurs sont de type octet (pour l'exemple), en traduisant en binaire :
0 = 00000000
3 = 00000011

0 OR 3 donne 3

1 = 00000001
3 = 00000011

1 OR 3 donne 3

4 = 00000100
3 = 00000011

4 OR 3 donne 7

8 = 00001000
3 = 00000011

8 OR 3 donne 11

etc...

Conclusion, quand on utilise des opérateurs logiques tels que OR, AND, NOT, XOR, se souvenir que la base de toute l'informatique actuelle, c'est le binaire. Aucun langage actuel n'y échappe malgré sa complexité.
On verra quand on passera aux ordinateurs quantiques mais ce n'est pas encore fait.

Bonne prog

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0