Suspendre le programme

Résolu
argentin7 Messages postés 125 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 14 juillet 2008 - 5 mars 2008 à 12:26
argentin7 Messages postés 125 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 14 juillet 2008 - 5 mars 2008 à 14:51
bonjour a toute la communaute VBFRANCE

SVP je cherche a faire une sorte de pause dans mon programme de la facon suivante:

lorsque je clique sur le bouton le programme est suspendu lorsque je clique une deuxieme fois il continu le traitement

et merci a tous

6 réponses

jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
5 mars 2008 à 13:02
Fonction Sleep de l'Api de Windows (classique et conseillée)...

Sinon, pour suspendre efficacement, tu as aussi les crochets X (dans tous les magasins de bricolage).
3
NHenry Messages postés 15000 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 septembre 2022 158
5 mars 2008 à 13:06
Bonjour

Je rajouterais aussi qu'il faudra utiliser DoEvents pour éviter de bloquer ton prog (sinon, tu ne pourra pas cliquer une 2ième fois).

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
3
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
5 mars 2008 à 13:24
Salut
Il te faut :
- Dans la déclaration d'un module, déclarer une variable (en Public) booléenne nommée "bPause" par exemple
- Dans le module toujours, tu crées une Sub (en Public) nommée TestPause dans laquelle tu mets une boucle Do-Loop tant que bPause est à True, avec un DoEvents dedans comme le suggèrait NHenry
- Dans le code de ton bouton, faire un simple   bPause = Not bPause
- Partout dans ton code, il faudra lancer de temps en temps un appel  Call TestPause
Si bPause est à True au moment du test, il restera à tourner en rond dans cette Sub.
Donc, il faut donc mettre des appels de cette Sub un peu partout

Pense aussi à mettre des DoEvents dans toutes les boucles For-Next ou Do-Loop de ton projet afin que l'appui sur ton bouton puisse être pris en compte.

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)
3
argentin7 Messages postés 125 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 14 juillet 2008
5 mars 2008 à 14:06
merci a tous pour vos reponses

s'il vous plait juste une precision; l'api sleep necssite un intervalle de temps alors que dans mon cas je ne cherche pas a faire un pause pour une duree que je definis

la pause que je cherche s'execute lorsque je clique et s'arrete lorque je clique une deuxieme fois et ainsi de suite.

ce que je cherche donc c'est d' arreter l'execution lorsque je clique et de poursuivre l'execution lorsque je clique une deuxieme fois.

je vous suis tres reconnaissant
cordiallement
0

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

Posez votre question
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
5 mars 2008 à 14:23
C'est bien comme ça que je l'ai compris, alors tu n'as qu'à suivre mes recommandations
0
argentin7 Messages postés 125 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 14 juillet 2008
5 mars 2008 à 14:51
a vos ordre chef je vais l'essayer et merci pour la solution tres detaillée.

(je me suis decouragé lorsque vous m'avez dit"Pense aussi à mettre des DoEvents dans toutes les boucles For-Next ou Do-Loop de ton projet afin que l'appui sur ton bouton puisse être pris en compte.", en fait mon programme est long (3000 lignes))

de toutes les facons je vous remercie tous our la solutions
0