Einzelnen Beitrag anzeigen

And1.G

Registriert seit: 14. Sep 2006
Ort: Iserlohn
8 Beiträge
 
Delphi 2007 Professional
 
#17

Re: Nur Zahlen im TEdit, aber auch Kommazahlen

  Alt 15. Sep 2006, 20:37
Zitat von Martin K:
Dann kann man aber immernoch Buchstaben oder sonst was eingeben und Copy&Paste wurde auch nicht berücksichtigt.

Für Copy&Paste muss man dann schon in OnChange überprüfen, z.B. so
Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
var i: Integer; s: String;
begin
  if Edit1.Text <> 'then
  begin
    s := Edit1.Text;
    i := 1;
    while i <= Length(s) do
    begin
      if (not (s[i] in ['0'..'9', DecimalSeparator])) or
         ((s[i] = DecimalSeparator) and (Pos(DecimalSeparator, s) <> i)) then
        Delete(s, i, 1)
      else
        Inc(i);
    end;
    if s <> Edit1.Text then
      Edit1.Text := s;
  end;
end;
Ja, und dann kann man sich OnKeyPress wohl sparen...

//edit:
Code verbessert!
Danke für die Hilfe, den Code hab ich jetzt auch eingebaut, funktioniert ohne Probleme
Andreas "Andi" G.
  Mit Zitat antworten Zitat