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.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow