Control label

Résolu
GHGFSJD Messages postés 113 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 16 août 2008 - 30 juin 2008 à 18:05
GHGFSJD Messages postés 113 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 16 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 ?

16 réponses

LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
1 juil. 2008 à 14:33
Salut,
mieux qu' une Boolean, uitilises une  variable integer

Private i As integer

Que tu inialises à 1 au chargement de tn formulaire

Et
Private Sub Rcv3_Change()
    If i<4   'par exemple
      i=i+1 
      Rcv3.Caption = "En attente"
        
    Else
      i=1
      call procedure
    End if
End Sub

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
3
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
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 ?
0
GHGFSJD Messages postés 113 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 16 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
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
30 juin 2008 à 18:42
...
quelle methode utilises-tu pour donner la valeur a ton label ?
0

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

Posez votre question
GHGFSJD Messages postés 113 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 16 août 2008
30 juin 2008 à 18:44
heu... change()
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
30 juin 2008 à 19:11
...
non, change est un evenement... tu devrait avoir quelque par un truc du style :

Userform1.Rcv3.Caption = BufferIn(5)

Non ?

Tu es plutot avart question info... avec un peu de code pour comprendre comment tu t'y prends pourrait nous aider a t'aider
0
GHGFSJD Messages postés 113 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 16 août 2008
30 juin 2008 à 19:15
desolé : Rcv3.Caption = Val(BufferIn(5))
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
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

et a la fin de la sub procedure tu ajoutes :

DesactiverLabel = False

A+
0
GHGFSJD Messages postés 113 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 16 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.
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
1 juil. 2008 à 07:50
...
et pourquoi pas un bouon pour lancer l'aquisition au lieu que cela demmare a l'ouverture de la forme ?

A+
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
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?
0
GHGFSJD Messages postés 113 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 16 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.
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
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.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 juil. 2008 à 00:45
jolie rectification
à noter que dans ce cas, i peut être déclarée en STATIC
++

<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
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.     
0
GHGFSJD Messages postés 113 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 16 août 2008
3 juil. 2008 à 16:04
Merci beaucoup pour cette solution, qui fonctionne sans aucun probleme.
0
Rejoignez-nous