delphi 线程应用简单例子

来源:互联网 发布:智能电视网络dns设置 编辑:程序博客网 时间:2024/05/07 14:01
unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls;type  TForm1 = class(TForm)    btn1: TButton;    procedure btn1Click(Sender: TObject);  private    { Private declarations }  public    { Public declarations }  end;var  Form1: TForm1;implementation{$R *.dfm}procedure Delay(dwMilliseconds:DWORD);//LongintvariStart,iStop:DWORD;begin    iStart :=   GetTickCount;    repeat    iStop  :=   GetTickCount;    Application.ProcessMessages;    until (iStop  -  iStart) >= dwMilliseconds;end;function myThreadDemo(P:pointer):Longint;stdcall;vari :longint;DC:HDC;S:String;begin  DC:=getDC(Form1.Handle);  for i:=0 to 500000 do  begin    S:=inttostr(i);    Delay(100);    Textout(DC,10,10,Pchar(S),length(S));  end;  ReleaseDC(Form1.Handle,DC);end;procedure TForm1.btn1Click(Sender: TObject);var  hthread:  THandle;   //定义一个句柄  threadid:DWORD;begin  hthread:=createThread(nil,0,@myThreadDemo,nil,0,threadid);  if hthread =0 then    messagebox(Handle,'DidntCreateaThread',nil,MB_OK);end;end.

原创粉丝点击