请教各位一个问题,还望不吝赐教

frued 2002-10-24 03:11:29
我用delphi做一个控制。

直接说我遇到的麻烦:

要处理个按键,达到这样的效果:
按下时不断的往串口发控制命令;

放开时往串口发结束命令。

时间精度问题不能采用定时器!

我觉得“不断”很难处理。

初到贵地,请多指教。
...全文
60 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
frued 2002-10-24
  • 打赏
  • 举报
回复
多谢了!
iceriver521 2002-10-24
  • 打赏
  • 举报
回复
为什么之间把握的这么严格?数据采集吗?
票票飞扬 2002-10-24
  • 打赏
  • 举报
回复
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
procedure Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Button1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
blMouseDown: Boolean;
implementation

{$R *.DFM}

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var ii:Integer;
begin
blMouseDown := True;
ii := 0;
while blMouseDown do
begin
Application.ProcessMessages;
Inc(ii);
Label1.Caption := IntToStr(ii);
Form1.Refresh;
end;
end;

procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
blMouseDown := False;
end;

end.

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧