Suche…


Einführung

Delphi-Sprache bietet 3 Arten von Schleifen

for - iterator für feste Reihenfolge über Ganzzahl, String, Array oder Aufzählung

repeat-until - Quit-Bedingung wird nach jeder Runde geprüft, wobei die Schleife mindestens einmal ausgeführt wird

while do do-Bedingung vor jeder Runde überprüft wird, kann die Schleife niemals ausgeführt werden

Syntax

  • für OrdinalVariable: = LowerOrdinalValue bis UpperOrdinalValue fangen das Ende von {Schleifenkörper} an;
  • für OrdinalVariable: = UpperOrdinalValue Abwärts bis LowerOrdinalValue fangen das Ende von {Schleifenkörper} an;
  • für EnumerableVariable in Collection begin {Loop-Body} end;
  • wiederholen Sie {loop-body} bis {break-condition};
  • while {Bedingung} begin {Endet {Loop-Body};

Brechen Sie in Loops und fahren Sie fort

program ForLoopWithContinueAndBreaks;

{$APPTYPE CONSOLE}

var
  var i : integer;
begin
  for i := 1 to 10 do
    begin
      if i = 2 then continue; (* Skip this turn *)
      if i = 8 then break;    (* Break the loop *)
      WriteLn( i );
    end;
  WriteLn('Finish.');
end.

Ausgabe:

1
3
4
5
6
7
Fertig.

Wiederhole bis

program repeat_test;

{$APPTYPE CONSOLE}

var s : string;
begin
  WriteLn( 'Type a words to echo. Enter an empty string to exit.' );
  repeat
    ReadLn( s );
    WriteLn( s );
  until s = '';
end.

Dieses kurze Beispiel wird auf der Konsole gedruckt. Geben Sie Type a words to echo. Enter an empty string to exit. , warten Sie auf den Benutzertyp, wiederholen Sie die Echo-Eingabe und warten Sie die Eingabe in einer Endlosschleife erneut ab - bis der Benutzer den leeren String eingibt.

Während tun

program WhileEOF;
{$APPTYPE CONSOLE}
uses SysUtils;

const cFileName = 'WhileEOF.dpr';
var F : TextFile;
s : string;
begin
  if FileExists( cFileName )
    then
      begin
        AssignFile( F, cFileName );
        Reset( F );

        while not Eof(F) do
          begin
            ReadLn(F, s);
            WriteLn(s);
          end;

        CloseFile( F );
      end
    else
      WriteLn( 'File ' + cFileName +  ' not found!' );
end.

In diesem Beispiel wird der Textinhalt der WhileEOF.dpr Datei mit der While not(EOF) Bedingung While not(EOF) WhileEOF.dpr . Wenn die Datei leer ist, wird die ReadLn-WriteLn Schleife nicht ausgeführt.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow