Embarcadero Delphi
Para loops
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 de1
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
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