@vergessen: Break und Continue funktionieren nur durch eine Schleifenebene hindurch ... hier sind es aber 2 Ebenen.
Wenn, dann müßte jeweils ein Break pro Schleife rein
Delphi-Quellcode:
for a := 0 to 10 do
begin
for b := 0 to 20 do
begin
...
if ... then Break;
end;
if ... then Break;
end;
Wie gesagt, While/Repeat-Schleifen wären die einzig wirklich praktikable Lösung, vorallem da
nach diesen die (Schleifen)-Variablen noch verfügbar wären.
(es sind dann ja keine "echten" Schleifenvariablen mehr )
Wenn man es schlau anstellt, dann kann man diese beiden einfachen Schleifen auch auf eine Schleife runterschrumpfen und schon geht Break wieder voll durch.
wie wäre es so?
Delphi-Quellcode:
a := -1;
repeat
Inc(a);
b := -1;
repeat
Inc(b);
...
Abbrechen := not {prüfungsachen u.a. mit 'a' und 'b'};
until Abbrechen or (b >= 20);
until Abbrechen or (a >= 10);
...
ShowMessage(Format('a = %d und b = %d', [a, b]));
// oder
a := -1;
repeat
Inc(a);
b := -1;
repeat
Inc(b);
Abbrechen := not {prüfungsachen u.a. mit 'a' und 'b'};
if Abbrechen then Break;
...
until Abbrechen or (b >= 20);
until Abbrechen or (a >= 10);
...
ShowMessage(Format('a = %d und b = %d', [a, b]));