cs_goldwing
Messages postés2Date d'inscriptiondimanche 2 novembre 2003StatutMembreDernière intervention11 juillet 2005
-
11 juil. 2005 à 15:48
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 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.
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200620 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 !?
cs_goldwing
Messages postés2Date d'inscriptiondimanche 2 novembre 2003StatutMembreDernière intervention11 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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200620 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 !?