Ich würde das zum Beispiel so machen:
Delphi-Quellcode:
var
BallBewegtSichNachRechts: Boolean;
...
if BallBewegtSichNachRechts then
Ball.X := Ball.X + 5
else
Ball.X := Ball.X - 5;
Nur so als Idee. Mann Kann die Richtung auch als positiven oder negativen Wert in einer Integervariable speichern und dann den Wert addieren.
Delphi-Quellcode:
var
Ballgeschwindigkeit: Integer;
...
Ballgeschwindigkeit := 5;
Ball.X := Ball.X + Ballgeschwindigkeit;
if Ball.X + Ball.Breite >= Form1.Width then
Ballgeschwindigkeit := Ballgeschwindigkeit * -1;
Das mal so als Idee.

Hab das weder getestet noch wirklich viel drüber nachgedacht.
MfG
freak