Einzelnen Beitrag anzeigen

Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.479 Beiträge
 
Delphi 11 Alexandria
 
#58

AW: Neuer Blog über FireMonkey Entwicklung eröffnet

  Alt 15. Okt 2016, 16:53
Bei deiner Uhr kommst du mit LiveBinding-Expressions auf 0 bis 1 Codezeilen.
In die TLayout noch auf die Gegenseite ein TLabel und schon brauchst du 6 TLayout weniger.
Aber vorallem im Code ... Warum diese Stringoperationen?

Delphi-Quellcode:
//rrHout.RotateAngle := 30 * HourOf(Now) + 6 * MinuteOf(Now) / 12;
rrHout.RotateAngle := 30 * HourOf(Now) + MinuteOf(Now) / 2;
rrMin.RotateAngle := 6 * MinuteOf(Now);
rrSec.RotateAngle := 6 * SecondOf(Now);

OK, Deine Frage bezieht sich auf Beitrag 55 (siehe oben).

Den Code brauche ich, um die Zeiger zu bewegen und die richtige Uhrzeit anzuzeigen (wenn Du eine schönere Lösung kennst, ist die immer Willkommen).

Was Du mit Deinem Hinweise zum TLayout meinst, ist mir nicht ganz klar. Davon abgesehen, ist das mit dem TLayout eh nur zur Demonstration. In einer anderen Version der Uhr, die ich in meinem in Arbeit befindlichen Buch für Delphi Berlin vorstelle, gibt es nur ein TLayout für einen Stundenabschnitt (siehe Bild in Anlage), das dann zur Laufzeit einfach entsprechend dupliziert wird, dann spart man sich eine Reihe von Layout-Arbeiten, die man ja im Video hinlänglich sehen kann (die gesamte Design-Arbeit, die dann noch zu leisten ist, wird in Bild2 verdeutlicht).
Miniaturansicht angehängter Grafiken
clock.jpg   clock2.jpg  

Geändert von Harry Stahl (15. Okt 2016 um 17:33 Uhr)
  Mit Zitat antworten Zitat