Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   TEdit-Probleme unter Android (https://www.delphipraxis.net/185875-tedit-probleme-unter-android.html)

weber8722 14. Jul 2015 11:59

TEdit-Probleme unter Android
 
Hallo,

man kann ja unter Delphi XE8 leicht zw. Win32 und Android hin und herschalten :-D, unter Win32 verhält sich meine Firemonkey-Anwendung mit einigen Tedits ganz normal: Man kann ein TEdit selektieren, mit der Maus, und kann den Cursor dorthin setzen, wo man möchte, z.B. in die Mitte oder nach rechts. Bei Android landet mein Cursor jedoch immer links, was bei Zahlen, die man leicht korrigieren möchte sehr nachteilig ist! Kann leider auch nicht den gesamten Inhalt selektieren (z.B. zum kopieren) - sondern ein Doppeltippen unter Android markiert nur einen Teil der Realzahl "10.00".
Das macht ein wirklich "smoothes" arbeiten schwer!

Eigentlich hatte ich im alten Delphi7 unter VCL schon alles erreicht was ich wollte (unter Firemonkex + Win32 wenigstens so halbwegs):

- Eingabe eines Strings
- Dieser wird (via onEdit) konvertiert in eine Zahl mit eigener Funktion, die auch physikalische Vorsilben (k,p,m...) berücksichtigt + klippen der Zahl (z.B. auf 0.1 bis 1e12).
- automatisches Triggern der Neuberechnung weitere Felder und anderer TEdits, falls sich ja der Eingabewert geändert hat. Möchte so vermeiden, dass man immer einen Button "Calc" drücken muss (selbst wenn die Eingabe sich mehrmals ändert, ist die Rechenzeit immer noch unkritisch).
- parallel gibt es einen Spinbutton welcher die Eingaben auch per Klick um +-1% ändern kann (dann spart man sich die Zahleneingabe bei Feinkorrekturen völlig!).

Unter Android klappt es nicht so richtig, und ich frage mich:

- ontyping or onchange verwenden?
- kann man beim selektieren (reintippen) automatisch den Cursor nach rechts setzen und ggfs alles selektieren? Gototextend, selectstart .. gibt es ja - klappt aber nicht.
- aber eigentlich möchte ich den Cursor auch mal genau dort haben wo ich ihn hinsetze!!
- canfocus, killfocusonenter,...?

In den XE8-Demos findet sich dazu leider nichts.

Dank vorab für jeden Hinweis.

Viele Grüße
Stephan

Harry Stahl 14. Jul 2015 17:34

AW: TEdit-Probleme unter Android
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ob Du OnChange oder OnTyping verwendest, hängt davon ab, ob Du nur auf Tastatureingaben reagieren willst (OnTyping) oder auch auf Änderungen per Software-Befehl (ändern des Textes per Anhängen von Text, einfügen über Zwischenablage, etc.), dann nimm OnChangeTraking.

Alle Selektionsbefehle setzen voraus, dass das Edit den Focus hat, dann funktioniert das auch alles, wie gewohnt(siehe anliegenden Screenshot).

Davon abgesehen: Text zu selektieren macht auf den mobilen Geräten nicht wirklich Freude und ist meist umständlich und ungenau.

weber8722 16. Jul 2015 09:51

AW: TEdit-Probleme unter Android
 
Hi, danke für die schnelle Hilfe und die gute Erklärung!
Ich find schon das selektieren Sinn macht: zum editieren/einfügen, zum kopieren/pasten, usw.

Allerdings hab ich glücklicherweise die Macke (schon ein Bug) entdeckt: Wenn man die Fontsize im Property-Editor von (default) verstellt z.B. auf 10, dann ändert sich (nur) unter Android das Verhalten!
Zum Glück kann ich ja auf TXT-Darstellung gehen und die vermurksten TEdits korrigieren.
Im Property-Editor selber konnte ich nicht direkt einfach (default) eintippen.

Fontsize, size an sich scheint generell ein kritischer Parameter zu sein: Immer wieder gibt es leichte Abweichungen (Labels, Images,..) zw Win und Android - kann damit aber leben.

Damit bin ich erst mal arbeitsfähig :-D, und muss mich nun ins Chart einarbeiten....

VG Stephan


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz