Einzelnen Beitrag anzeigen

Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: verschachelte for schleifen beenden

  Alt 3. Okt 2004, 21:07
Zitat von theomega:
Hallo Leute,
ich habe ein kleines Problem:
ich habe 3 ineinander verschachelte forschleifen die bei einer bestimmen beidung alle abgebrochen werden sollen.

Beispiel
Delphi-Quellcode:
for i:= 1 to 1000 do begin;
for j:= 1 to 1000 do begin;
for k:= 1 to 1000 do begin;
if (fun(i,j,k)=true) then begin;
break; // Der springt...
break;
break;
end;
// ... hierher
end;
end;
sollte laut Delphihilfe so funktionieren, tut es aber nicht, break bricht nicht alle schleifen ab. Wer kann mir ne Lösung veraten?

Danke
TO
Schon das erste break überspringt die anderen. Du machst das am besten mit einem booleschen flag:
Delphi-Quellcode:
beenden := false;
for i:= 1 to 1000 do begin;
  for j:= 1 to 1000 do begin;
    for k:= 1 to 1000 do begin;
      if (fun(i,j,k)=true) then begin;
        beenden := true;
        break;
      end;
      if beenden then break;
    end;
   if beenden then break;
  end;
end;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat