AW: Hilfe bei TMaskEdit
19. Okt 2010, 07:36
Die letzte 0 in Deiner Edit-Maske gibt das dargestellte Zeichen für Leerstellen an. Das wird beim Auslesen des Wertes gegen ein Leerzeichen getauscht. In Deinem Fall kann die Null somit garnicht im übergebenen Wert auftauchen, da jede eingegebene NULL in ein Leerzeichen verwandelt wird.
Nimm eine Maske wie 00:00,000;1;o (kleines o oder halt ein Leerzeichen) und ersetze die Leerstellen vorm Umwandeln mit 0. Also
value := StringReplace(MaskEdit1.Text, ' ', '0', [rfReplaceAll]);
.
Zusätzlich kannst Du einen Leerstring verhindern:
if value = '' then value := '00:00,000';
.
...oder anders ausgedrückt, wenn ich mich bei MaskEdit nicht irre, kann es Dir die Werte nicht 100% in dem von Dir gewünschen Format liefern. Aber vieleicht kennt da jemand einen Weg, Leerzeichen nicht nur als Null anzuzeigen, sondern auch im Wert zu setzen.
Dann noch was allgemeines, falls mit MS Millisekunden gemeint waren. 1000 Millisekunden sind eine Sekunde. Mit Deiner Maske kann ich somit keine Sekunden-Werte darstellen. Also schon bei einer Sekunde muss ich mich zw. 999 Millisekunden oder 1 Minute entscheiden.
Geändert von Satty67 (19. Okt 2010 um 07:46 Uhr)
|