Hallo,
ich könnte jetzt lang ausholen und versuchen Dir zu erklären wieso, warum und weshalb es mit Deinem Code nicht so recht klappen mag (wenn es Dich interessiert: Detailfragen gerne per PN).
Da ich Deinen Kenntnisstand nun eher als "Anfänger" einschätze (das ist jetzt keineswegs geringschätig gemeint) wäre die Antwort u. U. recht langatmig (ggf. auch unverständlich), daher lass ich es mal lieber bleiben.
Ich denke Du machst Dir das Leben nur unnötig schwer. Versuch es doch mal so (nur was noch nicht in Deinem Projekt vorhanden ist ergänzen):
Delphi-Quellcode:
type
TForm1 = class(TForm)
procedure FormCreate (Sender : TObject);
procedure Button1Click (Sender : TObject);
private
FCorrectAnswers : Integer;
FCurrentExercise : Integer;
procedure Reset;
end;
procedure TForm1.FormCreate (Sender : TObject);
begin
Reset
end;
procedure TForm1.Button1Click (Sender : TObject);
begin
// Hier ggf, noch prüfen, ob wirklich FCurrentExercise <= Maximun (SpinEdit Runden)
if StrToInt (zahla.Caption) * StrToInt (zahlb.Caption) = StrToInt (zahlc.Caption) then
Inc (FCorrectAnwsers);
Inc (FCurrentExercise);
// Hier noch die Ausgabe aktualisieren FCorrectAnwsers of FCurrentExercise
panel5.caption := IntToStr (FCorrectAnwsers);
zahla.Caption := IntToStr (Random (area_n));
zahlb.Caption := IntToStr (Random (area_n))
end;
// Reset wird immer dann aufgerufen, wenn eine neu Runde beginnt (Button Los)
procedure TForm1.Reset;
begin
FCorrectAnswers := 0;
FCurrentExercise := 1
end;