Embarcadero Delphi
Schleifen
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.