Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#9

Re: Edit eingabe begrenzen (nur EIN Komma)

  Alt 9. Okt 2004, 03:35
So geht das :

Benutze am besten das OnKeyPress.

Delphi-Quellcode:
procedure TRealEdit.KeyPress(var Key: Char);
begin
  inherited;
  if Pos(DecimalSeparator, Text) = 0 then // einen . im RealEdit.text zulassen
    ZulZeichen := ZulZeichen + [DecimalSeparator]
  else
    ZulZeichen := ZulZeichen - [DecimalSeparator]; // zweiten . verhindern
  if not (Key in ZulZeichen) then
    Key := #0;
end;
ZulZeichen ist in diesem Fall '0'..'9', also ein Set. Auch mit C+P ist es mir dabei nicht gelungen einen 2. Decimalseparator einzufügen.

[EDIT1] Vom OnChange ist abzuraten. 8)
[EDIT2] Keypress wird viel früher abgearbeitet. Wozu noch das ganze Edit dauernd überwachen ? Lieber nur einen Tastendruck.
Gruß
Hansa
  Mit Zitat antworten Zitat