edit框只输入数字

来源:互联网 发布:手机全能恢复软件 编辑:程序博客网 时间:2024/06/05 16:54

procedure TfrmMain.edt1Change(Sender: TObject);
var
  sEdt: string;
  pEdt: Pchar;
  i, iLength: longint;
begin
  sEdt:= TEdit(Sender).Text;
  iLength := Length(sEdt);
  pEdt:= pchar(sEdt);

  for i := 0 to iLength - 1 do
  begin
    if not (pEdt ^ in ['0'..'9', #8]) then
    begin
      TEdit(Sender).Clear;
      Exit;
    end;
    pEdt:= pEdt + 1;
  end;

end;

procedure TfrmMain.edt1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (Key in ['0'..'9', #8]) then
    Key := #0;
end;

原创粉丝点击