大家好,有个问题想请教大家,DELPHI中如何来限制用户在的EDIT输入非数字的其他字符,代码要怎么写,请大家帮忙,数字的ASCII码是什么?谢谢!!
X xiaoming99129 Unregistered / Unconfirmed GUEST, unregistred user! 2006-03-02 #1 大家好,有个问题想请教大家,DELPHI中如何来限制用户在的EDIT输入非数字的其他字符,代码要怎么写,请大家帮忙,数字的ASCII码是什么?谢谢!!
P pjwork Unregistered / Unconfirmed GUEST, unregistred user! 2006-03-02 #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;
限制为只接收数字的例程如下: 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;
I iamy Unregistered / Unconfirmed GUEST, unregistred user! 2006-03-09 #4 key not In ['0'..'9'] 可以判断一般的无符号整型 其他还有很多种类型
S smithcouple Unregistered / Unconfirmed GUEST, unregistred user! 2006-03-10 #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);
一行搞定 设置只能输入数字,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);