Embarcadero Delphi
Boucles
Recherche…
Introduction
Le langage Delphi fournit 3 types de boucle
for
- itérateur pour séquence fixe sur entier, chaîne, tableau ou énumération
repeat-until
qu repeat-until
- condition de sortie vérifie après chaque tour, boucle en cours d'exécution au moins une fois
while do
condition while do
- do est vérifiée avant chaque tour, la boucle ne peut jamais être exécutée
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;
- répétez {loop-body} jusqu'à {break-condition};
- while {condition} commence {loop-body} end;
Pause et continuer dans les boucles
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.
Sortie:
1
3
4
5
6
7
Terminer.
Répète jusqu'à
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.
Cet exemple court d’impression sur la console Type a words to echo. Enter an empty string to exit.
, attendez le type d'utilisateur, renvoyez-le en écho et attendez à nouveau l'entrée en boucle infinie - jusqu'à ce que l'utilisateur entre la chaîne vide.
Tout faire
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.
Cet exemple imprime pour WhileEOF.dpr
contenu WhileEOF.dpr
fichier WhileEOF.dpr
en utilisant la condition While not(EOF)
. Si le fichier est vide, la boucle ReadLn-WriteLn
n'est pas exécutée.