procedure TForm1.Edit1Exit(Sender: TObject);
var
i:integer;
begin
for i:=1 to length(edit1.Text) do
begin
if(not(edit1.Text[i] in ['a'..'z','A'..'Z','0'..'9'])) then
begin
label4.Caption:='特殊字符';
exit;
end
else
label4.Caption:='';
end;
if edit1.Text='' then
begin
label4.Caption:='用户名不能为空';
label4.Font.Color:=clred;
end
else
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select * from DL where ID='''+EDIT1.Text+'''';
ADOQUERY1.Open;
if adoquery1.RecordCount<>0 then
begin
label4.Caption:='该用户名以存在';
label4.Font.Color:=clred;
end
else
begin
label4.Caption:='';
label4.Font.Color:=clbtnface;
end;
end;
end;
procedure TForm1.Edit2Exit(Sender: TObject);
begin
if edit2.Text='' then
begin
label5.Caption:='请输入密码';
label5.Font.Color:=clred;
end
else
begin
label5.Caption:='';
label5.Font.Color:=clbtnface;
end;
end;
procedure TForm1.Edit3Exit(Sender: TObject);
begin
if edit3.Text='' then
begin
label6.Caption:='请输入密码';
label6.Font.Color:=clred;
end
else
begin
if edit3.Text<>edit2.Text then
begin
label6.Caption:='确认密码不一致';
label6.Font.Color:=clred;
end
else
begin
label6.Caption:='';
label6.Font.Color:=clbtnface;
end;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
form1.Close;
end;
如果第一次在EDIT1中输入一个合法字符如1234不显示提示
如果第一次在EDIT1中输入的是一个不合法字符如@@@!!刚出显示
但问题是第一次在EDIT1中输入的是合法我跳到EDIT2把焦点给到EDIT2然后我在跳回在给EDIT1这时输入一个不合法字符@@@!!就没有提示.