GHGFSJD
Messages postés113Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention16 août 2008
-
3 juin 2008 à 05:23
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 2009
-
3 juin 2008 à 16:29
Bonjour,
Je suis confronté à un petit soucis concerant l'execution d'une application, sur ma form je possede 2 control label dont le contenus change (label 1 et label2).En gros mon code dit ceci :
Dés que label 2 change et si label 1 contient "255" = execution programme
Sachant que le contenus du label2 change 3 ou 4 fois en un millieme de seconde avant d'otenir un contenus stable si je met ce code dans la fonction CHANGE cela va m'executer le programme 3/4 fois aussi donc pas bon.Auriez vous une solution a mon probleme ?
Merci d'avance
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 3 juin 2008 à 07:00
Salut,
mets un flag à true, une fois le programme lancé...
Je crois qu'il veut plutot lancer le programme en fonction de la dernière valeur affiché..
Fais ça avec un Timer, avec un interval de 10ms par ex. A chaque fois que ton label2 change, tu relance ton Timer (Timer.Enabled False, Timer.Enabled True). Une fois le Timer terminé (événement Tick) tu lance ta commande. Il faudra donc que ton label2 soit stable pendant 10ms pour qu'une commande soit lancé.
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 3 juin 2008 à 09:47
"Sachant que le contenus du label2 change 3 ou 4 fois en un millieme de seconde "
Je pense que ton appli ne modifie pas spontanément le Label2, mais par code ...
Si tel est le cas, ton appli sait lorsqu'elle cesse de modifier (ta sortie de code).
Utilise alors une booléenne globale et, dans l'évènement Change de ton Labl2, n'exécute tes instructions qu'en fonction de l'état de cette booléenne...
Exemple : booléenne globale toto, mise à fausse au départ.
Tu la mets à True à la fin de l'exécution du code qui modifies label2.
Dans label2, tu n'exécutes tes instructions que si toto = True
Lorsque tu exécute (toto étant = True) tes instructions, tu repasses à False ta booléenne toto (pour une prochaine exécution).
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 3 juin 2008 à 16:29
jmfmarques>
"pour info le label 2 change tout le temps de valeur et c'est lui qui
change la valeur du label 3 sauf que le label 3 peut parfois avoir la
meme valeur meme si le 2 change.En gros c'est une reception
telecommande lbl 2 signal et le lbl3canal"
http://www.vbfrance.com/infomsg_AIDE-SIMPLE_1145785.aspx
Le signal est extérieur au programme, et donc impossible de le gérer autrement qu'avec un Timer. Mais c'est clair que si on ne lit pas l'autre post de GHG... on ne peut pas comprendre