GHGFSJD
Messages postés113Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention16 août 2008
-
30 juin 2008 à 18:05
GHGFSJD
Messages postés113Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention16 août 2008
-
3 juil. 2008 à 16:04
Je possede un controle label que j'utilise pour activer une procedure grace a la methode change.Ce label reçois des bits de telecommande donc si j'appuie sur une touche plusieur serie de chiffre apparaisse dans le label avant d'etre fixe.
Pour le moment je me suis apercu que le chiffre 65 apparaissait qu'une fois et c'est ce qui m'aide a lancer ma procedure:
Private Sub Rcv3_Change()
If InStr(BufferIn(5), ("65")) = 1 Then
call procedure
Mais voila il n'est pas sur qu'avec d'autre telecommande ce chiffre apparaisse donc auriez vous une autre solution a mon probleme ?
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 30 juin 2008 à 18:15
...
cela ne vas pas repondre a ta question mais est ce que tu dois l'ancer ta procedure a une valeur specifique de ton label ou la procedure peut etre lancer des reception de la premiere valeur quelle qu'elle soit ?
GHGFSJD
Messages postés113Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention16 août 2008 30 juin 2008 à 18:26
a une valeur precise non ! mais si je fait juste un CALL PROCEDURE tout simplement dans le change du label celle ci pourrait demarer 6 a 7 fois puisque la reception de bits dans mon label m'affiche plusieur numero en un millieme de seconde. la procedure peut etre lancer peut importe la valeur.
mais le pb est que le contenus change plusieur fois en une fraction de seconde
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 30 juin 2008 à 20:07
...
ok, donc dans un module tu crés une variable public du style :
Public DesactiverLabel As Boolean'attention on vas pas reellement desactiver le label mais la methode qui permet de lui attribuer une valeur
dans l'initialisation de ton userform tu ajoutes cette ligne:
Rcv3.Caption = "en attente"'n'importe quelle valeur du moment qu'elle permet de differencier l'etat de ton caption
En suite tu remplace :Rcv3.Caption = Val(BufferIn(5)) par :
If DesactiverLabel False Then Rcv3.Caption Val(BufferIn(5))
dans l'evenement change :
Private Sub Rcv3_Change()
If Not Rcv3.Caption = "en attente"Then'ce qui serait forcement vrai des la reception de la premiere valeur
Rcv3.Caption = "en attente"
DesactiverLabel = True
call procedure
End if
End Sub
GHGFSJD
Messages postés113Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention16 août 2008 1 juil. 2008 à 05:14
merci de ton aide mais cela ne passe pas je m'apercois que le control label est soliciter dés le demarage de la form et en plus constament -ConnectToUSB (Me.hWnd) fonction qui demare la reception des bits et donc l affichage sur le label.
J'ai penssé eventuellement a une routine CHANGE , charger de controler le contenus du label et qui démarera l'action en cas de changement de contenus(si label1.caption est different de bufferin , demarer procedure)un truc dans ce style. sachant que bufferin et le label changeras que si j'appuye sur une touche.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 1 juil. 2008 à 08:30
ci-dessous la reformulation faite par GHGFSJD <hr size="2" width="100%" />
Bonjour,
Voila la colle du mois, je n'arrive pas du tout a résoudre ce probleme et personne non plus apparament:
Sachant que je possede une FORM avec un control LABEL + un TIMER,
le timer contient une routine charger de recevoir des information des
l'ouverture de la form et d'afficher le resultat dans le label.Le timer
est constament soliciter mais le contenus qu'il affiche change des
qu'une action de ma part est effectué ex: pression sur un boutton de
telecommande , le resultat dans le label se presente comme ca :
affichage 128 ensuite 42 puis 56 puis 34 puis reste fixe et affiche
constamant 34 en attente d'une action de ma part.donc le change du
label ce fait 4 fois donc pour faire un CALL action avec le CHANGE
label c'est pas genial.
Ma question:
Y as t il un moyen d'executer une action une seul fois et a chaque
fois que mon LABEL changeras de contenus. sachant que l'affichage des
chiffres ce fera 4 ou 5 fois avant d'etre au fixe et que la valeur
donné ci dessus (128,42,56 etc..)peut changer et passer a d'autre
valeur.<hr size="2" width="100%" />
pas clair si?
GHGFSJD
Messages postés113Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention16 août 2008 1 juil. 2008 à 19:34
Bonsoir et merci pour ton code mais le soucis reste le meme car en placant ton code dans le change du label celui ci va s'executer 4 a 5 fois puisque le label en question recois quand j'appuie sur la touche de ma telecommande 4 a 5 series de chiffres donc le change ce fait en consequence.
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 1 juil. 2008 à 20:55
oui le change() ce fait mais ne fais pas
call procedure à chaque fois.Puisqu' il teste
sur un compteur.
En fait il faut mettre
Private Sub Rcv3_Change()
If i<4 'par exemple
i=i+1
<strike> </strike><strike>Rcv3.Caption = "En attente"
</strike> ' pour ne pas avoir un nouveau Rcv3_Change
Else
i=0
call procedure
End if
End Sub
Ou alors ne faire Rcv3.Caption = "En attente"
que si i=0.
<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 2 juil. 2008 à 00:55
c' est vrai Static, c' est mieux.Et puis ça fait pro
A propos, statique ça correspond parfaitement à ma question.Elle n' a pas bougé depuis un moment. Peut être que j' aurais plus de chance demain.Les esprits seront certainement plus frais et dispos.
Bonne nuit à tous.
<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.