ProgressBar.Show;
while ProgressBar.Visible do
begin
ProgressBar.StepIt;
Application.ProcessMessages;
if ProgressBar.Position >= ProgressBar.Max then
ProgressBar.Visible := False;
end;
while ProgressBar.Visible do
begin
ProgressBar.StepIt;
Application.ProcessMessages;
if ProgressBar.Position >= ProgressBar.Max then
ProgressBar.Visible := False;
end;
解决方案 »
- C调用delphi写的dll,FreeLibrary时出错
- 谁有B超影像方面的伪彩方案呀,一定多给分
- 如何清空dbgrid里面的记录?
- 求大批量记录Insert的高效方法,在线等待~
- 专家分终于上1000分了 散分表示祝贺! 同时希望大家多给我刚作的网站提意见,谢谢。
- 讲问大家知道DELPHI COM深入编程这本书的源码吗?
- 哪位朋友有Delphi5的函数手册,若是CHM版则更好,谢谢。
- 查出来记录都是重复很多条,急急急急急急急
- 我用delphi6。0做了一个东东,但不知道怎么生成.exe文件,请教?
- 急需各位大虾的帮忙,俺遇到一个问题,怎么在程序开始打开数据库,在主窗体的onshow事件中连接数据库?需要什么步骤?
- 关注,关注,参与有分,不够还加
- 问题,分,送分,真的,来者有分
var
F: File;
MyData: array[1..2048] of byte;
BytesRead: LongInt;
begin
AssignFile(F, FName);
try
Reset(F);
ProgressBar1.Max := FileSize(F);
if (ProgressBar1.Max > 10) then
// amount to move when StepIt method called
ProgressBar1.Step := ProgressBar1.Max div 10
else
ProgressBar1.Step := ProgressBar1.Max;
while (ProgressBar1.Position < ProgressBar1.Max) do begin
// read one Step size chunk of data to buffer
BlockRead(F, MyData, ProgressBar1.Step, BytesRead);
// move the ProgressBar Position using StepIt
ProgressBar1.StepIt; // move by Step amount
end;
finally;
CloseFile(F);
end;
end;
object ProgressBar: TProgressBar
Left = 0
Top = 438
Width = 301
Height = 22
Min = 0
Max = 100
Step = 1
TabOrder = 5
Visible = False
end
然后用这个语:progressbar1.position:=progressbar1.position+n;
其中的N为进度条的进度值前进量,在程序中要先设置或自动计算细分每次前进的量,保证运行正确!
先设置min,max,后用以下语句:
ProgressBar1.Position:=ProgressBar1.Position+N;
N为前进量!
试试看!
Backup Database .....
但时执行语句中,并没有像以下类似
procedure DataSetFetchProgress(DataSet: TCustomADODataSet; Progress,MaxProgress: Integer; var EventStatus: TEventStatus);事件函数能够加入代码:
ProgressBar1.Position:=ProgressBar1.Position+N;