当前位置:主页>销售管理软件> 列表

EDIT问题 找销售软件的技巧

仓库管理软件版1楼: 大家好,有个问题想请教大家,DELPHI中如何来限制用户在的EDIT输入非数字的其他字符,代码要怎么写,请大家帮忙,数字的ASCII码是什么?谢谢!!

2楼:   限制为只接收数字的例程如下:

   procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
   begin
   if not(key in[''0''..''9'',#8])then
    begin
     key:=#0;
     MessageBeep(1);
    end;
   end;

  程序通过TEdit组件的OnKeyPress事件,判断按键是否为0至9这10个数字键,或者是BackSpace键,如果不是则将该输入设置为空(key:=#0),将其屏蔽掉;如果是则接收字符输入。这里有一点需要说明的是,#8对应BackSpace键,我们不应将它也屏蔽掉,否则不能使用退格(BackSpace)键删除错误的数字输入。

  同样,如果要限制编辑框只接收字母(不管大小写)输入,程序如下:

   procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
   begin
   if not(key in[''a''..''Z'',#8])then
    begin
     key:=#0;
     MessageBeep(1);


    end;
   end; 如销售软件的技巧

3楼: 谢谢两位对我问题的回答,谢谢!!!

4楼: key not In [''0''..''9'']
可以判断一般的无符号整型
其他还有很多种类型

5楼: 小数点,delete键,方向键

6楼: 还要计算-

仓库管理软件版7楼: 一行搞定

设置只能输入数字,Del和退格键均有效:
SetWindowLong(Edit1.Handle, GWL_STYLE,
GetWindowLong(Edit1.Handle, GWL_STYLE) or ES_NUMBER);
恢复:
SetWindowLong(Edit1.Handle, GWL_STYLE,
GetWindowLong(Edit1.Handle, GWL_STYLE) and not ES_NUMBER);