Embarcadero Delphi
Für Loops
Suche…
Syntax
- für OrdinalVariable: = LowerOrdinalValue bis UpperOrdinalValue fangen das Ende von {Schleifenkörper} an;
- für OrdinalVariable: = UpperOrdinalValue Abwärts bis LowerOrdinalValue fangen das Ende von {Schleifenkörper} an;
- für EnumerableVariable in Collection begin {Loop-Body} end;
Bemerkungen
- Die
for
-loop-Syntax von Delphi bietet keine Möglichkeit, die Schrittmenge von1
auf einen anderen Wert zu ändern. - Beim Schleifen mit variablen Ordinalwerten, z. B. lokalen Variablen vom Typ
Integer
, werden die oberen und unteren Werte nur einmal bestimmt. Änderungen an solchen Variablen haben keine Auswirkung auf die Anzahl der Schleifeniterationen.
Einfach für die Schleife
Eine for
Schleife wiederholt sich vom Anfangswert bis zum Endwert.
program SimpleForLoop;
{$APPTYPE CONSOLE}
var
i : Integer;
begin
for i := 1 to 10 do
WriteLn(i);
end.
Ausgabe:
1
2
3
4
5
6
7
8
9
10
Zeichen einer Zeichenfolge durchlaufen
Im Folgenden werden die Zeichen der Zeichenfolge s
durchlaufen. Es funktioniert auf ähnliche Weise für das Schleifen der Elemente eines Arrays oder einer Gruppe, solange der Typ der Schleifensteuervariablen (in diesem Beispiel c
) dem Elementtyp des iterierten Werts entspricht.
program ForLoopOnString;
{$APPTYPE CONSOLE}
var
s : string;
c : Char;
begin
s := 'Example';
for c in s do
WriteLn(c);
end.
Ausgabe:
E
x
ein
m
p
l
e
Umkehrung der Schleife
Eine for
Schleife durchläuft vom Startwert bis zum Endwert (als Beispiel "Countdown").
program CountDown;
{$APPTYPE CONSOLE}
var
i : Integer;
begin
for i := 10 downto 0 do
WriteLn(i);
end.
Ausgabe:
10
9
8
7
6
5
4
3
2
1
0
Für eine Schleife mit einer Aufzählung
Eine for
Schleife durchläuft Elemente in einer Aufzählung
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.
Ausgabe:
Sonntag
Montag
Dienstag
Mittwoch
Donnerstag
Freitag
Samstag
Für in Reihe
Eine for
Schleife durchläuft Elemente in einem 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.
Ausgabe:
1,1
2,2
3,3