Einzelnen Beitrag anzeigen

NicoDE
(Gast)

n/a Beiträge
 
#8

Re: Zuweisung für FOR-Schleifenvariablen wird nicht akzeptie

  Alt 7. Apr 2006, 09:17
Es gibt mehrere Möglichkeiten die Schleife zu verlassen.
Hier nur ein paar Möglichkeiten...

Abfrage in jeder Schleife:
Delphi-Quellcode:
begin
  for LoopX := 1 to 1000 do
  begin
    for LoopY := 1 to 1000 do
    begin
      for LoopZ := 1 to 1000 do
      begin
        Application.ProcessMessages();
        if Stop then
          Break;
        //...
      end;
      if Stop then
        Break;
      //...
    end;
    if Stop then
      Break;
    //...
  end;
  //...
end;
Label um alle Schleifen direkt zu verlassen (manche mögen kein 'goto'):
Delphi-Quellcode:
label
  LoopEnd;
begin
  for LoopX := 1 to 1000 do
  begin
    for LoopY := 1 to 1000 do
    begin
      for LoopZ := 1 to 1000 do
      begin
        Application.ProcessMessages();
        if Stop then
          goto LoopEnd;
        //...
      end;
      //...
    end;
    //...
  end;
LoopEnd:
  //...
end;
Mit Exit die Funktion verlassen (Code nach 'finally' wird nicht ausgeführt):
Delphi-Quellcode:
begin
  try
    for LoopX := 1 to 1000 do
    begin
      for LoopY := 1 to 1000 do
      begin
        for LoopZ := 1 to 1000 do
        begin
          Application.ProcessMessages();
          if Stop then
            Exit;

          //...
        end;
        //...
      end;
      //...
    end;
  finally
    //...
  end;
end;
...hat alles seine Vor- und Nachteile.
  Mit Zitat antworten Zitat