AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Neuer Blog über FireMonkey Entwicklung eröffnet

Ein Thema von Harry Stahl · begonnen am 6. Mär 2013 · letzter Beitrag vom 12. Mai 2023
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.052 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

AW: Neuer Blog über FireMonkey Entwicklung eröffnet

  Alt 24. Apr 2015, 07:44
Das war aufschlussreich, danke dir
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.561 Beiträge
 
Delphi 12 Athens
 
#2

AW: Neuer Blog über FireMonkey Entwicklung eröffnet

  Alt 22. Mai 2016, 21:21
Zwar kein neuer schriftlicher Blogbeitrag, aber falls es jemand interessiert, wie man mit 3 Zeilen Code eine Analoge Uhr programmieren kann, kann sich dieses Video ansehen (in englisch):

https://youtu.be/QL5SdJAiWGE
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.561 Beiträge
 
Delphi 12 Athens
 
#3

AW: Neuer Blog über FireMonkey Entwicklung eröffnet

  Alt 15. Okt 2016, 15:12
So, ich habe mal Franks (aka Mavarick) Anregung aufgegriffen und zum Thema VCL vs. Firemonkey einen neuen Beitrag auf meinem Blog veröffentlicht: Firemonkey vs. VCL (Additions to the FMX-side), wo ich die Fähigkeiten der FMX-Seite in Abgrenzung zu VCL ein wenig mehr beleuchtet habe.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.556 Beiträge
 
Delphi 12 Athens
 
#4

AW: Neuer Blog über FireMonkey Entwicklung eröffnet

  Alt 15. Okt 2016, 16:15
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);
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (15. Okt 2016 um 16:18 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.561 Beiträge
 
Delphi 12 Athens
 
#5

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).
Angehängte Grafiken
Dateityp: jpg clock.jpg (13,6 KB, 11x aufgerufen)
Dateityp: jpg clock2.jpg (15,1 KB, 8x aufgerufen)

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

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.556 Beiträge
 
Delphi 12 Athens
 
#6

AW: Neuer Blog über FireMonkey Entwicklung eröffnet

  Alt 15. Okt 2016, 21:54
das dann zur Laufzeit einfach entsprechend dupliziert wird, dann spart man sich eine Reihe von Layout-Arbeiten
Dann hast du aber wieder mehr Code im Code

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.

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).
OK
Zitat:
rrSec.RotateAngle := 6 * StrToInt(FormatDateTime('ss', Now));
Du erstellst einen String und wandelst diesen dann wieder in eine Zahl, aber man kann das auch direkt mathematisch lösen.
rrSec.RotateAngle := 6 * (Trunc(Now * SecsPerDay) mod 60);
Aber natürlich gibt es schon eine schöne Funktion, welche das verständlicher erledigt.
rrSec.RotateAngle := 6 * SecondOf(Now);
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (15. Okt 2016 um 21:56 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.561 Beiträge
 
Delphi 12 Athens
 
#7

AW: Neuer Blog über FireMonkey Entwicklung eröffnet

  Alt 15. Okt 2016, 22:34
Upps, manchmal ist man doch echt blind. Hatte gar nicht mitbekommen, dass Du schon meinen Code abgewandelt hattest.

Super!!

Die HourOF, MinuteOF und SecondOf (TDateTime) kannte ich noch gar nicht! Müssen irgendwie an mir vorbeigegangen sein.

Wer Sie auch noch nicht kannte: man muss die Unit DateUtils (die kannte ich natürlich) einbinden.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.165 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Neuer Blog über FireMonkey Entwicklung eröffnet

  Alt 17. Okt 2016, 10:57
So, ich habe mal Franks (aka Mavarick) Anregung aufgegriffen und zum Thema VCL vs. Firemonkey einen neuen Beitrag auf meinem Blog veröffentlicht: Firemonkey vs. VCL (Additions to the FMX-side), wo ich die Fähigkeiten der FMX-Seite in Abgrenzung zu VCL ein wenig mehr beleuchtet habe.
Vielleicht noch ein Hinweis:

VCL profitiert auch von der Firemonkey Entwicklung. Sehr schön zu sehen, welche Units von XE2->10.1 das Namespace gewechselt haben...

In den ersten Versionen noch FMX.* jetzt System.*

Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.561 Beiträge
 
Delphi 12 Athens
 
#9

AW: Neuer Blog über FireMonkey Entwicklung eröffnet

  Alt 17. Okt 2016, 23:50
So, ich habe mal Franks (aka Mavarick) Anregung aufgegriffen und zum Thema VCL vs. Firemonkey einen neuen Beitrag auf meinem Blog veröffentlicht: Firemonkey vs. VCL (Additions to the FMX-side), wo ich die Fähigkeiten der FMX-Seite in Abgrenzung zu VCL ein wenig mehr beleuchtet habe.
Vielleicht noch ein Hinweis:

VCL profitiert auch von der Firemonkey Entwicklung. Sehr schön zu sehen, welche Units von XE2->10.1 das Namespace gewechselt haben...

In den ersten Versionen noch FMX.* jetzt System.*

Mavarik
Genau guter Hinweis.

Fairerweise sollte ich bei VCL vs. FMX evtl. noch ergänzen, dass man sich mit FMX deutlich öfter bei Embas Quality-Central aufhält, um Bug-Reports zu schreiben (wie z.B. jetzt den hier: (Fehlerhafte Anzeige des TDateEdit-PopUps) https://quality.embarcadero.com/browse/RSP-16126)

Geändert von Harry Stahl (17. Okt 2016 um 23:54 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.556 Beiträge
 
Delphi 12 Athens
 
#10

AW: Neuer Blog über FireMonkey Entwicklung eröffnet

  Alt 18. Okt 2016, 01:53
Ich hatte auch schon 8 Jahre alte Bugs in der VCL beheben lassen.
Das ging auch ganz schnell ... k.A. warum den offensichtlichen Bug noch keiner gemeldet hatte.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:49 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