{自定义进度条,By 闫磊 编写 2004.10.11 Email:landgis@126.com yanleigis@21cn.com,调用方法如下
const
Maxx = 10000;
var
i: Integer;
begin
initProgressBar(Maxx,'工作');
try
for i := 1 to Maxx do
if ProgressStep() then
Break;
finally
FreeProgressStep();
end;
end;
}
{类的作用的是创建一个带有进度条以及取消按钮的窗体,在调用时可根据公有函数里的
initProgressBar,ProgressStep和FreeProgressStep来得到一个可以显示进度的进度条。
具体方法如下所示:
1.在长时间循环时:(从1加到10000的例子)
procedure DoAdding;
var
i,Maxx: Integer;
SumCount: Integer;
begin
MaXX := 10000;
SumCount := 0;
initProgressBar(Maxx,'工作');
try
for i := 1 to Maxx do
begin
SumCount := SumCount +i;
if ProgressStep() then
Break;
end;
finally
FreeProgressStep();
end;
end;
}
unit utProgress;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RzPrgres, StdCtrls, RzButton;
{---------------------TMyProgress类----------------------------------------}
type
TMyProgress = class(TObject)
procedure btnCancelClick(Sender: TObject);
private
{ Private declarations }
public
{ 类的构造函数,创建进度条对话框FrmProgress,并在FrmProgress里创建进度条ProgressBar
以及取消按钮,这个取消按钮执行的事件是btnCancelClick}
//constructor Create(); overload;
constructor Create(MaxNum: Integer = 1; IsCancel: Boolean = True);
overload;
{ 类的析构函数,释放FrmProgress}
destructor Destroy; override;
end;
{-----------------------------公有函数------------------------------------}