delphi输入焦点问题
窗体上有一些EDIT,要求输入必须是数字如果是其他字符则弹出messagebox提示错误,点确定之后,焦点依然在输入错误的edit上,该怎么办?有人说用in[0..9]来...
窗体上有一些EDIT,要求输入必须是数字 如果是其他字符则弹出messagebox提示错误,点确定之后,焦点依然在输入错误的edit上 ,该怎么办?
有人说用in[0..9]来判断,但是我没用过啊,不知道语法是什么,在哪儿加。
谁能指教下,最好有程序和说明
我是说好多EDIT,并不是只有一个EDIT1。。。 展开
有人说用in[0..9]来判断,但是我没用过啊,不知道语法是什么,在哪儿加。
谁能指教下,最好有程序和说明
我是说好多EDIT,并不是只有一个EDIT1。。。 展开
5个回答
展开全部
onchange事件
procedure TForm1.edt1Change(Sender: TObject);
var
s:string;
i,len:Integer;
begin
s:=Trim(edt1.Text);
len:=Length(s);
for i:=0 to len do
begin
if s[i] in ['0','1','2','3','4','5','6','7','8','9'] then
begin
end else
begin
ShowMessage('');
edt1.Text='';
edt1.SetFocus;
end;
end;
end;
procedure TForm1.edt1Change(Sender: TObject);
var
s:string;
i,len:Integer;
begin
s:=Trim(edt1.Text);
len:=Length(s);
for i:=0 to len do
begin
if s[i] in ['0','1','2','3','4','5','6','7','8','9'] then
begin
end else
begin
ShowMessage('');
edt1.Text='';
edt1.SetFocus;
end;
end;
end;
展开全部
在Button‘确定’的Button1Click事件里写
procedure TForm1.Button1Click(Sender: TObject);
var
str:string;
i,len:Integer;
begin
str:=Trim(edit1.Text);
len:=Length(str);
if Len > 0 then
for i:=1 to len do
begin
if not (str[i] in ['0'..'9']) then
begin
edit1.Text :='';
ShowMessage('请输入数字');
edit1.SetFocus;
break;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
str:string;
i,len:Integer;
begin
str:=Trim(edit1.Text);
len:=Length(str);
if Len > 0 then
for i:=1 to len do
begin
if not (str[i] in ['0'..'9']) then
begin
edit1.Text :='';
ShowMessage('请输入数字');
edit1.SetFocus;
break;
end;
end;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、在edit的KeyPress事件中添加。
2、KeyPress事件的代码如下:
if not (Key in ['0'..'9', #8]) then
begin
application.messagebox(PChar('请输入数字!'), PChar(application.tile), MB_OK);
edit.setfoucs;
end;
2、KeyPress事件的代码如下:
if not (Key in ['0'..'9', #8]) then
begin
application.messagebox(PChar('请输入数字!'), PChar(application.tile), MB_OK);
edit.setfoucs;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if not (key in ['0'..'9',#13,#8]) then
begin
showmessage('您输入的是非数字');
Tedit(sender).setfocus;
Tedit(sender).clear;
end;
begin
showmessage('您输入的是非数字');
Tedit(sender).setfocus;
Tedit(sender).clear;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在edit的KeyPress事件中添加,KeyPress事件的代码如下:
if not (Key in ['0'..'9', #8,#13]) then
begin
showmessage('请输入数字');
edit.setfoucs;
end;
if not (Key in ['0'..'9', #8,#13]) then
begin
showmessage('请输入数字');
edit.setfoucs;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询