====== For ======
===== For To =====
for intI := 20 to 200 do
begin
...
end;
===== For Downto =====
A l'envers...
for intI := 200 downto 20 do
begin
...
end;
===== For In =====
Pour énumérer un type énuméré on peut faire
==== Énumérer avec For To ====
program Fruits;
type
TFruit = (fPomme, fPoire, fFraise, fMirabelle, fPrune, fFramboise, fCassis);
const
FruitTextes: array[TFruit] of String =
('Pomme', 'Poire', 'Fraise', 'Mirabelle', 'Prune', 'Framboise', 'Cassis');
begin
WriteLn('** Liste des fruits **');
for f := Low(TFruit) to High(TFruit) do
WriteLn(FruitTextes[f]);
End;
End.
==== Énumérer mieux avec For In ====
Extension Pascal Object
=== Énumération avec un Ensemble ===
program Fruits;
type
TFruit = (fPomme, fPoire, fFraise, fMirabelle, fPrune, fFramboise, fCassis);
const
FruitTextes: array[TFruit] of String =
('Pomme', 'Poire', 'Fraise', 'Mirabelle', 'Prune', 'Framboise', 'Cassis');
begin
WriteLn('** Liste des fruits **');
for f in TFruit do
WriteLn(FruitTextes[f]);
End;
End.
=== Énumération avec un Objet ===
Un Object qui implémente l'interface IEnumerator (cas des [[prog:lazarus:classes:tlist]]).\\
IEnumerator est l'interface requise par la construction de langage For ... in ... , lors de l'utilisation de classes. Il contient toutes les méthodes dont le compilateur a besoin pour implémenter une boucle.
Une boucle for in comme celle-ci :
for O in MyObject do
begin
// faire les choses
end ;
===== Break =====
Pour sortir de la boucle
for intI := 20 to 200 do
begin
...
if intI = intA then break; // Si la condition est vérifiée, la boucle se termine
...
end;
===== Sources =====
* [[https://wiki.freepascal.org/For/fr]]
* [[https://wiki.freepascal.org/Break/fr]]