Gestion d'Interuption et boucle for, while.

xor02 Messages postés 2 Date d'inscription mercredi 17 septembre 2003 Statut Membre Dernière intervention 18 octobre 2003 - 18 oct. 2003 à 12:21
pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 - 19 oct. 2003 à 22:51
Salut,
j'aimerais savoir comment il faut faire pour intérompre une boucle "FOR".
Par exemple j'ai deux boutons commandes "OK" et "CANCEL". Lorsque je clique sur OK, cela lance une procédure qui comporter des boucles FOR. Imaginons que le processus dure une minute environ mais que je veuille l'interrompre avant son échéance à l'aide du bouton "CANCEL".
Comment procéder.
Même chose pour une boucle WHILE qui tourne infiniment jusqu'à un certain évènement (gestion d'interruption)
Merci bcp! ;)

3 réponses

pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 5
18 oct. 2003 à 12:40
Voila un petit exemple :

Pour la boucle for next

Dim annul As Boolean 'Sert a stopper la boucle

Private Sub Command1_Click()'btn annulation
annul = True
End Sub

Private Sub Command2_Click()'la boucle
annul = False
For i = 0 To 100000
Label1 = i
DoEventsIf annul True Then: Label1 "annuler": Exit For
Next i
End Sub

Pour la la boucle do While
Dim annul As Boolean

Private Sub Command1_Click()
annul = True
End Sub

Private Sub Command2_Click()
annul = False
Do While annul = False
Label1 = "Boucle en cours"
DoEventsIf annul True Then: Label1 "annuler": Exit Do
Loop
End Sub

Voila!!!
0
xor02 Messages postés 2 Date d'inscription mercredi 17 septembre 2003 Statut Membre Dernière intervention 18 octobre 2003
18 oct. 2003 à 16:48
Merci pour la réponse avec exemple!
C'est dc l'instruction "exit" qui gère les intérruption...
Si j'ai bien compris, ca marcherait aussi avec un truc comme ca:

Private Sub Command2_Click()
annul = False
Do While 1=1 'toujours vrai
Label1 = "Boucle en cours"
DoEventsIf annul True Then: Label1 "annuler": Exit Do
Loop
End Sub


?
0
pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 5
19 oct. 2003 à 22:51
oui ca dervait marcher...
0
Rejoignez-nous