Embarcadero Delphi
För öglor
Sök…
Syntax
- för OrdinalVariable: = LowerOrdinalValue to UpperOrdinalValue börjar {loop-body} end;
- för OrdinalVariable: = UpperOrdinalValue down to LowerOrdinalValue börjar {loop-body} end;
- för EnumerableVariable in Collection börjar {loop-body} slut;
Anmärkningar
- Delphis syntax
for-loop ger ingenting för att ändra stegbeloppet från1till något annat värde. - Vid slingning med variabla ordinära värden, t.ex. lokala variabler av typen
Integer, bestäms de övre och nedre värdena endast en gång. Ändringar av sådana variabler har ingen effekt på iterationsräkningen för slingor.
Enkelt för slinga
A for slinga itererar från startvärdet till slutvärdet inklusive.
program SimpleForLoop;
{$APPTYPE CONSOLE}
var
i : Integer;
begin
for i := 1 to 10 do
WriteLn(i);
end.
Produktion:
1
2
3
4
5
6
7
8
9
10
Looping över tecken i en sträng
2005
Följande iterates över tecknen i strängen s . Det fungerar på liknande sätt för att slinga över elementen i en matris eller en uppsättning, så länge typen av slingkontrollvariabeln ( c , i det här exemplet) matchar elementtypen för värdet som itereras.
program ForLoopOnString;
{$APPTYPE CONSOLE}
var
s : string;
c : Char;
begin
s := 'Example';
for c in s do
WriteLn(c);
end.
Produktion:
E
x
en
m
p
l
e
Omvänd riktning för slinga
A for slinga iterates från startvärdet ned till slutvärdet inklusive, som ett "nedräkning" -exempel.
program CountDown;
{$APPTYPE CONSOLE}
var
i : Integer;
begin
for i := 10 downto 0 do
WriteLn(i);
end.
Produktion:
10
9
8
7
6
5
4
3
2
1
0
För slinga med en uppräkning
A for slinga iterera igenom artiklar i en uppräkning
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.
Produktion:
söndag
måndag
tisdag
onsdag
torsdag
fredag
lördag
För i matris
A for slinga iterera igenom objekt i en matris
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.
Produktion:
1,1
2,2
3,3
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow