Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
Delphi 10 Seattle Enterprise
|
AW: Weiterlernen
14. Jul 2016, 02:04
Nimm einfach einen Timer, lass den einfach immer durchlaufen und ändere die Schrittweite ab.
Delphi-Quellcode:
TForm1 = class( TForm )
...
private
FShapeIncrement: Integer;
public
procedure AfterConstruction; override;
end;
procedure TForm1.AfterConstruction;
begin
inherited;
// Startwert festlegen
FShapeIncrement := 30;
end;
procedure TForm1.Timer1OnTimer( Sender: TObject );
var
newLeft: Integer;
maxLeft: Integer;
begin
newLeft := Shape1.Left + FShapeIncrement;
maxLeft := Shape1.Parent.ClientWidth - Shape1.Width;
if newLeft <= 0
then
begin
newLeft := 0;
FShapeIncrement := - FShapeIncrement;
end
else if newLeft >= maxLeft
then
begin
newLeft := maxLeft;
FShapeIncrement := - FShapeIncrement;
end;
Shape1.Left := newLeft;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
Geändert von Sir Rufo (14. Jul 2016 um 02:09 Uhr)
|