如题,在线等待,谢谢大家

解决方案 »

  1.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls,unit2;type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        Button3: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
      test = class(TThread)
      private
        { Private declarations }
      protected
        procedure Execute; override;
      end;
    var
      Form1: TForm1;
      dd:test;
    implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
      dd:=test.Create(false); 
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      dd.Suspend ;
    end;procedure TForm1.Button3Click(Sender: TObject);
    begin
      dd.Resume ;
    end;
    procedure test.Execute;
    var
      i:Integer;
      f:textfile;
    begin
      { Place thread code here }
       assignfile(f,'c:\aa.txt');
       rewrite(f);
       while not terminated do
       begin
         for I:=1 to 100000000 do
         begin
           sleep(200);
           writeln(f,inttostr(i));
           flush(f);
         end;
       end;
       closefile(f);
    end;
    end.
      

  2.   

    // 瞎贴一个unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls,Unit2;type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        Button3: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1 ;
      T : TTest ;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
      T := TTest.Create ;
      with t do
        if Suspended then Resume ;
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      t.Suspend ;
    end;procedure TForm1.Button3Click(Sender: TObject);
    begin
      t.Resume ;
    end;end.------------------------------------unit Unit2;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TTest = class(TThread)
      private
        { Private declarations }
        procedure ShowIt ;
      protected
        procedure Execute; override;
      public
        j : Integer ;
        constructor Create ;
      end;implementationuses Unit1 ;{ Important: Methods and properties of objects in VCL or CLX can only be used
      in a method called using Synchronize, for example,      Synchronize(UpdateCaption);  and UpdateCaption could look like,    procedure TTest.UpdateCaption;
        begin
          Form1.Caption := 'Updated in a thread';
        end; }{ TTest }constructor TTest.Create ;
    begin
      inherited Create(false) ;
    end ;procedure TTest.ShowIt ;
    begin
      Form1.Caption := IntToStr(j) ;
    end ;procedure TTest.Execute;
    var
      i : Integer ;
    begin
      { Place thread code here }
      for i := 0 to 1000 do
      begin
        j := i ;
        Synchronize(ShowIt) ;
        Sleep(1000) ;
      end ;
    end;end.
      

  3.   

    to wjlsmail(计算机质子) 为什么循环不能继续进行?
      

  4.   

    可以呀:) 先 Button1 ; //创建
    再 Button2 ; //暂停
    后 Button3 ; //唤醒