Embarcadero Delphi
Loops
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.