急求帮助 控制键盘事件,在keyup或者keydown里一秒钟只能按下某个键5次是怎么做的???请高手们指点下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //参考如下代码 private { Private declarations } FKeyDownCount: Integer; // 按下的次数 FKeyTickCount: Longword; // 最后一次按下的时间procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);begin if GetTickCount - FKeyTickCount > 1000 then // 两次按键的时间已经大于1秒 begin FKeyDownCount := 1; // 从1次开始计算 FKeyTickCount := GetTickCount; // 记录本次按下的时间 end else begin if FKeyDownCount >= 5 then begin Key := 0; // 取消按键 Exit; // 如果1秒钟内按键次数多于5次 end; Inc(FKeyDownCount); end; Memo1.Lines.Add(TimeToStr(Time) + '=' + IntToStr(Key)); // 输出用end; 请问如何创建一个所有窗体共用基类?并写入通用事件属性 如何控制用户不能输入错误的日期。 XP预览问题 FastReport 纸张设置问题 如何在Toolbar中放置一个date time picker控件? 一个关于大文件传送的问题 delphi 自带的interbase 能用odbc连接吗?急死人啦 很晕 关于WSAAsyncSelect的问题 delphi里结束语end问题????????????? 谁写过外语学习软件的点读功能的? 请问大虾,DSPack能不能播放mms流文件啊?
private
{ Private declarations }
FKeyDownCount: Integer; // 按下的次数
FKeyTickCount: Longword; // 最后一次按下的时间procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if GetTickCount - FKeyTickCount > 1000 then // 两次按键的时间已经大于1秒
begin
FKeyDownCount := 1; // 从1次开始计算
FKeyTickCount := GetTickCount; // 记录本次按下的时间
end else
begin
if FKeyDownCount >= 5 then
begin
Key := 0; // 取消按键
Exit; // 如果1秒钟内按键次数多于5次
end;
Inc(FKeyDownCount);
end;
Memo1.Lines.Add(TimeToStr(Time) + '=' + IntToStr(Key)); // 输出用
end;