Einzelnen Beitrag anzeigen

Maja Jessica

Registriert seit: 16. Apr 2005
Ort: Dortmund
95 Beiträge
 
Delphi 4 Standard
 
#10

Re: Anfänger sucht Hilfe bei ersten Programierschritten

  Alt 16. Dez 2006, 00:07
Guten Morgen

Habe dein Problem ein wenig verfolgt und möchte auch meinen Senf dazu geben

Zitat von Martin K:
Lass doch die repeat/until-Schleife weg und mache es wie ich oben geschrieben habe.
Genau! Lass Dir gesagt sein, bis auf die Ausgabe der Zahlen am Schluss brauchst du im ganzen Progamm nicht eine for- oder repeat- Schleife.

Du musst nur beherzigen, daß dein Programm ereignissorientiert aufgebaut werden muss, und nicht wie früher so oft in Ablauffolge.

Also nur wenn der RateButton gedrückt wurde, in ratebuttonClick
-> Prüfen -> Versuchszähler um 1 erhöhen -> Ratezahl in Array[Versuchszähler] speichern

Dann kannst du dir noch die einzig nötige Schleife zu Ausgabe in den ButtonClick eibauen;

(PseudoCode)
Delphi-Quellcode:
RateButtonClick
...
// -> Prüfen -> Versuchszähler um 1 erhöhen -> Ratezahl in Array[Versuchszähler] speichern
if (RateZahl = Zufallszahl) OR (Versuchzähler = 4) then
  for i := 0 to 4 ShowMessage( IntToStr(Array[i]) );
end;
Globale Variablen sind eigentlich verpönnt, doch am Anfang wunderbar verständlich.
Schaffe dir eine globale Variable Versuchszaehler und erhöhe diese grundsätzlich nur wenn der
Ratebutton betätigt wurde.

Und dieses:
Delphi-Quellcode:
For i := 0 to 4 do
ausgabeedt.caption := inttostr(Zahl[i]);
inc(i);
end;
ist, sorry das ich das so direkt schreibe, total vermurkst.
Du lässt in eine Schleife 4 mal eine Zahl an ausgabeedt anzeigen. Das geht so fix, das du nur noch die letzte Zahl sehen kannst.
In der Schleife selbst wird automatisch die Laufvariable "i" immer um 1 erhöht. Das inc(i) ist also mehr als überflüssig.

Es juckt in den Fingern hier fertigen Code einzustellen, doch das wird Dir auf dauer garnicht helfen.
Am besten du schaust dir mal die Grundlagen an, wie zum Beispiel auf diesen Seiten

Bei Fragen, fragen
  Mit Zitat antworten Zitat