Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Probleme mit Editmask und Floatwerte (https://www.delphipraxis.net/90999-probleme-mit-editmask-und-floatwerte.html)

WoTo 27. Apr 2007 09:36


Probleme mit Editmask und Floatwerte
 
Hallo zusammen,
bei der Eingabe von Floatwerten in einem EditMask-Element habe ich das Problem, daß wenn der Cursor nicht am Anfang des Feldes steht, eine Eingabe unmöglich ist. Dies ist allerdings nur, wenn vorher ein Wert drin steht, z.B. 1,10.

Diesen Werte weise ich wie folgt zu:
Delphi-Quellcode:
meH1.EditText := Format('%2.2f',[AValue[0]]);
AValue[0] ist vom Typ REAL und hat den Wert 1,1. Durch Format wird daraus 1,10. Meine Eingabemaske ist 00,00;0;_, also 2 Vor- und 2 Nachkommastellen. Wobei ich nicht genau weiß, was die 5. Null zu bedeuten hat.

Eventuell liegt es auch daran, daß Format keine führende Null generiert. :gruebel:

Vielleicht weiß jemand, wie ich mit Format eine führende Null generieren kann. :idea:

Für Anregungen wäre ich äußerst dankbar !!

Woto

marabu 27. Apr 2007 10:05

Re: Probleme mit Editmask und Floatwerte
 
Hallo,

die Maske '00,00;0;_' besteht aus drei Teilen, Trennzeichen ist das Semikolon. Der erste Teil ist der Maskenausdruck, in deinem Fall vier numerische Eingabestellen und ein Literal (Komma) in der Mitte. Die folgende Null signalisiert, dass Literale nicht in der Eigenschaft Text enthalten sind. Der Underscore ist als Platzhalter definiert.

Deine Format-Angabe %2.2f ist viel interessanter. Auf einer Gesamtbreite von zwei Zeichen soll eine Zahl in der Form '1,10' (vier Zeichen breit) ausgegeben werden. %5.2f könnte deine Anforderungen besser umsetzen. Allerdings übermittelst du den Dezimaltrenner und in der EditMask hast du genau das ausgeschlossen. Als EditMask würde dann '90,00;1;_' mehr Sinn machen - oder?

Freundliche Grüße

WoTo 27. Apr 2007 10:26

Re: Probleme mit Editmask und Floatwerte
 
Hallo Marabu,
vielen Dank für deine Antwort. Hat mir sehr geholfen. :bounce2:

Bei der Format-Anweisung hatte ich gedacht, daß '%2.2f' 2 Vor- und 2 Nachkommastellen bedeutet. Das die erste 2 die Länge des Strings angibt, darauf bin ich nicht gekommen. :oops:

Die Informationen der Parameter der EditMask habe ich in der Delphi-Hilfe leider nicht gefunden. Wo stehen solche Sachen ?

Die Hilfe von Delphi2005 ist meiner Meinung nach sehr sehr schlecht, da nahezu keine Beispiele angegeben sind.

Aber nochmals, vielen vielen Dank !!!!

Gruß
Woto


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:10 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