delphi怎么控制edit中只能输入数字??
vari:integer;procedureTForm1.Edit1Change(Sender:TObject);beginifedit1.text<>''thentry...
var
i:integer;
procedure TForm1.Edit1Change(Sender: TObject);
begin
if edit1.text<>'' then
try
i:=strtoint(edit1.Text)
except
begin
edit1.Clear;
showmessage('输入错误');
end
end;
end;
我是这样写的代码。。。但在调试的时候一输入字母他就会出现一窗口说什么错误,,但保存后执行他生成的EXE程序有可以使用,也能达到要求,是什么回事? 展开
i:integer;
procedure TForm1.Edit1Change(Sender: TObject);
begin
if edit1.text<>'' then
try
i:=strtoint(edit1.Text)
except
begin
edit1.Clear;
showmessage('输入错误');
end
end;
end;
我是这样写的代码。。。但在调试的时候一输入字母他就会出现一窗口说什么错误,,但保存后执行他生成的EXE程序有可以使用,也能达到要求,是什么回事? 展开
4个回答
展开全部
首先,在delphi里面控制edit只能输入数字的方法如下:
if not (key in ['0'..'9',#8]) then key := #0;只能输入汉字,而不能输入数字或其他字符.
在Edit的OnKeyPress事件中
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Ord(Key)<127) or (Ord(Edit1.Text[1])>127) then
Key:=#0;
end;
扩展一下回答:如果要使一文本框中只可输入数字,而且当输入的数字错误时还可以通过Backspace键来修改.
由于BackSpace的ASCII值是8,所以像以下这样即可
if (key<>#46) and ((key < #48) or (key > #57)) and (key <> #8) then
//如果输入不是数字或小数点(#46代表小数点)
begin
key:=#0; //取消输入的内容(#0代表空值)
showmessage('输入错误!请输入数字!'); //发出提示信息
end;.
if not (key in ['0'..'9',#8]) then key := #0;只能输入汉字,而不能输入数字或其他字符.
在Edit的OnKeyPress事件中
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Ord(Key)<127) or (Ord(Edit1.Text[1])>127) then
Key:=#0;
end;
扩展一下回答:如果要使一文本框中只可输入数字,而且当输入的数字错误时还可以通过Backspace键来修改.
由于BackSpace的ASCII值是8,所以像以下这样即可
if (key<>#46) and ((key < #48) or (key > #57)) and (key <> #8) then
//如果输入不是数字或小数点(#46代表小数点)
begin
key:=#0; //取消输入的内容(#0代表空值)
showmessage('输入错误!请输入数字!'); //发出提示信息
end;.
展开全部
在调试运行的时候是delphi捕获的异常,会有提示框,执行exe文件的时候就不关delphi的事了,所以就没有提示框了。
这样写最简单:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9', #8, #13]) then
begin
Key := #0;
ShowMessage('只能输入数字');
end;
end;
这样写最简单:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9', #8, #13]) then
begin
Key := #0;
ShowMessage('只能输入数字');
end;
end;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-11-16 · 知道合伙人互联网行家
关注
展开全部
首先,在delphi里面控制edit只能输入数字的方法如下:
if not (key in ['0'..'9',#8]) then key := #0;只能输入汉字,而不能输入数字或其他字符.
在Edit的OnKeyPress事件中
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Ord(Key)127) then
Key:=#0;
end;
扩展一下回答:如果要使一文本框中只可输入数字,而且当输入的数字错误时还可以通过Backspace键来修改.
由于BackSpace的ASCII值是8,所以像以下这样即可
if (key>#46) and ((key #48) or (key > #57)) and (key > #8) then
//如果输入不是数字或小数点(#46代表小数点)
begin
key:=#0; //取消输入的内容(#0代表空值)
showmessage('输入错误!请输入数字!'); //发出提示信息
end;.
if not (key in ['0'..'9',#8]) then key := #0;只能输入汉字,而不能输入数字或其他字符.
在Edit的OnKeyPress事件中
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Ord(Key)127) then
Key:=#0;
end;
扩展一下回答:如果要使一文本框中只可输入数字,而且当输入的数字错误时还可以通过Backspace键来修改.
由于BackSpace的ASCII值是8,所以像以下这样即可
if (key>#46) and ((key #48) or (key > #57)) and (key > #8) then
//如果输入不是数字或小数点(#46代表小数点)
begin
key:=#0; //取消输入的内容(#0代表空值)
showmessage('输入错误!请输入数字!'); //发出提示信息
end;.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以先将你抓到的包保存到文件 主要代码: /* 回调函数,用来处理数据包 */ void packet_handler(u_char *dumpfile, const struct pcap_pkthdr *header, const u_char *pkt_data) { /* 保存数据包到堆文件 */ pcap_dump(dumpfile, header,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询