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 da 1 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

2005

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



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