For/de

From Free Pascal wiki
Jump to: navigation, search

Deutsch (de) English (en) français (fr) русский (ru)

Zurück zu den reservierten Wörtern.


Das reservierte Wort for gehört zu den Schleifen (Wiederholstrukturen).
Das reservierte Wort for bezeichnet eine Kopfschleife.
Bei der For-Schleife steht die Bedingung für den Schleifendurchlauf im Schleifenkopf.
Das reservierte Wort for kennzeichnet zwei Schleifentypen:

  • eine Zählschleife
  • eine Schleife, die ein Array, Collection, Aufzählung, Menge oder Klasse nach einem Wert durchsucht.



Die For-Do-Schleife als Zählschleife

Die For-Do-Schleife setzt den Wert in der zu prüfenden Variable entsprechend dem verwendetem Schlüsselwort entweder hoch oder herunter.
Das reservierte Wort to zählt die Schleife hoch.
Das reservierte Wort downto zählt die Schleife runter.

Das Beispiel erhöht den Wert in der zu prüfenden Variable um eins:

  for intI := 1 to 10 do
    ...;


Das Beispiel verringert den Wert in der zu prüfenden Variable um eins:

  for intI := 10 downto 1 do
    ...;



Die For-In-Schleife als Zuweisungsschleife

Das heisst die For-In Schleife durchläuft Auflistungen.
Die For-In-Schleife weist den Inhalt einer Auflistung einer Variablen vom gleichen Typ zu.
Auf diese Weise wird die Auflistung schrittweise abgearbeitet.
Das heisst, das die For-In-Schleife solange läuft, bis das letzte Element der Auflistung dem "Empfänger" übergeben wurde.
Das wiederum heisst, wenn im Schleifenkörper der For-In-Scheife keine Abbruchbedingung vorkommt wird auf diese Weise die For-In-Schleife komplett durchlaufen.
Der Inhalt des "Empfängers" wird im Schleifenkörper ausgewertet
Die For-In-Schleife ähnelt der For-Each Schleife in anderen Programmiersprachen.

Syntax:
For [Empfänger] In [Auflistung] Do


Beispiel für das Durchsuchen eines Arrays:

var
  arrString: array of string;
  strTier: string;
 
begin
  ...
  for strTier in arrString do
    ...; // Auswertung der Variablen strTier
  ...
end;



Beispiel 1 für das Durchsuchen einer Menge:

type
  TColor = (clRed, clBlue, clBlack);
 
var
  Farbe: TColor;
 
begin
  ...
  for Farbe in TColor do
    ...; // Auswertung der Variablen Farbe
  ...
end.



Beispiel 2 für das Durchsuchen einer Menge:

type
  TRange = 'a'..'z';
 
var
  chrZeichen: Char;
 
begin
  ...
  for chrZeichen in TRange do
    ...; // Auswertung der Variablen chrZeichen
  ...
end.



--Olaf 14:30, 21 February 2013 (UTC)