| Surveillance de la touche Escape dans les boucles buguées | |
|
|
Auteur | Message |
---|
enform
Nombre de messages : 42 Date d'inscription : 18/05/2011
| Sujet: Surveillance de la touche Escape dans les boucles buguées Jeu 26 Mai 2011 - 17:33 | |
| Bonjour, Ce serait interessant d'avoir un mode de 'Test' de code pour les boucles buguées qui tournent sans fin et qui font planter l'interpréteur , en tout cas chez moi ! Une surveillance spéciale après l'entrée dans une boucle For Next ou autres . Un appui sur Esc et hop sauvé . A + | |
|
| |
659_minifly
Nombre de messages : 590 Age : 76 Localisation : Valenciennes Nord Date d'inscription : 29/04/2010
| Sujet: Re: Surveillance de la touche Escape dans les boucles buguées Jeu 26 Mai 2011 - 18:37 | |
| Utilise ON_key_down N,L N élément qui a le focus form 0 par exemple L les sous programme pour arréter le programme :
Label Arret
ON_Key_down 0,Arret End ... ... programme ... ...
Arret: Terminate | |
|
| |
flowerkinzy
Nombre de messages : 100 Date d'inscription : 23/09/2009
| Sujet: Re: Surveillance de la touche Escape dans les boucles buguées Jeu 26 Mai 2011 - 20:51 | |
| Et si c' vraiment une boucle "mal bouclée". Fait un timer qui, toutes les secondes, vérifie que escape (sancode=27) n'est pas enfoncée.
on_timer 1, arret end
...
arret; if scancode=27 then terminate | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Surveillance de la touche Escape dans les boucles buguées Jeu 26 Mai 2011 - 22:53 | |
| Ca dépend du genre de rebouclage, mais à mon avis une boucle infinie ne sera pas interruptible par le timer: - Code:
-
DIM i LABEL zz, arret TIMER 1: ON_TIMER 1, arret: ' lancement du timer (1s)
zz: FOR i = 1 TO 10: NEXT i GOTO zz END
Arret: IF SCANCODE=27 THEN TERMINATE RETURN dans l'exemple ci-dessus le timer n'intervient jamais, il n'a pas le temps. Je crois que c'est imparable, sauf à 'tuer' la tâche pour l'interrompre. | |
|
| |
Invité Invité
| Sujet: Re: Surveillance de la touche Escape dans les boucles buguées Ven 27 Mai 2011 - 1:29 | |
| Je donne ma façon de procéder: Dans toutes les boucles qui sont à tester, par exemple boucle for next - Code:
-
for a=1 to 1000000 if scancode =27 then exit_for:' ou terminate ou stop... next a
il suffit de retirer la ligne avec scancode une fois le programme terminé |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Surveillance de la touche Escape dans les boucles buguées Ven 27 Mai 2011 - 15:57 | |
| Oui tu as raison cosmos, comme ça ça marche. Mais il faut connaître à l'avance les boucles suspectes pour les piéger, on ne peut pas faire quelque chose de général comme suggérait flowerkinzy. Il faut que le piège soit à l'intérieur de la boucle. | |
|
| |
Invité Invité
| Sujet: Re: Surveillance de la touche Escape dans les boucles buguées Ven 27 Mai 2011 - 19:31 | |
| Je viens de mettre un petit programme pour stopper le sien propre. A vous de voir. |
|
| |
enform
Nombre de messages : 42 Date d'inscription : 18/05/2011
| Sujet: Re: Surveillance de la touche Escape dans les boucles buguées Ven 27 Mai 2011 - 22:07 | |
| oui , j'ai déja essayé if scancode =27 then ; timer aussi ; c'est pas toujours
miraculeux .
mais en fait je parlais de l'éditeur - interpreteur lui-meme , donc un souhait!
Cet apres-midi , je n'arrete pas de relancer l'editeur (:
| |
|
| |
Invité Invité
| Sujet: Re: Surveillance de la touche Escape dans les boucles buguées Sam 28 Mai 2011 - 0:01 | |
| |
|
| |
enform
Nombre de messages : 42 Date d'inscription : 18/05/2011
| Sujet: Re: Surveillance de la touche Escape dans les boucles buguées Sam 28 Mai 2011 - 0:28 | |
| je vais décortiquer les posts , merci
| |
|
| |
Invité Invité
| Sujet: Re: Surveillance de la touche Escape dans les boucles buguées Sam 28 Mai 2011 - 8:51 | |
| - Citation :
- oui , j'ai déja essayé if scancode =27 then ; timer aussi ; c'est pas toujours
miraculeux . Si cette instruction est inscrite dans une boucle, on en sort si il y a exit.. exit_for exit_while exit repeat Il faut donner l'ordre de sortir de la boucle. Un message ou autre, une fois exécuté continuera la boucle sinon. exemple: - Code:
-
if scancode=27 then exit_repeat |
|
| |
enform
Nombre de messages : 42 Date d'inscription : 18/05/2011
| Sujet: Re: Surveillance de la touche Escape dans les boucles buguées Sam 28 Mai 2011 - 22:25 | |
| oui, oui les 'exit' , je les utilise . Au lieu de scancode , j'ai mis ça : dim var for r = xxxxxx var = var + 1 : if var > 1000 then terminate next r
ça c'est du code .
sinon , chain.exe c'est cosmique ! Avec 8 lignes de code seulement . CQFD . Au suivant !
| |
|
| |
Contenu sponsorisé
| Sujet: Re: Surveillance de la touche Escape dans les boucles buguées | |
| |
|
| |
| Surveillance de la touche Escape dans les boucles buguées | |
|