Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.508 Beiträge
 
Delphi 7 Professional
 
#4

AW: TBCDField: Eingabe bei Nachkommastellen verbessern

  Alt 7. Feb 2023, 19:14
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;
  Mit Zitat antworten Zitat