Hallo zusammen, es folgt ein "Rant", wer sowas nicht mag, für den gibt es hier nichts zu sehen. Wer weiterliest, sollte das bitte mit einem Augenzwinkern tun und sich immer wieder ins Gedächtnis rufen, daß ich ein Delphi-Fan bin
Ich bin ja nun schon ein halbes Jahr in FMX unterwegs - nachdem ich die letzten 15 Jahre
VCL entwickelte - und finde vieles richtig toll manches nicht so sehr. Heute mal ein Beitrag zu letzterer Kategorie (man jammert ohnehin lieber als das man lobt).
Der TDateTimePicker ist unter Windows so ziemlich die dümmste Komponente, die man sich ausdenken kann (Keule wieder einpack).
Verglichen mit seinem
VCL-Urahn ist die Bedienung mehr als ausbaufähig:
- Der Kalender kann nur über einen kleinen Umweg über zB OnKeyUp per Tastatur aufgeklappt werden, er lässt sich dann aber nicht per Tastatur bedienen (er ist übrigens auch nicht der Win-Kalender, sondern etwas hausgemachtes, das ist unter iOS immerhin besser)
- Bei der Eingabe über die Tastatur muss man mit den Pfeiltasten zum nächsten Datumsanteil springen, der Punkt oder sein locale-Äquivalent werden ignoriert. Es ist vermutlich Handarbeit angesagt, um das im OnKeyUp nachzurüsten
- Die Eingaben lassen sich nur im OnKeyUp ermitteln, im OnKeyDown werden Key und KeyChar immer mit 0 gefüllt übergeben
- Die Komponente reagiert sehr unzuverlässig, wenn sie zur Laufzeit gefüllt wird, nur wenn man Begin/EndUpdate drumpackt ist drauf verlass. Das ist bei FMX.TEdits zum Beispiel nicht nötig.
- Unter iOS gibt es keine Information über die Größe der Tastatur zur Eingabe des Datums (wenn denn die Tastatur eingeblendet wird). Es wird auch gar nicht erst das entsprechende Event (FormVirtualKeyboardShow) getrtiggert. Ist der Kalender also unten auf der Seite wird er unvermeidbar im iPhone von der Tastatur verdeckt.
Verwendet eigentlich irgendjemand diese Komponente? Ich bin ja aus Verzweiflung zum TTMSFMXDateTimePicker gewechselt, und musste feststellen, das der fast noch dümmer ist, weil er ja nur ein zusammengeklebter TDateTimePicker mit TTimeEdit ist, bei dem man offenkundig den Zeitanteil nicht abschalten kann.
Ich bin ja nun wirklich einer der weniger tollen Entwickler, das gebe ich gerne zu, aber würde ich für die Entwicklung einer solchen Grundkomponente Geld bekommen, ich würde das garantiert besser hinkriegen. Vielleicht bin ich aber auch nur zu dämlich, sie zu verwenden. Wer mag meinen Zorn besänftigen und mir zeigen wie es geht?
Sherlock