Einzelnen Beitrag anzeigen

Oniessen

Registriert seit: 17. Feb 2010
18 Beiträge
 
#8

AW: Float und Integer in TDBGrid validieren

  Alt 6. Mär 2018, 19:04
Hallo Delphi.Narium

zu deinen Fragen:

mit
Delphi-Quellcode:
if TStringCellEditor(MyGrid.Editor).SelLength > 0 then
       TStringCellEditor(MyGrid.Editor).SelText:= '';
Unterbinde ich das einfügen meine ich mich zu erinnern-

ansonsten hat HolgerX ja schon recht gut kommentiert.

'-' minus muss immer am Anfang stehen und darf nur einmal vorkommen
',' das Dezimaltrennzeichen darf nur einmal vorkommen
und ansonsten nur ziffer-eingabe erlauben ( das könnte ich mir schenken, weil das schafFt das TDB grid schon alleine...)

(das Komma an erster Stelle oder hinter minus würde ich sogar erlauben, das funktioniert, wird als Float erkannt)


Der Decimalseparator stimmt. wie gesagt, auch mit ',' oder #44 geht es nicht bzw. multiple eingaben möglich

Der Fehler scheint hier zu liegen:
CellText:= (MyGrid).Cells[cellCol,cellRow]; Der momentane Inhalt wird nicht ausgelesen.

mit CellText:= (Sender as TDBGrid).SelectedColumn.Field.AsString; wird er zwar ausgelesen, klappt aber auch nicht, wie gewünscht

Gruß, Oliver
  Mit Zitat antworten Zitat