QUESTION EXPERT

GHGFSJD Messages postés 113 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 16 août 2008 - 3 juin 2008 à 05:23
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Derniè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

5 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
3 juin 2008 à 06:01
mets un flag à true, une fois le programme lancé...

un fois fait, ne reexecute pas ton programme
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
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é.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
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).
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
3 juin 2008 à 10:00
Rien ne t'interdit de faire l'économie d'une booléenne en utilisant plutôt la propriété tag de ton label2 pour lui faire jopuer ce rôle.


Je ne comprends par ailleurs pas vraiment l'intérêt d'un affichage si rapide (tu vas avoir le tournis) dans label2

Si ce n'est que pour "voir que ça bouge", un truc :


Tout au long de ton code de modification de label2, fait précéder l'affichage par un caractère quelconque, y compris un espace, si tu veux.


A la dernière modification : affiche sans ce caractère


Dans ton évènement Change de label2, n'exécute que si le 1er caractère n'est pas celui rajouté dans les n-1 modifications
0

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

Posez votre question
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
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
0
Rejoignez-nous