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.



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