AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Lazarus (IDE) Float und Integer in TDBGrid validieren
Thema durchsuchen
Ansicht
Themen-Optionen

Float und Integer in TDBGrid validieren

Ein Thema von Oniessen · begonnen am 1. Mär 2018 · letzter Beitrag vom 9. Mär 2018
 
Oniessen

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

AW: Float und Integer in TDBGrid validieren

  Alt 6. Mär 2018, 09:37
Hallo!

Ich habe jetzt eine "halbe Lösung"

Folgendes funktioniert schon mal für das minus und alle anderen Zeichen:

Delphi-Quellcode:
procedure TMyForm.MyDBGridKeyPress(Sender: TObject; var Key: char);
  var
  CellText:Widestring;
  selStart : integer;
  cellRow, cellCol : integer;
  MyDecSep : Char;
  MyGrid : TStringGrid;
  begin
    // First some exessive Typecasting to access the position
    MyGrid := TStringGrid(Sender as TDBGrid);
    MyDecSep:= DefaultFormatSettings.DecimalSeparator;

    if TStringCellEditor(MyGrid.Editor).SelLength > 0 then
       TStringCellEditor(MyGrid.Editor).SelText:= '';

    cellRow:= (MyGrid).Row;
    cellCol:= (MyGrid).Col;
    CellText:= (MyGrid).Cells[cellCol,cellRow];
    // exessive Typecasting to access SelStart
    selStart:= TStringCellEditor(MyGrid.Editor).SelStart ;

    // #8 = Backspace; #0 = empty key ;
    if not (Key in [#8, '0'..'9', '-', MyDecSep]) then Key := #0

    else if ((Key = MyDecSep) or (Key = '-'))
             and (Pos(Key, CellText) > 0) then Key := #0

    else if (Key = '-') and (selStart <> 0) then Key := #0;
  end;
Nur leider nicht für das Komma

Das lässt sich immer noch mehrfach eintippen...
Ich hab es auch schon mit ',' oder #44 versucht, aber irgendwie will das nicht funktionieren

Irgendeine Idee??

Gruß, Oliver


PS:
So komme ich übrigens doch an den DataType
Delphi-Quellcode:
...
 if (sender as TDBGrid).SelectedColumn.Field.DataType = ftfloat then
...

Geändert von Oniessen ( 6. Mär 2018 um 09:43 Uhr) Grund: PS hinzu
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:32 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-2025 by Thomas Breitkreuz