Buscar..


Introducción

El lenguaje Delphi proporciona 3 tipos de bucle

for - iterator para secuencia fija sobre entero, cadena, matriz o enumeración

repeat-until : la condición para salir se verifique después de cada turno, el bucle se ejecuta al menos una vez

while do condición while do - do se verifica antes de cada turno, el bucle nunca podría ejecutarse

Sintaxis

  • para OrdinalVariable: = LowerOrdinalValue to UpperOrdinalValue comience {loop-body} end;
  • para OrdinalVariable: = UpperOrdinalValue down to LowerOrdinalValue do comienza {loop-body} end;
  • para EnumerableVariable in Collection, comience {loop-body} end;
  • repita {loop-body} hasta que {break-condition};
  • mientras que {condición} comienza {bucle-cuerpo} termina;

Romper y continuar en bucles

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.

Salida:

1
3
4
5
6
7
Terminar.

Repetir hasta

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.

Este ejemplo corto se imprime en la consola Type a words to echo. Enter an empty string to exit. , espere el tipo de usuario, haga eco y vuelva a esperar la entrada en un bucle infinito, hasta que el usuario ingrese la cadena vacía.

Mientras hace

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.

Este ejemplo imprime para consolar el contenido de texto del archivo WhileEOF.dpr usando la condición While not(EOF) . Si el archivo está vacío, entonces no se ejecuta el ciclo ReadLn-WriteLn .



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow