Embarcadero Delphi
Bucles
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
.