Delphi tedit控件连续输入的字符计时,怎么写代码?

想实现的功能是,从在edit控件输入第一个字符开始计时,要计算输入两个字符的用时间隔。目的是限制键盘输入,只能用扫描枪扫描... 想实现的功能是,从在edit控件输入第一个字符开始计时,要计算输入两个字符的用时间隔。目的是限制键盘输入,只能用扫描枪扫描 展开
 我来答
dodolon
2013-10-30 · TA获得超过7713个赞
知道大有可为答主
回答量:4477
采纳率:84%
帮助的人:2158万
展开全部
既然只能用扫描枪扫描,不允许用键盘输入,把edit控件设为只读(ReadOnly属性设置为True)不就行了吗?哪用什么计时。代码对edit控件的读写是不受edit控件的ReadOnly属性的影响的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huinan1988
2013-10-30 · 超过26用户采纳过TA的回答
知道答主
回答量:49
采纳率:0%
帮助的人:60.8万
展开全部
procedure TForm1.Timer1Timer(Sender: TObject);
begin
edit1.Enabled:=false;
end;
procedure TForm1.Edit1Click(Sender: TObject);
begin
Timer1.Interval:=3000;
timer1.Enabled:=true;end;
1,Timer1.Interval 是间隔 timer1.Enabled 是 Timer是否开启 在Timer开启后Interval间隔后会调用 timer.ontiemr事件
2,edit1.Enabled 是TEdit是否是可以编辑状态。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ayi033
2013-10-29 · TA获得超过144个赞
知道小有建树答主
回答量:317
采纳率:100%
帮助的人:105万
展开全部
不知所云,总之在OnKeyPress里面处理把.
追问
想实现的功能是,从在edit控件输入第一个字符开始计时,要计算输入两个字符的用时间隔。目的是限制键盘输入,只能用扫描枪扫描
追答
//设置一个全局变量保存第一次输入的时间
LastCount:DWORD;

//在Edit的OnKeyPress事件处理
Procedure TForm1.Edit1KeyPress(Sender:TObject; Var Key:Char);
Begin
  if Edit1.text = '' then //编辑框是空的时候开始计时
    LastCount := GetTickCount  //得到第一个输入字符的时间
  else Begin //如果不是空的,那就计算时间间隔
    if GetTickCount - LastCount > Count then begin
    //如果这个时间大于你设置的间隔时间
     Key := #0;//把键值重置为空;
     Edit1.Text := '';//把编辑框重置为空;
    end else LastCount := GetTickCount; //如果间隔小于你的间隔时间就记录当前的时间计算下一个输入字符
  end;
end;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式