Embarcadero Delphi
Voor lussen
Zoeken…
Syntaxis
- voor OrdinalVariable: = LowerOrdinalValue tot UpperOrdinalValue begint {loop-body} einde;
- voor OrdinalVariable: = UpperOrdinalValue naar LowerOrdinalValue begin {loop-body} einde;
- voor EnumerableVariable in Collection begin {loop-body} end;
Opmerkingen
- De syntaxis van Delphi
for
-loop biedt niets om de stapwaarde te wijzigen van1
in een andere waarde. - Bij looping met variabele ordinale waarden, bijv. Lokale variabelen van het type
Integer
, worden de bovenste en onderste waarden slechts eenmaal bepaald. Wijzigingen in dergelijke variabelen hebben geen effect op het aantal iteraties van de lus.
Eenvoudig voor lus
Een for
lus herhaalt zich van de beginwaarde tot en met de eindwaarde.
program SimpleForLoop;
{$APPTYPE CONSOLE}
var
i : Integer;
begin
for i := 1 to 10 do
WriteLn(i);
end.
Output:
1
2
3
4
5
6
7
8
9
10
Lussen over tekens van een string
Het volgende herhaalt de tekens van de tekenreeks s
. Het werkt op dezelfde manier voor het doorlussen van de elementen van een array of een set, zolang het type van de lusbesturingsvariabele ( c
, in dit voorbeeld) overeenkomt met het elementtype van de waarde die wordt herhaald.
program ForLoopOnString;
{$APPTYPE CONSOLE}
var
s : string;
c : Char;
begin
s := 'Example';
for c in s do
WriteLn(c);
end.
Output:
E
X
een
m
p
l
e
Omgekeerde richting voor lus
Een for
lus herhaalt zich van de beginwaarde tot en met de eindwaarde, als een "aftellend" voorbeeld.
program CountDown;
{$APPTYPE CONSOLE}
var
i : Integer;
begin
for i := 10 downto 0 do
WriteLn(i);
end.
Output:
10
9
8
7
6
5
4
3
2
1
0
Voor lus met behulp van een opsomming
Een for
lus doorloopt items in een opsomming
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.
Output:
zondag
maandag
dinsdag
woensdag
donderdag
vrijdag
zaterdag
Voor in array
Een for
lus doorloopt items in een array
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.
Output:
1,1
2,2
3,3