AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Anfänger sucht Hilfe bei ersten Programierschritten
Thema durchsuchen
Ansicht
Themen-Optionen

Anfänger sucht Hilfe bei ersten Programierschritten

Ein Thema von lun87 · begonnen am 15. Dez 2006 · letzter Beitrag vom 18. Dez 2006
 
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Anfänger sucht Hilfe bei ersten Programierschritten

  Alt 15. Dez 2006, 22:18
Guck Dir mal die Syntax für eine FOR-Schleife an:

Beispiel:
Delphi-Quellcode:
For i := 1 to 20 do
  Anweisung;
Die For-Schleife wird genau 20mal durchlaufen, wobei i beim ersten Durchlauf den Wert 1 hat, beim zweiten 2, usw. bis 20.
i wird also vom Startwert 1 aus so oft erhöht, bis es den Wert 20 hat.

Eine Schleife mit Endwert i wobei i auch die Zählvariable ist wie in Deinem Code, ist also falsch.

In Deinem Fall soll wohl das Array durchlaufen werden, also soll i die Werte von 0 bis 4 annehmen.
Überlege Dir selbst, wie Du dann mein Beispiel abändern musst.

Ein Inc(i) ist hier fehl am Platz, da i automatisch beim nächsten Durchlauf um 1 erhöht wird.


Wenn in der Schleife mehrere Anweisungen stehen sollen, musst Du einen begin/end-Block um die Anweisungen machen.

Beispiel:
Delphi-Quellcode:
For i := 1 to 20 do
begin
  Anweisung1;
  Anweisung2;
  usw.
end;
Wenn nur eine Anweisung in der Schleife steht, kannst Du auf begin/end verzichten.



zufallszahl := 0; (am Anfang)
Diesen Wert von zufallszahl verwendest Du nirgends, Du kannst diese Zeile also streichen.
Dasselbe gilt für die Anweisung
i := 0;

[Edit:]
Das Auslesen der ratezahl aus eingabeedt.Text und die ganze IF-Abfrage sollten wohl in die For-Schleife mit rein, da ratezahl sonst den Wert innerhalb der For-Schleife nie ändert.

Zitat von lun87:
Die Zufallszahl wird mit der Zahl des Anwenders verglichen (5 Versuche hat man!)
Dann würde ich allerdings keine For-Schleife verwenden, sondern NUR die repeat/until-Schleife (For-Schleife weglassen).
Die repeat/until-Schleife wird dann verlassen, wenn entweder zufallszahl = ratezahl ist oder der Anwender 5mal geraten hat, also i = 4 ist.
In diesem Fall musst Du dann doch i initialisieren (auf den Startwert 0 setzen, wie es in Deinem Code oben ist) und in der repeat/until-Schleife muss i um 1 erhöht werden, also Inc(i) so wie es war

(sorry dass ich es erst anders geschrieben hatte, aber mir war nicht so ganz klar, was Du mit der For-Schleife bezwecken willst.
Also im Prinzip müsste es klappen, wenn Du die Zeile mit der For-Schleife einfach streichst.)
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz