PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 5 oct. 2005 à 00:34
peut-être cette boucle est spécifique pour l'utilisation du port COM
la boucle for execute les instruction qu'elle contient jusqu'à ce que les valeurs de départ soit identiques
For I = 1 to 5
MsgBox "ok n°" & I
Next I
Next ou Next I ajoute 1 (par défaut) à I à chaque fin de bouclage....
PCPT
Vous n’avez pas trouvé la réponse que vous recherchez ?
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 5 oct. 2005 à 00:37
Ah bon...
Je crûs un instant que ta question innocente était un poil malicieuse... Tu vas comprendre pourquoi...
FOR TO NEXT, est une focntion pour incrémenter une variable à chaque passage. Un exemple, c'est plus facile pour expliquer :
si on écrit :
FOR y=0 TO 5
msgbox "la valeur y vaut " & y
NEXT
Tu verras le message
"la valeur y vaut 0"
"la valeur y vaut 1"
"la valeur y vaut 2"
"la valeur y vaut 3"
"la valeur y vaut 4"
"la valeur y vaut 5"
"la valeur y vaut 6"
-Donc la variable y, prendra comme première valeur, la valeur zéro, (y=0)
-Exécute les instructions jusqu'à NEXT
-à NEXT, on recommence depuis FOR TO, mais avec une incrémentation de la variable y (donc ici y=1)
Ainsi de suite, jusqu'à la valeur finale 6.
=
Normalement, les instructions à exécuter (compris entre le FOR et NEXT) doivent utiliser la variable (ici y). Sinon, auncun intérêt de recommencer un code statique plein de fois... une fois suffit.
Donc ici :
For y = 0 To 300
MSComm1.RTSEnable = True
Next
faire 301 la boucle, n'a aucun intérêt. Mettre "MSComm1.RTSEnable = True" une fois suffit...
Puis le comble, c'est après... puisse que une fois tu as mis : MSComm1.RTSEnable True , tu déclare exactement l'inverse : MSComm1.RTSEnable False
Donc, le résultat finale c'est cette dernière déclaration... donc toute la boucle est inutile...
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 5 oct. 2005 à 00:47
essai de voir les sources concernant les cartes à puce ou les ports COM.
dans la logique, cette boucle est absurde. peut-être une manipulation particulière (et obscure)
stolken
Messages postés73Date d'inscriptionmardi 19 juillet 2005StatutMembreDernière intervention 1 août 2006 5 oct. 2005 à 00:51
J'ai regardé toute les codes et c'est le seule qui montre un reset de carte à puce.
J'ai trouvé autre chose sur le forum que je comprend pas non plus (décidement ...)
Voila ce que j'ai trouvé si vous y voyez plus clair que moi ... :
Ecrit pas Megafan :
pour provoquer un Reset sur un lecteur de carte type 'phoenix' ou 'smartmouse',il suffit de monter et descendre la sortie RTS (ou le contraire sur smartmouse).
voici un bout de code d'une fonction Reset
strtemp = "1" si le reset est inversé (smartmouse)
strtemp="0"pour phoenix
CommOcx est ton Mscomm passé en paramètre
Mysleep(X) est une fonction qui fait doevents pendant X millisecondes.
If strtemp = "1" Then
CommOcx.RTSEnable = False
MySleep (100)
CommOcx.RTSEnable = True
MySleep (400)
Else
CommOcx.RTSEnable = True
MySleep (100)
CommOcx.RTSEnable = False
MySleep (400)
End If
' Attendre l'ATR
strtemp = ""
Do
DoEvents
If CommOcx.InBufferCount Then
strtemp = strtemp + myhex(Asc(CommOcx.Input))
End If
Loop While CommOcx.InBufferCount