Recherche…


Syntaxe

  • pour OrdinalVariable: = LowerOrdinalValue to UpperOrdinalValue ne commence {loop-body} end;
  • pour OrdinalVariable: = UpperOrdinalValue downOrdinalValue down commence {loop-body} end;
  • pour EnumerableVariable dans Collection, commencez {loop-body} end;

Remarques

  • La syntaxe de Delphi for -loop ne fournit rien pour modifier le montant de l'étape de 1 à toute autre valeur.
  • Lors de la mise en boucle avec des valeurs ordinales variables, par exemple des variables locales de type Integer , les valeurs supérieure et inférieure seront déterminées une seule fois. Les modifications apportées à ces variables n'auront aucun effet sur le nombre d'itérations des boucles.

Simple pour la boucle

Une boucle for itère de la valeur de départ à la valeur finale incluse.

program SimpleForLoop;

{$APPTYPE CONSOLE}

var
  i : Integer;
begin
  for i := 1 to 10 do
    WriteLn(i);
end.

Sortie:

1
2
3
4
5
6
7
8
9
dix

En boucle sur les caractères d'une chaîne

2005

Ce qui suit itère sur les caractères de la chaîne s . Il fonctionne de la même façon pour la lecture en boucle des éléments d'un tableau ou d'un ensemble, à condition que le type de la variable de contrôle de boucle ( c , dans cet exemple) corresponde au type d'élément de la valeur itérée.

program ForLoopOnString;

{$APPTYPE CONSOLE}

var
  s : string;
  c : Char;
begin
  s := 'Example';
  for c in s do
    WriteLn(c);
end.

Sortie:

E
X
une
m
p
l
e

Sens inverse pour la boucle

Une boucle for une itération de la valeur initiale à la valeur finale incluse, comme exemple de décompte.

program CountDown;

{$APPTYPE CONSOLE}

var
  i : Integer;
begin
  for i := 10 downto 0 do
    WriteLn(i);
end.

Sortie:

dix
9
8
7
6
5
4
3
2
1
0

Pour une boucle utilisant une énumération

A for itérer en boucle à travers les articles dans une énumération

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.

Sortie:

dimanche
Lundi
Mardi
Mercredi
Jeudi
Vendredi
samedi

Pour en tableau

Une boucle for itérer les éléments d'un tableau

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.

Sortie:

1,1
2,2
3,3



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow