![]() |
Uhr Programmieren
Ich soll eine Uhr programmieren. Ich habe bereits einen Kreis und davon den Mittelpunkt. Zeiger habe ich auch schon einen. Wie muss ich nun fortfahren? Bin mit Delphi nicht so gut. :D
|
AW: Uhr Programmieren
Da bietet sich ein Timer an.
|
AW: Uhr Programmieren
Zitat:
Jetzt mal ehrlich: Was erwartest du denn für eine Antwort auf so eine Frage? |
AW: Uhr Programmieren
Stunden und Minuten würden reichen. Ich habe Jetzt einen Kreis mit canvas.ellipse erstellt. dort mit MoveTo LineTo einen Zeiger vom Mittelpunkt aus gezogen. Wie kann ich ihn um 6 grad drehen lassen?
|
AW: Uhr Programmieren
Zitat:
Grüße Klaus |
AW: Uhr Programmieren
Zitat:
|
AW: Uhr Programmieren
Schau mal unter
![]() |
AW: Uhr Programmieren
Zitat:
![]() |
AW: Uhr Programmieren
@GroZ
Uhr mit Zeigern programmieren hat etwas mit Sinus, Cosinus und Pi zu tun. Gegeben sind x1 und y1 als Position für Mitte. Indirekt ist noch der Winkel gegeben. Ein voller Kreis hat 360°, ein halber Tag 12 Stunden. Den Winkel für eine Stunde kann man somit mit einem Dreisatz berechnen, genauso wie den für eine Minute und eine Sekunde. Dann ist noch der Radius gegeben (Länge des Zeigers):
Delphi-Quellcode:
var
al: Integer = 0; function LineAnglePoint(Canvas: TCanvas; p: TPoint; r: Integer; Angle: Double): TPoint; begin Result.X := p.X + Round(Cos(Angle * Pi / 180) * r); Result.Y := p.Y - Round(Sin(Angle * Pi / 180) * r); end; procedure TForm1.Timer1Timer(Sender: TObject); var p1, p2: TPoint; r, x2, y2: Integer; begin p1 := Point(100, 100); r := 100; Canvas.FillRect(Canvas.ClipRect); p2 := LineAnglePoint(Canvas, p1, r, al); Canvas.Polyline([p1, p2]); Inc(al); if al >= 360 then al := 0; end; procedure TForm1.FormCreate(Sender: TObject); begin DoubleBuffered := True; Timer1.Interval := 1; end; |
AW: Uhr Programmieren
@Popov Ich dachte wir lösen hier keine Schulaufgaben, sondern geben Hilfestellungen :cry:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz