Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Schleifen allgemein


Robert - So 18.08.02 14:02
Titel: Schleifen allgemein
Hi! Ich bin eigentlich ein ziemlicher n00b in Delphi. Ich kann zwar schon 'ne ganze Menge, aber könnte mir mal jemand, bitte, bitte, erklären, wie man eine Schleife programmiert :?: Blöde Frage, ich weiß :!: :oops:


MfG
Robert


Deykin11 - So 18.08.02 15:07

Nun, da gibt es meines Wissens 3 Möglichkeiten:

1. Die For Schleife

Quelltext
1:
2:
3:
4:
5:
for Zaehler := 0 to X do
begin
  Anweisungen;
  ...
end;

Die For-Schleife erhöht bei jedem durchlauf den Zaehler um
eins und führt die Anweisungen aus, bis der Wert "X" (hinter to) erreicht ist.

2. Die While Schleife

Quelltext
1:
2:
3:
4:
5:
while Bedingung = true do
begin
  Anweisungen;
  ...
end;

Die While Schleife prüft VOR jedem Durchlauf der Schleife, ob die Bedingung noch erfüllt ist, sonst wird die Schleife beendet;

3. Die Repeat Schleife

Quelltext
1:
2:
3:
4:
repeat
  Anweisungen;
  ...
until Bedingung = false;

Die Repeat Schleife führt immer erst die Anweisungen zwischen repeat
und until aus und prüft dann, ob die Bedingung noch erfüllt ist - ansonsten bricht sie ab.


Robert - So 18.08.02 15:36
Titel: Danke!
Hi! Erstmal danke für die so schnelle Antwort! Eine Frage noch: Wofür kann man die FOR-Schrleife gebrauchen? Die anderen versteh ich zwar aber diese nicht.

MfG
Robert


Deykin11 - So 18.08.02 17:05

Die For-Schleife benutzt Du, wenn du eine Schleife mit einer festgesetzten Anzahl von Durchläufen verwenden willst.

Konkretes Beispiel:
Du willst per Zufall 100 Zahlen ermitteln und diese in einem Array speichern:

Quelltext
1:
2:
3:
4:
5:
6:
procedure TFAnwendung.zufallszahlen;
var iZ : integer;
begin
  randomize;
  for iZ := 0 to 99 do myArray[iZ] := random(99)+1;
end;


Die Schleife weist bei jedem Durchlauf myArray beim Index iZ eine ZufallsZahl zwischen 1 und 100 zu.

Ansonsten benutzt man die For-Schleife oft, wenn man zB. alle Zeilen in einem Memofeld o.ä. abarbeiten will.

Ich hoffe das hilft Dir.


Robert - So 18.08.02 18:32
Titel: Super!
Hi! Danke für die wirklich rasend schnellen Antworten. Das hat alle meine Fragen beantwortet. Super!

MfG
Robert