用delphi的edit输入字符,只能用英文和数字,只能以英文开始,问高手怎么写??
123avc123:你的好象还有一点没有说到;如果这是一个登录框,那假设我的用户名写错了,那我就要删除了再输入,就应该是添加ASCII码#008以便删除用啊Ifnot(k...
123avc123:
你的好象还有一点没有说到;
如果这是一个登录框,
那假设我的用户名写错了,
那我就要删除了再输入,
就应该是添加ASCII码#008以便删除用啊
If not
(key in [#97..#122,#65..#90,#48..#57, #008]) then
你觉得是不是??
我不是很懂的~~~
说错了不要见笑 展开
你的好象还有一点没有说到;
如果这是一个登录框,
那假设我的用户名写错了,
那我就要删除了再输入,
就应该是添加ASCII码#008以便删除用啊
If not
(key in [#97..#122,#65..#90,#48..#57, #008]) then
你觉得是不是??
我不是很懂的~~~
说错了不要见笑 展开
1个回答
展开全部
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin //上面的不用说了吧?下面的是实现代码
If not (key in [#97..#122,#65..#90,#48..#57]) then //#97到#122就是小写字母a到z的ASCII码,#65到#90是大写,#48到#57是数字0到9的ASCII码。如果按下的key不在这些范围内,下面:
begin
key:= #0; //忽略掉用户按的键,别显示出来
ShowMessage('只能输入字母或数字');//显示对话框
end else //否则,在以上范围内的话
if (Edit1.SelStart=0) and (not (key in [#97..#122,#65..#90])) then //判断,如果光标在第一位置,并且key不在大小写和数字范围内,下面:
begin
Key:=#0; //忽略掉用户按的键,别显示出来
ShowMessage('必须以字母开头'); //并显示对话框
end;
end;
begin //上面的不用说了吧?下面的是实现代码
If not (key in [#97..#122,#65..#90,#48..#57]) then //#97到#122就是小写字母a到z的ASCII码,#65到#90是大写,#48到#57是数字0到9的ASCII码。如果按下的key不在这些范围内,下面:
begin
key:= #0; //忽略掉用户按的键,别显示出来
ShowMessage('只能输入字母或数字');//显示对话框
end else //否则,在以上范围内的话
if (Edit1.SelStart=0) and (not (key in [#97..#122,#65..#90])) then //判断,如果光标在第一位置,并且key不在大小写和数字范围内,下面:
begin
Key:=#0; //忽略掉用户按的键,别显示出来
ShowMessage('必须以字母开头'); //并显示对话框
end;
end;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询