unit Main;

interface

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, ExtCtrls;

type
  TForm1 = class(TForm)
    Shape1: TShape;
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    XPos: Integer;
    XMult: Integer;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 if XPos > Form1.Width - (2*Shape1.Width) then XMult := -1;
 if XPos < 1 then XMult := 1;
 XPos := XPos + (XMult * 10);
 Shape1.Left := XPos;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 XPos := 0;
 XMult := 1;
end;

end.