Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by himitsu,
16. Okt 2016
Jupp, mit dem Standardbefehlssatz hab ich's och nicht hinbekommen. Aber bestimmt kann man den ja irgendwie erweitern.
Was ginge, war im Timer ein Timer1.Tag := SecondOfTheDay(Now); im OnTimer und dann könnte man in den LiveBindings damit die Zeiger setzen,
also jeweils für RotationAngle:
rrHour: (Tag div 3600) * 30
rrMin: (Tag div 60 mod 60) * 6
rrSec: (Tag mod 60) * 6
Ich glaub MOD und...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by himitsu,
15. Okt 2016
Passiert jedem mal und man lernt eben nie aus.
Einfach kopieren, via Strg+V im FormDesigner einfügen und F9 drücken.
Man müsste nur noch beim Start die Animationen einmal mit der aktuellen Zeit synchronisieren
oder besser noch über die LiveBinding-Expressions ... dann braucht man garkeinen "Code" mehr.
Bei den LiveBindings-Expressions ist es so, dass man in den Bindings direkt "Code"...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by himitsu,
15. Okt 2016
Dann hast du aber wieder mehr Code im Code :lol:
Ich meinte es einfach so, wie du es schon gemacht hast, nur eben nicht nur ein Label "12" in das TLayout, sondern auch noch ein Label "6"
und das dann nur 5 Mal kopieren statt 11 Mal.
OK :stupid:
Du erstellst einen String und wandelst diesen dann wieder in eine Zahl, aber man kann das auch direkt mathematisch lösen.
rrSec.RotateAngle...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by himitsu,
15. Okt 2016
Bei deiner Uhr kommst du mit LiveBinding-Expressions auf 0 bis 1 Codezeilen. :zwinker:
In die TLayout noch auf die Gegenseite ein TLabel und schon brauchst du 6 TLayout weniger.
Aber vorallem im Code ... Warum diese Stringoperationen?
//rrHout.RotateAngle := 30 * HourOf(Now) + 6 * MinuteOf(Now) / 12;
rrHout.RotateAngle := 30 * HourOf(Now) + MinuteOf(Now) / 2;
rrMin.RotateAngle := 6 *...