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

想实现的功能是,从在edit控件输入第一个字符开始计时,要计算输入两个字符的用时间隔。目的是限制键盘输入,只能用扫描枪扫描

第1个回答  2013-10-30
既然只能用扫描枪扫描,不允许用键盘输入,把edit控件设为只读(ReadOnly属性设置为True)不就行了吗?哪用什么计时。代码对edit控件的读写是不受edit控件的ReadOnly属性的影响的。
第2个回答  2013-10-30
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是否是可以编辑状态。本回答被提问者采纳
第3个回答  2013-10-29
不知所云,总之在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;

本回答被网友采纳

delphi7的TEdit编辑框只允许输入1个字符(键盘上的字母、特殊符号等包...
\/\/1,函数代码 { 判断字符串是否包含汉字 \/\/ judgeStr:要判断的字符串 \/\/posInt:第一个汉字位置 } function TForm2.IsHaveChinese(judgeStr: string; var posInt: integer): boolean;var p: PWideChar; \/\/ 要判断的字符 count: integer; \/\/ 包含汉字位置 isHave: boolean; \/\/ 是否包含汉字...

Delphi 多线程的一个代码如何写
TForm1 = class(TForm)Button1: TButton;Memo1: TMemo;Button2: TButton;Edit1: TEdit;Label1: TLabel;procedure FormCreate(Sender: TObject);procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure FormClose(Sender: TObject; var Action: TCloseAction);...

delphi中的tedit类是什么??
类似的 delphi 中,还有诸如:用英文字母 I 来作为 接口(Interface) 类型首字母标识等等。TEdit 类定义了一个 windows 窗口设计最常见的控件(类):编辑框:

请问Delphi中Tedit控件能否识别区分 键盘输入 和 条码扫描器输入 ??
我的程序是用EDIT框内容那个的变化来触发的,结果扫描器是逐个字符输入的那种,所以每次只能处理第一个字符,有没有谁见过一次输入整个字符串的那种扫描器

delphi 如何把一串字符串的某个值的前几个字符保留下来
COPY:字符串截取,返回数据类型为字符型。COPY共有三个参数:COPY(源字符串,起始截取位(整型,可为变量),截取位数(整型,可为变量))。二、实例演示(笔者以截取特定字符‘.'前5位为例),操作如下:1、添加TEDIT及TBUTTON控件各一个;2、在TBUTTON控件的单击事件中,写入代码:ShowMessage(...

Delphi Edit组件的奇怪问题,怎么某窗体上的Edit老是自动选择中文输入...
Formshow中加入下面代码,将所有的编辑框的默认输入法都设置为默认.\/\/所有编辑框输入法 inherited;for i:=0 to Self.ComponentCount-1 do begin if Self.Components[i] is TEdit THEN begin (Self.Components[i] as TEdit).imename:= '';(Self.Components[i] ...

我要写一个delphi 按回车就能跳转到url的Tedit的控件,具体代码怎么写...
你在代码中判断当按下回车键时自动跳转到指定URL即可。protected procedure KeyPress(var Key: Char); override;...procedure TMyEdit.KeyPress(var Key: Char);begin inherited; if Key = #13 then begin Key := #0; \/\/ OpenUrl(Furl); end;end;

delphi做电脑附件的计算器时,有个"凹陷"的地方是什么控件
Shift: TShiftState); procedure Edit1KeyPress(Sender: TObject; var Key: Char); private \/\/将窗体变量放置在这里也可以,这样如果有 \/\/Form2就无法访问 { Private declarations } public { Public declarations } end; var Form1: TForm1; flag : Integer =0; flag1: Integer =0; \/\/ 是否复位的标记...

delphi timer的用法
Form1.Edit2.Text:=FloatToStr(smmCount);smmCount:=smmCount-0.01;end;procedure TForm1.FormCreate(Sender: TObject);begin Button1.Caption :='开始倒计时';Button2.Caption :='结束倒计时';Button2.Enabled :=False;Button1.Enabled :=True;Timer1.Enabled :=False;smmCount:=60;sTimer...

Delphi中如何把函数代码调出主程序,写到“DLL”中并调用?
\/\/本行以下代码为我们真正动手写的代码 function TestDll(i:integer):integer;stdcall; external ’Delphi.dll’; procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text:=IntToStr(TestDll(1)); end; end. 上面的例子中我们在窗体上放置了一个编辑框(Edit)和一个按钮(Button),并且书写了很少...

相似回答
大家正在搜