Forum: Sonstige Fragen zu Delphi
by blawen,
8. Aug 2016
Es liegen grundsätzlich mehrere Fehler vor.
Zum einen solltest Du Dir den Post #25 zu Herzen nehmen und versuchen, den Ablauf wie dort beschrieben, nachzuvollziehen.
Du wirst feststellen, dass die folgenden Zeilen im Timer-Event nichts zu suchen haben - wieso, wirst Du sicher noch herausfinden.
...
timer1.Interval:=1000;
...
Der "zweite" Fehler liegt darin, dass Du eine Variable...
Forum: Sonstige Fragen zu Delphi
by blawen,
14. Jul 2016
Folgender Code funktioniert: (Bedingung Shape1.Left ist zu Beginn = 0)
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if shape1.left < 150 then shape1.left := shape1.left + 30;
if shape1.left >= 150
then begin
timer2.enabled := true;
timer1.enabled := false;
end;
Forum: Sonstige Fragen zu Delphi
by blawen,
14. Jul 2016
Die Timer laufen grundsätzlich solange, bis sie gestoppt werden.
Stopp-Bedingungen
Timer 1: shape1.left = 150
Timer 2: shape1.left = 0
Untersuchen wir mal Timer1.
Annahme Shape.Left ist zu Beginn "0". Somit müsste der Timer1 genau 5x ausgeführt werden und danach stoppen.
In diesem Zusammenhang wäre es besser für die Abbruchbedingung ">= 150" einzusetzen.
Aber wie wird der Timer1 wieder...
Forum: Sonstige Fragen zu Delphi
by blawen,
14. Jul 2016
- Verwende für Quelltexte im Forum möglichst immer die Delphi-Tags (Helm-Symbol)
- Rücke den Code möglichst sinnvoll ein, dies bringt nicht nur Dir eine bessere Übersicht.
- Direkte Überprüfung auf True oder False ist schlecht, besser Du verwendest folgende Formif Timer1.Enabled then....
if NOT Timer1.Enabled then...
Die Procedure tform1.timer1timer wird aufgerufen, wenn der Timer1 aktiv...