unit3.pas

来自「delphi中实现多线程的实例」· PAS 代码 · 共 101 行

PAS
101
字号
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls;
type
    Tthread1 = class(Tthread)
    protected
    procedure Execute;override;
    end;
type
  Tthread2 = class(Tthread)
    protected
    procedure Execute;override;
    end;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    st1: TEdit;
    st2: TEdit;
    p: TProgressBar;
    p2: TProgressBar;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
   mm:Tthread1;
implementation

{$R *.dfm}

procedure Tthread1.Execute;
var
  i: integer;
begin
FreeOnTerminate:=true;
  for i:=1 to 10000 do
  begin
    form1.st1.Text := inttostr(i);
    form1.p.StepIt;
    application.ProcessMessages;
  end;
end;

procedure Tthread2.Execute;
var
  i: integer;
begin
  FreeOnTerminate:=true;
  for i:=1 to 10000 do
  begin
  form1.p2.StepIt;
    form1.st2.Text := inttostr(i);
    application.ProcessMessages;
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
 mythread:Tthread1;

begin
 // mythread:=Tthread1.Create(false);
  mm:=Tthread1.Create(false);
end;





procedure TForm1.Button2Click(Sender: TObject);
var
 mythread:Tthread2;
begin
  mythread:=Tthread2.Create(false);
end;


procedure TForm1.Button3Click(Sender: TObject);
begin
mm.Suspend;
mm.DoTerminate;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?