hallo,
ich hab mal versucht deinen Timer-Code zu verstehen:
Delphi-Quellcode:
procedure TFormSpiel.Timer1Timer(Sender: TObject);
var i, a: integer;
begin
if (Timer1.Enabled = True) then //Muss du abfragen ob der Timer.enabled ist? Wenn er nicht enabled wäre, würde das programm hier doch gar nicht hinkommen; Die Diskussion ob es besser wäre, zu schreiben : 'If Timer1.enabled then begin', spar ich mir hier
begin
i := 0; //Die Schleifenvariabel vorher auf null zu setzen, macht keinen Sinn!!!
for i := 1000 to 5000 do begin //Du setzt i hier doch sowieso auf 1000
a := i + 1000; // Ich zähle für i von 1000 bis 5000 und a ist gleich i+ 1000????Sinnvoll?
end;
showmessage(inttostr(a));//Der Wert wird hier wohl immer gleich 6000 sein
if (a = 5000) then //Wenn a=5000 (also i=4000) dann wird die Rückseite geladen, da a aber nach der Schleife immer 6000 ist, wird die Rückseite wohl nicht geladen
begin
Image2.Picture.LoadFromFile('\MEMORY\Memory Spiel_Version 2\Spielkarten\Rueckseite.jpg');
end
else //Ansonsten wird der Timer disabled; da nur der Else-Block erreicht wird, wird der Timer disabled aber die Rückseite wurde nicht geladen
Timer1.Enabled := False;
if (Timer1.Enabled = False) then showmessage('Zu');
end;
end;
Wenn du mich jetzt fragst, wie man's besser machen sollte:
Ich würde es komplett anders programmieren.
mfg