Embarcadero Delphi
Loops
Zoeken…
Invoering
Delphi taal biedt 3 soorten loop
for
- iterator voor vaste reeks boven geheel getal, string, array of opsomming
repeat-until
- stopconditie wordt gecontroleerd na elke beurt, lus wordt ten minste eenmaal tmeeven uitgevoerd
while do
- do conditie voor elke beurt controleert, kan loop nooit worden uitgevoerd
Syntaxis
- voor OrdinalVariable: = LowerOrdinalValue tot UpperOrdinalValue begint {loop-body} einde;
- voor OrdinalVariable: = UpperOrdinalValue naar LowerOrdinalValue begin {loop-body} einde;
- voor EnumerableVariable in Collection begin {loop-body} end;
- herhaal {loop-body} tot {break-condition};
- terwijl {conditie} begint {loop-body} eindigt;
Breek en ga door in lussen
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.
Output:
1
3
4
5
6
7
Af hebben.
Herhaal tot
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.
Dit korte voorbeeld afdrukken op console Type a words to echo. Enter an empty string to exit.
, wacht op gebruikerstype, echo het en wacht opnieuw op invoer in oneindige lus - totdat de gebruiker de lege reeks invoert.
Terwijl doen
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.
Dit voorbeeld wordt afgedrukt om de tekstinhoud van het WhileEOF.dpr
bestand te troosten met de voorwaarde While not(EOF)
. Als het bestand leeg is, wordt de ReadLn-WriteLn
lus niet uitgevoerd.