Quelqu'un pourrait-il m'aider s'il vous plaît dans ce sujet dans Delphi?Comment sauter certaines boucles imbriquées dans Delphi?
J'ai 5 boucles de blocs "for" imbriquées en itération avec les variables k1, k2 .. k5.
Une autre variable k doit contrôler la profondeur de plus de 5 boucles. Cette variable est définie pendant l'exécution.
Est-il possible d'éliminer l'exécution des k blocs internes 'for' comme s'ils avaient été commentés? Une liste courte d'expliquer le code est ici:
k := 2;
for k1 := 1 to 100 do begin
for k2 := 1 to 100 do begin
for k3 := 1 to 100 do begin
for k4 := 1 to 100 do begin {want to skip this loop}
for k5 := 1 to 100 do begin {want to skip this loop}
AnywayDoThat; // must execute anyway
end; {k5}
end; {k4}
end;
end;
end;
En outre expliquer, comme k est égal à 2, je veux éviter l'exécution de boucles K4 et K5 (lignes de code se terminant par des accolades), ce qui réduit le flux complet de la programme. Bien sûr, proc AnywayDoThat doit exécuter.
J'utilise Delphi 6.
Edit: Désolé pour le mauvais libellé 'éliminé'. L'objectif était d'éviter les itérations inutiles. L'astuce pour passer une boucle en la faisant exécuter une seule fois est parfaite. Ainsi, proc AnywayDoThat est atteint selon k1, k2, k3 seulement.
Êtes-vous sûr que vous avez bien compris l'affectation? –
(la déclaration mal goto regarde cette question) –
'if k> 0 alors pour k1: = 1 à 100 commence si k> 1 alors pour k2: = etc ... ' –