![]() |
Datenbank: Advantage Database • Version: 12.0.0.0 • Zugriff über: Delphi (FireDac)
TBCDField: Eingabe bei Nachkommastellen verbessern
Hallo allerseits, ich habe ein Eingabefeld mit 4 Vorkomma und 3 Nachkommastellen (TBCDField). Mittels TDBEdit können die Daten geändert werden.
Wenn man (z.B. versehentlich) einen 5-stelligen Wert (z.B. 12345) eingibt, wird eine Exception ausgelöst. Ziel ist es, dass bei Eingabe von "12345" diese automatisch in "1234,5" gewandelt wird. War das verständlich und hat jemand eine Idee, wie ich das programmieren könnte? |
AW: TBCDField: Eingabe bei Nachkommastellen verbessern
Das TField hat ein paar Events (z.B. OnEditText oder so)
Dort kannst du die Eingaben nach belieben anpassen/überarbeiten. |
AW: TBCDField: Eingabe bei Nachkommastellen verbessern
Liste der Anhänge anzeigen (Anzahl: 1)
Danke. Leider werden die gängigen Ereignisse nicht ausgelöst, bevor die folgende Exception als Fehlermeldung kommt:
|
AW: TBCDField: Eingabe bei Nachkommastellen verbessern
Nutzt Du zufällig die JVCL?
Dort gibt es ein TJVDBMaskEdit, in dem Du eine Eingabemaske vorgeben kannst, die dann nur zulässige Eingaben durchlässt. Alternative: TDBEdit hat ein OnChange-Ereignis. Das wird immer ausgelöst, wenn man was eingibt. Eventuell kannst Du ja dort die Länge der Eingabe prüfen und wenn diese 4 übersteigt, automatisch das Komma einfügen oder das Ereignis OnExit des TDBEdit nutzen. Ansonsten mach' ich Plausiprüfungen immer (oder eher manchmal) im BeforePost-Ereignis des DataSets. Ganz grob sowas in der Art:
Delphi-Quellcode:
if (Length(DBEdit1.Field.AsString) > 5) and Pos(',',DBEdit1.Field.AsString) = 0) then begin
DBEdit1.Field.AsString := Format('%s,%s',[Copy(DBEdit1.Field.AsString, 1, 4), Copy(DBEdit1.Field.AsString, 5, Length(DBEdit1.Field.AsString)]); end; |
AW: TBCDField: Eingabe bei Nachkommastellen verbessern
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:11 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 by Thomas Breitkreuz