|
Posté le 27-11-2005 à 12:17 | #
|
est-ce que ca peut casser une boucle Lbl/Goto ? |
|
|
Posté le 27-11-2005 à 12:20 | #
|
Non car Lbl Goto n'est pas vraiment une boucle. En faite on s'en sert comme boucle car le Goto permet de revenir au Lbl. |
|
|
Posté le 27-11-2005 à 12:36 | #
|
For 1->A To 10
For 1->B To 20
B=10=>Break
Text A,B,"Salut"
Next
Next
qu'est-ce qui se passe dans ce cas là?
la boucle intérieure est stoppée mais la grande continue toujours non? |
|
|
Posté le 27-11-2005 à 12:38 | #
|
Ben là faut essayer sur la calculatrice parceque je ne sais pas |
|
|
Posté le 27-11-2005 à 12:44 | #
|
dans ce cas là, la boucle intérieure est cassée mais comme la grande ne l'est pas, la boucle intérieure repart depuis le début avec 1->B |
|
|
Posté le 29-11-2005 à 12:06 | #
|
J'adore cette commande : :brice:
Depuis le temps que je voulais la sortir !
Je l'effacerai demain ! |
|
|
Posté le 06-06-2007 à 16:46 | #
|
A ce que je vois tu ne la pas effacé |
|
|
Posté le 06-06-2007 à 17:05 | #
|
Broaf tu sais...
Les gens qui commandent, ils tiennent jamais leurs promesses |
|
|
Posté le 06-05-2014 à 23:25 | #
|
Attention, il y a un petit piège avec cette commande :
lorsque le programme rencontre "Break" alors qu'il est dans une boucle "Do/LpWhile" (et seulement celle-là), il va aller au prochain "LpWhile" qu'il rencontrera en considérant que c'est la fin de la boucle qu'il doit "casser". Donc si un autre "LpWhile" se trouve sur sa route sans être celui qui ferme sa boucle, il va mettre une "Erreur Syntaxe".
Au cas où vous n'avez pas compris, un exemple est toujours plus parlant !
Un programme du type :
[b][blue]Do[/blue][/b]
[b]Break[/b]
[b][maroon]Do[/maroon][/b]
[b][maroon]LpWhile 1[/maroon]
[blue]LpWhile 2[/blue][/b]
donnera une erreur syntaxe.
Un petit commentaire : le programme rentre dans la boucle bleue. Il rencontre l'instruction "Break" et va donc au prochain LpWhile qu'il trouve. Celui-ci n'est pas le LpWhile bleu comme il s'y serait attendu, il panique, et ferme le programme en lâchant une erreur syntaxe au passage !
Au contraire, un programme du type :
1
[b][blue]While 1[/blue][/b]
[b]Break[/b]
[b][maroon]While 2[/maroon][/b]
[b][maroon]WhileEnd[/maroon][/b]
2
[b][blue]WhileEnd[/blue][/b]
Ans
renverra bien 1, car cette fois-ci il ne va pas au prochain WhileEnd qu'il trouve, mais bien au WhileEnd associé à sa boucle, en ignorant toutes les instructions entre le Break et le WhileEnd.
C'est la même chose avec deux boucles For, une boucle Do/LpWhile et une boucle For... Le programme renvoie l'erreur syntaxe seulement s'il y a deux boucles "Do/LpWhile" !
Beaucoup de texte pour pas grand-chose, mais tout de même bon à savoir. Surtout quand on cherche pendant deux heures d'où peut provenir l'erreur syntaxe. XD
En conclusion, attention avec les Do/LpWhile et les Break ! |
|
|
Posté le 07-05-2014 à 07:29 | #
|
Voilà qui résout un grand nombre de ces erreurs dont on ne sait jamais déterminer la provenance (comme celle où les Goto renvoient systématiquement des erreurs saut ).
Merci d'avoir partagé "l'astuce". |
|