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