Thread类的创建及使用

王朝delphi·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

一、Thread类的创建:

unit Thread;

{ 线程类的创建

编译环境: Windows 2003 Sever Delphi 7.0 Enterprise

}

interface

uses classes,sysutils,StdCtrls;

type

TB = class(TThread)

private

i :integer;

Fedt :TEdit;

procedure Update ;

public

procedure execute;override;

constructor create(IsSuspended :Boolean;edt :TEdit);

end;

implementation

uses MainForm;

procedure TB.Update;

begin

Fedt.Text :=inttostr(i);

end;

constructor TB.create(IsSuspended: Boolean; edt: TEdit);

begin

inherited create(IsSuspended);

Fedt := edt;

end;

procedure TB.execute;

begin

i:=0;

while(not Terminated) do

begin

Synchronize(Update);

inc(i);

end;

end;

end.

二、Thread类的使用:

unit MainForm;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls,Thread;

type

TfrmMain = class(TForm)

Button1: TButton;

Button2: TButton;

Edit1: TEdit;

Edit2: TEdit;

procedure FormCreate(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure ButtonClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

frmMain: TfrmMain;

a,b:TB;

implementation

{$R *.dfm}

procedure TfrmMain.FormCreate(Sender: TObject);

begin

a:=TB.create(true,edit1);

b:=TB.create(True,edit2);

end;

procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);

begin

freeandnil(a);freeandnil(b);

end;

procedure TfrmMain.ButtonClick(Sender: TObject);

var c :TB;

begin

if sender = Button1 then c :=a

else c:=b;

if c.Suspended then begin

c.Resume ; (sender as TButton).Caption :='暂停';

end else begin

c.Suspend ;(Sender as TButton).Caption :='开始';

end;

end;

end.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航