Memoriser un click sur un boutton ou interdire de re-cliker ?

cs_Loic34000 Messages postés 27 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 6 juin 2008 - 28 mai 2008 à 17:22
puje_fr Messages postés 7 Date d'inscription mardi 21 mars 2006 Statut Membre Dernière intervention 5 mai 2009 - 29 sept. 2008 à 17:26
Bonjour à tous,

J'ai realisé un prog qui permet de lire sur le port parallèle lorsque je clik sur un boutton, mon problème est que je voudrais le memoriser pendant un certain temps afin que meme si je re-clique dessus rien ne se passe pour que mon programme est le temps de finir sa lecture.

Est ce quelqu'un aurait une idée sur la façon de faire ?
Merci d'avance.

10 réponses

JPGVB Messages postés 96 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 10 mars 2011 2
28 mai 2008 à 17:27
Bonjour, mets le bouton enabled=false sur click juste avant de lancer la procédure de récupération (mets le mousepointer=11 pour afficher le sablier en curseur de souris) et  lorsque ta lecture est finie tu le remet en enabled=true (et mousepointer=0 pour revenir au curseur de souris normal), je suppose que c'est le plus imple.
0
cs_Loic34000 Messages postés 27 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 6 juin 2008
28 mai 2008 à 18:14
Mon problème est que je voudrait que la mise en mémoire se realise toute seule car dans l'avenir je désire supprimer ce boutton click par une surveillance de port (dès qu'un bit bouge il realisera une lecture).

Est ce que quelqu'un a une idée ?
Merci
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
28 mai 2008 à 21:01
Salut
"que la mise en mémoire se realise toute seule" : Faudra bien écrire une ou deux lignes quand même !
JPGVB t'a fourni une excellente méthode.
   monBouton.Enabled = False
quand tu veux condamner le bouton
Il ne reste plus qu'à définir où mettre ce code, sur quel évènement

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Loic34000 Messages postés 27 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 6 juin 2008
28 mai 2008 à 22:55
Salut,

La méthode que m'a fournit JPGVB fonctionne parfaitement mais pas dans mon cas, je m'explique mon programme fait une lecture sur le port parallèle où je simule à l'aide d'un bouton poussoir une impulsion, seulement quand je reste appuyé sur mon bouton mon prog ne fait que lire le port sans cesse en boucle (lecture grâce à un timer)
Dans mon cas j'aimerais que le prog s'exécute une seule fois tant que je ne relâche pas mon bouton et que je ré-appui dessus.


J'espère que ce que je raconte est compréhensible ?
0

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

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
29 mai 2008 à 03:28
salut,

dans ce cas tu peux utiliser la propriété TAG par exemple

si .tag="" alors action et .tag ="pas_vide", sinon rien

et remettre à "" quand tu as fini

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
cs_Loic34000 Messages postés 27 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 6 juin 2008
29 mai 2008 à 22:01
Salut,

Est-ce que tu aurais plus de détails ou un lien concernant la fonction TAG car je ne trouve rien qui explique correctement ?

Merci.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
29 mai 2008 à 23:25
tag est une propriété, comme caption.
tu l'utilises comme une variable tampon...

tu as juste un test IF à faire, je n'ai pas de doc pour çà
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
30 mai 2008 à 02:03
Une variable booléenne déclarée en Public pourrait aussi suffire, je pense...

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
puje_fr Messages postés 7 Date d'inscription mardi 21 mars 2006 Statut Membre Dernière intervention 5 mai 2009
28 sept. 2008 à 18:10
Bonjour,
j'aurai le même problème sauf qu'en fait je veux éviter le double clic involontaire sur une commande. J'ai utilisé le .enabled, que je met à false durant 1,5sec., mais si je clique durant ce temps sur le contrôle, il mémorise le clic et l'effectue à la fin de l'autre!
Je ne sais pas si je suis assez clair dans mon explication...

mon programme en l'essence, donne ceci:
command1.enabled = false
Sleep(1500)
........ (ce que j'ai à faire)
command1.enabled=true

Merci de m'indiquer si vous voyez une solution à mon problème...
0
puje_fr Messages postés 7 Date d'inscription mardi 21 mars 2006 Statut Membre Dernière intervention 5 mai 2009
29 sept. 2008 à 17:26
Bon bien j'ai trouvé une solution à mon problème, donc j'essaie de vous en faire profiter. J'ai simplement mis ce que devait faire l'appui sur le bouton dans un timer, avec un interval de 2000ms. Ensuite je gère l'état de mon timer comme une bascule bistable en fonction de l'état de ma commande. Exemple (je ne me sens pas très clair dans mon explication):

'La commande principale
Private Sub Command1_Click()
   Timer3.Enabled = True
End Sub

'le timer:
Private Sub Timer3_Timer()
'***ma bascule bistable***
If Command7.Visible = True Then
    Me.MousePointer = 11
    Command7.Visible = False
Else
    Me.MousePointer = 0
    Command7.Visible = True
    Timer3.Enabled = False
End If
'*******************
'le contenu initial de ma command
If Timer3.Enabled = True Then
...
....
...

End If

Il y avait peut-être plus simple mais en tous cas ceci marche très bien
0
Rejoignez-nous