Einzelnen Beitrag anzeigen

Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#5

Re: Editbox: Nur Zahlen zulassen

  Alt 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;
  Mit Zitat antworten Zitat