Thema: Weiterlernen

Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#13

AW: Weiterlernen

  Alt 14. Jul 2016, 01: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 01:09 Uhr)
  Mit Zitat antworten Zitat