Break

Adam Boduch
Break
Moduł: System
```delphi procedure Break; ```

Procedura Break może być wykonywane tylko w połączeniu z pętlami. W odróżnieniu od procedury (polecenia) Continue polecenie Break umożliwia zakończenie działania pętli (opuszczenie jej). Po napotkaniu instrukcji Break dalsze wykonywanie pętli zostaje wstrzymane, a program przechodzi do poleceń znajdujących się za pętlą.

Dzięki poleceniu Break czekanie na planowe zakończenie pętli nie wydaje się konieczne ? zawsze można zrobić to samemu w dowolnym momencie.

Zmodyfikujmy ostatni przykład, zastępując procedurę Continue poleceniem Break:

program LoopBreak;

{$APPTYPE CONSOLE}

var
  I, Number : Integer; // deklaracja zmiennych

begin
  Randomize;


  for I := 1 to 10 do
  begin

    Number := Random(3)+1;
    if Number = 1 then
    begin
      Writeln('Wylosowano 1 ? opuszczamy pętle...');
      Break;
    end;

    case Number of
      1: Writeln('Uuu, wylosowałeś 1');
      2: Writeln('No, dwa... jeszcze może być');
      3: Writeln('Dobrze');
    end;
  end;

  Readln;
end.

Jeżeli program wylosuje cyfrę 1, wyświetli stosowną informację i zakończy działanie pętli. Żaden kod umieszczony poniżej instrukcji Break nie zostanie wykonany.

W przypadku pętli zagnieżdżonych Break spowoduje wyjście tylko z jednej pętli. Żeby natomiast zatrzymać obie, trzeba użyć dodatkowej zmiennej.

program LoopBreak;

{$APPTYPE CONSOLE}

var
  I, J : Integer;
  DoStop: Boolean;

begin
  for I := 1 to 10 do
  begin
    if DoStop then Break;
    for J := 1 to 10 do
      begin
        DoStop := {..jakiś tam warunek..};
        if DoStop then Break;
      end;
  end;

  Readln;
end.

Zobacz też:

1 komentarz

trochę możnaby zmodyfikować ten kod... przy wartości 1 case..of w ogóle się nie wykona, bo Break kończy działanie pętli, a case..of jest wewnątrz pętli...
jakby zamienić miejscami bloki "if..then" z "case..of" to byłoby ok :)