Embarcadero Delphi
Loops
Sök…
Introduktion
Delphispråk ger 3 typer av slingor
for
- iterator för fast sekvens över heltal, sträng, matris eller uppräkning
repeat-until
- avsluta villkoret kontrollerar efter varje varv, slinga körs minst en gång tmeeven
while do
do-tillstånd kontrollerar före varje sväng, kan slingan aldrig köras
Syntax
- för OrdinalVariable: = LowerOrdinalValue to UpperOrdinalValue börjar {loop-body} end;
- för OrdinalVariable: = UpperOrdinalValue down to LowerOrdinalValue börjar {loop-body} end;
- för EnumerableVariable in Collection börjar {loop-body} slut;
- upprepa {loop-body} tills {break-condition};
- medan {condition} börjar {loop-body} slut;
Bryt och fortsätt i öglor
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.
Produktion:
1
3
4
5
6
7
Avsluta.
Repeat-Tills
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.
Detta korta exempel skrivs ut på konsolen Type a words to echo. Enter an empty string to exit.
, vänta på användartyp, eko det och vänta inmatning igen i oändlig slinga - tills användaren kommer in i den tomma strängen.
Medan gör
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.
Det här exemplet skrivs ut för att trösta textinnehållet i WhileEOF.dpr
filen med WhileEOF.dpr
While not(EOF)
. Om filen är tom ReadLn-WriteLn
slingan.
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow