Zitat von
jimo:
...wenn ich den nicht auf 0 setze, spielt der Zähler total verrückt, sagt der mir dann das X 43434 mal oder so gewonnen hat.
Das kommt wohl daher, dass win_x vorher nicht initialisiert wurde. Der Wert von win_x ist dann irgendein "zufälliger" Wert. Dein Vorgehen mit
win_x := 0;
ist generell schon richtig, nur leider an der falschen Stelle
. Mach aus win_x eine globale Variable (z.B. unter "private" deines Formulars) und beim Ereignis OnCreate deiner Form setzt du win_x auf 0 und nicht mehr an der anderen Stelle.
Außerdem solltest du hier:
Zitat von
jimo:
Code:
Var
win_x: Integer;
begin
if (Button1.Caption ='X') and (Button2.Caption ='X') and (Button3.Caption ='X') then
win_x := 0;
win_x := win_x+1
Label4.Caption := IntToStr(win_x);//<<---da Sollte die Anzahl der Siege angezeigt werden
end;
ein begin...end nach der if-Abfrage einbauen, da ansonsten nur die Zeile nach der Abfrage bei erfüllter Bedingung ausgeführt wird, der Rest jedoch immer.
Hoffe, ich habe das Problem richtig verstanden und ich konnte dir etwas helfen
mfG,
Patti