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 van 1 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

2005

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



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow