在密码输入的edit里限制汉字作为密码,用了一下事件:procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
strtmp : String;
i : Integer;
begin
strtmp := edit1.Text;
for i :=0 to length(strtmp) do
if ByteType(strtmp,i)<>mbSingleByte then
begin
showmessage('密码中请不要包含汉字!');
edit1.Text :='';
edit1.SetFocus;
break;
end;
if length(strtmp)>10 then
begin
showmessage('密码长度不要超过10位!');
edit1.Text :='';
edit1.SetFocus;
end;end;因为时间完毕,要清空eidi1里面的内容,所有有了edit1.Text :='';
问题是这个动作触发了了限制输入汉字的功能,使得这个限制功能老是错误的报错,“密码中请不要包含汉字!”请问如何解决呢?
var
strtmp : String;
i : Integer;
begin
strtmp := edit1.Text;
for i :=0 to length(strtmp) do
if ByteType(strtmp,i)<>mbSingleByte then
begin
showmessage('密码中请不要包含汉字!');
edit1.Text :='';
edit1.SetFocus;
break;
end;
if length(strtmp)>10 then
begin
showmessage('密码长度不要超过10位!');
edit1.Text :='';
edit1.SetFocus;
end;end;因为时间完毕,要清空eidi1里面的内容,所有有了edit1.Text :='';
问题是这个动作触发了了限制输入汉字的功能,使得这个限制功能老是错误的报错,“密码中请不要包含汉字!”请问如何解决呢?
解决方案 »
- EurekaLog Exception Filter, Type 是什么意思?
- 请问如何判断对方发送数据是用sendtext还是sendbuf
- 主从表中的从表增加记录时,第一笔记录录入后,第二个记录增加是看不到上面的记录
- 在三层结构中如果我的GGG.CommandText:= 'select * from nm where bm= '''+edit1.text+''' ';EDIT1.TEXT中有单引号出现就会报错如何解
- vcl组件开发问题!?
- 高难度日期比较问题!!!!!!!在线等待
- QQ在局域网外访问局域网内机器怎样实现的?
- 小弟新发的额软件,文件命名助手,欢迎大家使用!
- 用adoquery、adocommand、adostoredproc都可以调用存储过程,那用哪一种方法的效率高一些呢?
- 请教各位仁兄义姐,如何把读得的文本文件的一行赋给一个字符数组变量?
- DBGridEH 如何科到单元格的单击事件
- HsWong() 昨天的问题还没有明白可以跟你详谈吗?
var
strtmp : String;
i : Integer;
begin
strtmp := edit1.Text;
for i :=0 to length(strtmp) do
if ByteType(strtmp,i)<>mbSingleByte then
begin
showmessage('密码中请不要包含汉字!');
edit1.Text :='';
edit1.SetFocus;
break;
end;
if length(strtmp)>10 then
begin
showmessage('密码长度不要超过10位!');
edit1.Text :='';
edit1.SetFocus;
end;end;procedure TForm1.Button1Click(Sender: TObject);
begin
self.Edit1.Text := '';
end;
这样每次Button1Click(Sender: TObject);事件后就错误的抛出错误“密码中请不要包含汉字!”。
var
strtmp : String;
i : Integer;
begin
strtmp := edit1.Text;
for i :=0 to length(strtmp) do
if ByteType(strtmp,i)<>mbSingleByte then
begin
showmessage('密码中请不要包含汉字!');
edit1.Text :='';
edit1.SetFocus;
break;
end;掉到
procedure TForm1.Button1Click(Sender: TObject);
begin
self.Edit1.Text := '';
end;ok?
var
strtmp : String;
i : Integer;
begin
if trim(edit1.text)='' then exit;
strtmp := trim(edit1.Text);
for i :=0 to length(strtmp)-1 do
if ByteType(strtmp,i)<>mbSingleByte then
begin
showmessage('密码中请不要包含汉字!');
edit1.Text :='';
edit1.SetFocus;
break;
end;
if length(strtmp)>10 then
begin
showmessage('密码长度不要超过10位!');
edit1.Text :='';
edit1.SetFocus;
end;end;