Embarcadero Delphi
Per loop
Ricerca…
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;
Osservazioni
- Di Delphi
for
sintassi -loop non prevede nulla per cambiare importo passaggio da1
a qualsiasi altro valore. - Quando si esegue il ciclo con valori ordinali variabili, ad esempio variabili locali di tipo
Integer
, i valori superiore e inferiore verranno determinati una sola volta. Le modifiche a tali variabili non avranno alcun effetto sul conteggio dell'iterazione dei cicli.
Semplice per il ciclo
Un ciclo for
scorre dal valore iniziale al valore finale compreso.
program SimpleForLoop;
{$APPTYPE CONSOLE}
var
i : Integer;
begin
for i := 1 to 10 do
WriteLn(i);
end.
Produzione:
1
2
3
4
5
6
7
8
9
10
In loop sui personaggi di una stringa
Quanto segue itera sui caratteri della stringa s
. Funziona in modo simile per il looping sugli elementi di un array o di un set, purché il tipo della variabile di controllo del ciclo ( c
, in questo esempio) corrisponda al tipo di elemento del valore che viene iterato.
program ForLoopOnString;
{$APPTYPE CONSOLE}
var
s : string;
c : Char;
begin
s := 'Example';
for c in s do
WriteLn(c);
end.
Produzione:
E
X
un
m
p
l
e
Direzione inversa per loop
Un ciclo for
scorre dal valore iniziale fino al valore finale incluso, come esempio di "conto alla rovescia".
program CountDown;
{$APPTYPE CONSOLE}
var
i : Integer;
begin
for i := 10 downto 0 do
WriteLn(i);
end.
Produzione:
10
9
8
7
6
5
4
3
2
1
0
Per il ciclo usando un'enumerazione
Un ciclo for
itera tra gli elementi di un'enumerazione
program EnumLoop;
uses
TypInfo;
type
TWeekdays = (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday);
var
wd : TWeekdays;
begin
for wd in TWeekdays do
WriteLn(GetEnumName(TypeInfo(TWeekdays), Ord(wd)));
end.
Produzione:
Domenica
Lunedi
martedì
mercoledì
giovedi
Venerdì
Sabato
Per array
Un ciclo for
itera tra gli elementi di un array
program ArrayLoop;
{$APPTYPE CONSOLE}
const a : array[1..3] of real = ( 1.1, 2.2, 3.3 );
var f : real;
begin
for f in a do
WriteLn( f );
end.
Produzione:
1,1
2,2
3,3