Ricerca…


introduzione

Il linguaggio Delphi fornisce 3 tipi di loop

for - iterator per la sequenza fissa su numero intero, stringa, matrice o enumerazione

repeat-until - la condizione di uscita è il controllo dopo ogni turno, l'esecuzione del loop al minimo una volta tmeeven

while do condizione while do -do sta controllando prima di ogni turno, il ciclo potrebbe non essere mai eseguito

Sintassi

  • per OrdinalVariable: = LowerOrdinalValue a UpperOrdinalValue do begin {loop-body} end;
  • per OrdinalVariable: = UpperOrdinalValue downto LowerOrdinalValue do begin {loop-body} end;
  • per EnumerableVariable in Collection do begin {loop-body} end;
  • ripetere {loop-body} fino a {break-condition};
  • mentre {condizione} inizia {fine-corpo} fine;

Rompi e continua in loop

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.

Produzione:

1
3
4
5
6
7
Finire.

Ripetere-Fino

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.

Questo breve esempio stampa su console Type a words to echo. Enter an empty string to exit. , aspetta il tipo di utente, lo fa eco e attende di nuovo l'input in loop infinito - finché l'utente non immette la stringa vuota.

Mentre lo fanno

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.

Questo esempio stampa per consolare il contenuto del testo del file WhileEOF.dpr usando la condizione While not(EOF) . Se il file è vuoto ReadLn-WriteLn ciclo ReadLn-WriteLn non viene eseguito.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow