Buscar..


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;

Observaciones

  • La sintaxis de Delphi for bucle no proporciona nada para cambiar la cantidad del paso de 1 a cualquier otro valor.
  • Cuando se realiza un bucle con valores ordinales variables, por ejemplo, variables locales de tipo Integer , los valores superiores e inferiores se determinarán solo una vez. Los cambios en dichas variables no tendrán ningún efecto en el recuento de iteraciones de los bucles.

Simple para bucle

Un bucle for repite desde el valor inicial hasta el valor final incluido.

program SimpleForLoop;

{$APPTYPE CONSOLE}

var
  i : Integer;
begin
  for i := 1 to 10 do
    WriteLn(i);
end.

Salida:

1
2
3
4
5
6
7
8
9
10

Bucle sobre los caracteres de una cadena

2005

Lo siguiente itera sobre los caracteres de la cadena s . Funciona de manera similar para el bucle sobre los elementos de una matriz o un conjunto, siempre que el tipo de la variable de control de bucle ( c , en este ejemplo) coincida con el tipo de elemento del valor que se está iterando.

program ForLoopOnString;

{$APPTYPE CONSOLE}

var
  s : string;
  c : Char;
begin
  s := 'Example';
  for c in s do
    WriteLn(c);
end.

Salida:

mi
X
una
metro
pag
l
mi

Dirección inversa para bucle

Un bucle for repite desde el valor inicial hasta el valor final incluido, como un ejemplo de "cuenta atrás".

program CountDown;

{$APPTYPE CONSOLE}

var
  i : Integer;
begin
  for i := 10 downto 0 do
    WriteLn(i);
end.

Salida:

10
9
8
7
6
5
4
3
2
1
0

Para bucle utilizando una enumeración.

Un bucle for iterar a través de elementos en una enumeración

program EnumLoop;

uses
  TypInfo;

type
  TWeekdays = (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday);

var
  wd : TWeekdays;
begin

  for wd in TWeekdays do
    WriteLn(GetEnumName(TypeInfo(TWeekdays), Ord(wd)));

end.

Salida:

domingo
lunes
martes
miércoles
jueves
viernes
sábado

Para en la matriz

Un bucle for itera a través de elementos en una matriz

program ArrayLoop;
{$APPTYPE CONSOLE}  
const a : array[1..3] of real = ( 1.1, 2.2, 3.3 );
var f : real;
begin
  for f in a do
    WriteLn( f );    
end.

Salida:

1,1
2,2
3,3



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