Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#16

AW: For in For dann Goto

  Alt 16. Mär 2011, 09:07
@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]));
$2B or not $2B

Geändert von himitsu (16. Mär 2011 um 09:13 Uhr)
  Mit Zitat antworten Zitat