在onkeydown事件里,如果输入值不符合有效性规则,则回退一格,清掉刚才的输入值,怎么写代码? if not (key in [49]) then key:=0;//不起作用比如:输入“110”,“0”不符合,则回退变为“11”。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 if key <> 49 then key := 0; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);begin if key <> #49 then key := #0;end; 可在OnKeyPress事件中: if key='a' then key:=#0; 你可以判断Key是不是要输入的,如果不是则赋空值就行了。case key of '0'..'9',Char(vk_delete),char(vk_Return),char(vk_back):; else key := #0end; 我是要在onkeydown事件里写,因为有可能按了shift,ctrl什么的。onkeypress我当然知道怎么写。但是现在必须写在onkeydown里。有方法吗? 在Edit1的OnKeyDown事件中,如果输入非法字符,则将其该字符删除: if key=#49 then Edit1.Text:=Copy(Edit1.Text,1,Lenth(Edit1.text)-1); 怎样实现程序运行时自动创建文件夹 修改AutoUpgrader组件时遇到的问题 delphi adoquery的问题 怎么定位数据呢? dephi7出现httpapp.dcu找不到 delpihi调用其他窗体变量 怎样得到本地的COM服务列表 请问:如何防止QQ的捕捉屏幕来切程序界面... 急急急!!!连续执行Sql语句,CPU使用率很快就达到100%!请各位大侠帮忙! 再开新帖还问关于时间查询的问题,急,还是在线等!!! 读Unix下的txt文件 convert(varchar(6),jc_date,112),是什么意思 关于word控件—2(帮忙写下文)。急。
key := 0;
begin
if key <> #49 then
key := #0;
end;
if key='a' then
key:=#0;
case key of
'0'..'9',Char(vk_delete),char(vk_Return),char(vk_back):;
else
key := #0
end;
if key=#49 then
Edit1.Text:=Copy(Edit1.Text,1,Lenth(Edit1.text)-1);