Effectuer une pause total dans un mousedown

Résolu
centaure59 Messages postés 43 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 10 juillet 2017 - 10 mars 2011 à 21:55
centaure59 Messages postés 43 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 10 juillet 2017 - 25 avril 2011 à 16:32
Bonsoir,

J'ai repris un ancien de mes programmes en vb6. J'ai du mal a m'y remettre ca fait longtemps que je n'est pas programmer en vb6
Je voudrai mettre tout mes timer(12) en pause tant que je clique sur un bouton a l'aide de ma souris, donc tant que je suis dans la procedure mousedown.
J'ai deja essayer d'utiliser timer(index).enabled=false et dans la procedure mouseup timer(index).enabled=true mais du coup tout les timer reparte a zero.
Je voudrais que des que je clique et que je reste appuyer mes timers se mettent en pause puis reprenne ou y s'en etaient des que je lache le bouton...
Avez vous une astuce ?

Merci d'avance
Cordialement

9 réponses

cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
22 avril 2011 à 13:58
Bonjour,

Tu n'as toujours pas répondu aux solutions qui t-on été données.
C'est bien de poser des questions, le forum est là pour cela, mais il serait convenant de bien vouloir indiquer si celles-ci te conviennent ou pas.

Cheyenne
3
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
10 mars 2011 à 22:25
Bonjour,

12 timers, ça semble beaucoup.
VB6 est dépassé, essayes plutôt de passer à .NET (VB.NET 2010 Express est gratuit

Sinon, il n'est pas possible de mettre en pause, c'est soit on, soit Off, mais tu peux aussi mettre une variable globale au module pour dire aux Timers de ne pas poursuivre leur travail.
Certains partiront de 0, les autres ne seront pas affectés.

Mon site
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
11 mars 2011 à 14:52
Bonjour,

Comme le dit NTHenry une variable globale suffit. Tu mets un boolean en global, par exemple bPause.

Dans MouseDown bPause = True
Dans MouseUp bPause = False
En début de chaque sub des Timer tu colles :
If bPause Then Exit Sub

Ainsi si tu as des variables en Static (ou pas) dans tes Timer elles ne varieront pas et ainsi à la reprise tu retrouveras l'état auquel elles étaient avant le MouseDown.

Cheyenne
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
19 mars 2011 à 17:03
Bonjour,

Si une des réponses convient, merci de bien vouloir la valider.


Cheyenne
0

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

Posez votre question
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
19 mars 2011 à 17:18
Bonjour,

A la place de mettre un booléen en variable globale, le plus propre serait de jouer avec le Enabled du Timer.

Mon site
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
19 mars 2011 à 20:21
Bonsoir NHenry,

Oui, effectivement c'est plus propre.
Mais comme l'a indiqué centaure59 avec le Enabled à False il repart de 0.

Je pense que le mieux est de non seulement jouer avec Enabled mais aussi d'avoir une variable de comptage dans chaque Timer.
De ce fait l'état de chaque Timer serait sauvegardé à chaque arrêt.

Bon Dimanche à toi.

Cheyenne
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
19 mars 2011 à 20:33
Désolé, je crois que je me suis trompé de sujet pour la réponse, il y a une notification et je me suis trompé de sujet.
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
19 mars 2011 à 21:47
Re,

Trompé ou pas, tu es dans le sujet quand même.

Je reviens sur mon idée de variable Static dans les Timers. Mon idée est la suivante :
diviser l'Interval de chaque Timer par 2, 5 ou 10 selon la durée.
Par exemple pour un Interval de 500 on le mets à 50 et dans la Sub du Timer :

Static tic as Integer
tic = tic + 10
If tic = 50 Then
   tic = 0
   '   code à exécuter
End If

Ainsi chaque Timer pourrait reprendre à sa propre valeur après la remise à True de Enabled. Bonne ou mauvaise idée ?
Mais comme on ne sait pas ce qu'il fait avec ses 12 Timers, ce n'est pas évident de fournir une réponse adéquate.

Cheyenne
0
centaure59 Messages postés 43 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 10 juillet 2017
25 avril 2011 à 16:32
Bonjour et désolé pour la réponse tardive.
En déplacement pour le boulot, je n'est pas pu m'occuper de mes programmes, sniff !
J'ai fait une compil de vos réponse qui mon bien servi, en fait javais une procédure qui s'occuper d'envoyer les résultats
des timer vers le port paralele. En ajoutant une variable global et en controlant cette variable au début de la procédure
en question je ne l'exécute pas.
Merci pour votre qide
0
Rejoignez-nous