hallo leute ich wollte mal heute ne kleine digitale uhr proggen aber nun hab ich folgendes problem:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| procedure TForm1.Timer1Timer(Sender: TObject); var winkel,x,y,x2,y2,vorherx,vorhery : Integer; hour, min, sec, msec: Word; begin Refresh; Label1.Caption:= TimeToStr(Now); DecodeTime(Now, hour, min, sec, msec); x2:=Image1.Width div 2; y2:=Image1.Height div 2; Image1.canvas.Pen.Mode:= pmNotXor;
Berechne_xy(((2*pi)/60) * sec, x, y); Image1.Canvas.moveto(x2, y2); Image1.Canvas.LineTo(vorherx,vorhery); Image1.Canvas.moveto(x2, y2); Image1.Canvas.LineTo(x,y); vorherx:=x; vorhery:=y; |
also bei sekundenzeiger versuch er als erstes die alte linie zu löschen aber da der vorher x und y wert noch nicht initialisiert ist macht er erst mal gar nix. dann zeichnet er die aktuele linie und merkt sich den wert. beim nächsten durchgang ist ja vorher x und y schon festgelegt also sollte er eigentlich die alte linie löschen macht er aber nicht.
hilft mir mal bitte wo hab ich ein fehler gemacht?