对这个完全不懂,谁来写小段代码给我学习下呢比如从1加到1万的循环,在循环时窗体可以拖动,我知道可以用app....那方法我只是想看看多线程应该如何写。谢谢
解决方案 »
- 鼠标放控件上,没有提示控件名?
- 给CSDN的建议
- 如何安装第三方控件?
- dbedit.text 与dbedit.edittext有什么区别?
- 急!急!急!COMBOBOX问题!(在线等候!)!
- 国庆.........散分
- 求救!报错:'''is not a valid value 我找不到哪错了.
- 书??Delphi资深人员请进...在线等待
- 静态数组,动态数组,以及用getmem 分配内存,分配出来的内存内容是不是必为0,还是要自己初始化?
- delphi 如何用DLL模式开发数据库应用程序,给个exe+dll+datamoudl操作数据库简单实例
- 如何按序列号自动生成图片
- 使用fastreport如何对报表添加页脚???
SysUtils,Classes;type
Test = class(TThread)
private
{ Private declarations }
protected
procedure Execute; override;
procedure UpdateEdit;
end;implementationuses Unit1;
var
i:integer;{ Important: Methods and properties of objects in visual components can only be
used in a method called using Synchronize, for example, Synchronize(UpdateCaption); and UpdateCaption could look like, procedure Test.UpdateCaption;
begin
Form1.Caption := 'Updated in a thread';
end; }{ Test }
procedure Test.UpdateEdit;
begin
Form1.Edit1.Text:=IntToStr(i);
end;procedure Test.Execute;
begin
{ Place thread code here }
for i:=0 to 10000 do
begin
if Terminated then
break;
Synchronize(UpdateEdit);
Sleep(10);
end;
end;end.
////////////////////////
主程序单元:
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementationuses Unit2;{$R *.dfm}
var
thTest:Test;
procedure TForm1.Button1Click(Sender: TObject);begin
thTest:=Test.Create(true);
thTest.Resume;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
thTest.Terminate;
thTest.Free;
end;end.
end;