Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Intercepter un évenement depuis une boucle [ Divers / Débutants ] (Spoolega)

samedi 3 mars 2007 à 13:00:51 | Intercepter un évenement depuis une boucle

Spoolega

Bonjour,
Je réalise un programme de transmission de fichiers via le port série, tout ca marche bien, pas de problème à ce niveau et j'utilise VB 6.0
Mais je voudrais pouvoir stopper le transfert à tout moment, genre un bouton "annuler" qui mettrait fin au transfert en cours, mais je ne sais pas trop comment faire vue que pour transmettre un fichier, je suis dans une boucle:

TANT QUE je ne suis pas a la fin du fichier
    transmettre ...
FIN TANT

J'ai essayé de mettre dans cette boucle un Command1.Refresh pour avoir "accès à chaque passage dans la boucle, mais cela ne semble pas fonctionner
En gros, j'aimerais savoir comment intercepter un évenement sur un bouton alors que je suis en train de "mouliner" dans une boucle !
Si quelqu'un à une idée, ou même une solution, je le remercie d'avance !

samedi 3 mars 2007 à 13:37:48 | Re : Intercepter un évenement depuis une boucle

MadM@tt

Membre Club
Réponse acceptée !
A moins d'utiliser du multi-thread, ton programme ne peut executer qu'une commande à la fois.
Donc tant que tu es dans ta boucle, rien d'autre ne peut s'executer. C'est pourquoi les clic sur le bouton sont "stockés" quelque part, puis lorsque la boucle (et meme la fonction qui contient la boucle) est terminée, les evenements "Click" vont etre déclenchés.

Pour pouvoir palier à ça, il faut utiliser DoEvents dans ta boucle, qui va permettre de faire "une pause" dans l'execution de ta boucle pour executer d'autres codes. ça va ralentir ta boucle un peu mais bon.

StopAction = False
TANT QUE je ne suis pas a la fin du fichier OU StopAction = True
    transmettre ...
    doevents
FIN TANT


Et dans l'evenement click du bouton :
StopAction=True


Ne pas oublier de déclarer StopAction as Boolean dans la form :
Dim StopAction as Boolean

- MadMatt -
Vb System Library


samedi 3 mars 2007 à 13:57:52 | Re : Intercepter un évenement depuis une boucle

Spoolega

Merci bien MadMatt !
ca répond tout à fait a mon problème, merci ^^

samedi 3 mars 2007 à 14:10:56 | Re : Intercepter un évenement depuis une boucle

MPi

Je ne suis pas certain d'être bien réveillé, mais ne serait-ce pas plutôt
TANT QUE je ne suis pas a la fin du fichier ET StopAction = False
    transmettre ....

MPi

samedi 3 mars 2007 à 14:15:53 | Re : Intercepter un évenement depuis une boucle

MadM@tt

Membre Club
Arf oui completement, j'ai confondu avec un JUSQU'A QUE
Tu as completement raison toutes mes excuses ^^

- MadMatt -
Vb System Library


samedi 3 mars 2007 à 15:13:10 | Re : Intercepter un évenement depuis une boucle

MPi

Pas de problème...
Ça me rassure de voir voir que je suis bien réveillé ... |¬)
... malgré le peu d'heures de sommeil ...

MPi



Cette discussion est classé dans : fin, boucle, transfert, évenement, intercepter


Répondre à ce message

Sujets en rapport avec ce message

Attente de fin d'envoi [ par Jéh! ] Salut.Voici mon problème.J'envoie des fichiers avec Winsocks jusque là tout va bien sauf que le problème est que lorsque je veux en envoyer plusieurs winsock : fin de reception [ par goth ] je dois faire une boucle ( plusieurs connexion) avec un winsock.Seulement pour commencer une connexion, il faut attendre que la précedente soit fini e Sortir d'un for avant la fin [ par sbouquet ] Helloj'ai une boucle for que voici :For j = 1 To Combo1.Text If HubPorts(j) > 30 Then MsgBox "The maximum number of ports is 30. Please chan Intercepter une fin de drop [ par madustbin ] Alors que je suis en plein Drag, lorsque le lache le bouton de souris sur une zone ayant un evenement _DragDrop, j'ai la main dans le code pour effect Comment sortir d'une boucle (Do loop, for next ...) [ par jmdelhalle ] BonjourComment faire pour sortir d'une boucle (sans quitter la procédure ou la fonction en cours) avant la fin du traitementtant que toto 0 .../.... Intercepter la fin du chargement d'une page web (FireFox) [ par Chatbour ] Salut à tous,je voudrais coder un EXE qui ouvre mon navigateur (Firefox) à la page mail.yahoo.fr, saisit mon Login et Mot de passe et clique enfin sur découper la fin d'un boucle a partir d'un caractère(j'ai chercher dans les sources et les messages) [ par retaks666 ] voila, j'essaie, par exemple, si j'ai une variable chcur = c:\documents\dossier qu'elle devienne c:\documentsj'ai essayer avec ce code la :For i = 0 T activation feuille [ par manworms2 ] Bonjour je me permet de poster ici mon probleme .Voila j'ai récupérer la source http://www.vbfrance.com/codes/DEUX-MACROS-EXCEL-GENERATION-FEUILLES-HE arrêter une macro en boucle à la fin d'une liste [ par faustina ] bonjour à tous, mon problème est simple et pourtant je n'arrive pas a trouver une solution.j'ai créer un programme qui répéte une macro suivant une li


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.