zoukankan      html  css  js  c++  java
  • delphi 多线程定时执行程序如何写

    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;
     
    type
      TSysChatMainForm = class(TForm)
        procedure FormCreate(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
      private
        { Private declarations }
        FTestNetThread: TThread;
      public
        { Public declarations }
      end;
     
    var
      SysChatMainForm: TSysChatMainForm;
     
    implementation
     
    {$R *.dfm}
     
    type
      TTestNetThread = class(TTHread)
        procedure Execute; override;
        procedure RefreshUIInMainThread;
      end;
     
    { TTestNetThread }
     
    procedure TTestNetThread.RefreshUIInMainThread;
    begin
      bsTrayIcon.ShowBalloonHint('网络异常','由于网络异常,程序掉线!',bsbitInfo);
    end;
     
    procedure TTestNetThread.Execute;
    begin
      inherited;
      FreeOnTerminate := True;
     
      while (not Terminated) and (not InternetGetConnectedState(nil, 0)) then
      begin
        Data.UserOff('[脱机]',false);
        Synchronize(RefreshUIInMainThread);
     
        Sleep(3000)
      end;
    end;
     
    { TSysChatMainForm }
     
    procedure TSysChatMainForm.FormCreate(Sender: TObject);
    begin
      FTestNetThread := TTestNetThread.Create(False);
    end;
     
    procedure TSysChatMainForm.FormDestroy(Sender: TObject);
    begin
      FTestNetThread.Terminate;
    end;
     
    end.
  • 相关阅读:
    HDU
    HDU-1166 敌兵布阵 (基础线段树)
    Matrices with XOR property (暴力)
    CF-825E Minimal Labels (反向拓扑)
    CodeForces-1144E Median String (模拟)
    操作文件和目录
    文件读写
    装饰器
    数据结构和算法
    Scrapy shell调试返回403错误
  • 原文地址:https://www.cnblogs.com/jijm123/p/13467282.html
Copyright © 2011-2022 走看看