Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
|
Re: Editbox: Nur Zahlen zulassen
26. Nov 2006, 02:28
Ich habe das bis jetzt immer so gemacht. Ist nicht der schönste Code aber erfüllt seinen Zweck. Man muß ihn halt nur immer ein bisschen anpassen. Aber vielleicht kannst Du damit was anfangen.
Delphi-Quellcode:
procedure TForm1.OnlyNumberKeyPress(Sender: TObject; var Key: Char);
var
Puffer1, Puffer2: String;
Komma: Boolean;
begin
Fehlermeldung := False;
Komma := False;
Puffer1 := Key;
Puffer2 := (Sender as TLMDEdit).Text;
if not (Puffer1[1] in [#8, '0'..'9', '.', ',']) then
begin
Puffer1 := #0;
Key := #0;
end;
if Puffer1 = '.' then
begin
Puffer1 := ',';
Key := ',';
end;
//Auf Komma prüfen
if Pos(',', Puffer2) > 0 then Komma := True;
//Punkteingabeposition prüfen
if Komma = True then
begin
if Puffer1 = ',' then Puffer1 := #0;
if (Sender as TLMDEdit).SelLength > 0 then
begin
if (Sender as TLMDEdit).SelStart > Pos(',', Puffer2) then Puffer1 := #0;
if (Sender as TLMDEdit).SelStart <= Pos(',', Puffer2) then Puffer1 := Key;
end;
if (Sender as TLMDEdit).SelLength = Length((Sender as TLMDEdit).Text) then Puffer1 := Key;
end;
Key := Puffer1[1];
end;
|
|
Zitat
|