Delphi7如何实现提示窗口,用户可以随时中止应用循环?
目前在做一外设读取程序,需要实现不断的读取用户操作外设的输入(COM口)。
想做成一个while循环,循环体内不断的读取信息,用户操作一次外设读取一次;主程序运行时,弹出一提示框,上面只有一个按钮--取消。如果用户单击了此按钮,那么循环中止;否则循环一直进行下去。
怎样实现上面功能呢?期望代码,Delphi不熟悉,练手的。
[解决办法]
// form2 所在单元
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
btn1: TButton;
procedure btn1Click(Sender: TObject);
end;
var
Form2: TForm2;
bStopFlag:Boolean = False; // 在单元接口部分定义一个bool变量
implementation
{$R *.dfm}
uses Unit1;
// sotp按钮
procedure TForm2.btn1Click(Sender: TObject);
begin
bStopFlag:=not bStopFlag;
end;
end.
// form1 所在单元
unit Unit1;
interface
uses Unit2; // uses form2所在单元
。。。。。
implementation
// OnCreate中创建form2并显示
procedure TForm1.FormCreate(Sender: TObject);
var
f2:TForm2;
begin
f2:=TForm2.Create(Self);
f2.Show;
end;
procedure TForm1.btnReadBacthClick(Sender: TObject);
var i:integer;
begin
while Unit2.bStopFlag do // 直接使unit2单元的变量
begin
btnReadClick(Sender);
Application.ProcessMessages();
sleep(1000);
end;
end;