开始,我将dataoutform.ProgressBar1.StepBy(20);
dataoutform.ProgressBar1.Refresh;放在结果集的循环中
当结果集中只有7、8条数据的时候,可以看到进度条中有显示
可当数据达到10000条时,再导出数据,进度条一点变化也没有后来搜索了以前的贴子,有人说以下方法可以。
adoquery1的executeoptions中的eoasyncfetch或eoasyncfetchnonblocking应该设置为true。
procedure TForm1.ADOQuery1FetchProgress(DataSet: TCustomADODataSet;
Progress, MaxProgress: Integer; var EventStatus: TEventStatus);
begin
form1.ProgressBar1.Position:=progress*100 div maxprogress;
Application.ProcessMessages;
end;
我试了以上方法,运行时报错'connection必须要异步'
我用的是access数据库,是不是这种数据库不支持异步
那该怎么做呢??急用,谢谢
dataoutform.ProgressBar1.Refresh;放在结果集的循环中
当结果集中只有7、8条数据的时候,可以看到进度条中有显示
可当数据达到10000条时,再导出数据,进度条一点变化也没有后来搜索了以前的贴子,有人说以下方法可以。
adoquery1的executeoptions中的eoasyncfetch或eoasyncfetchnonblocking应该设置为true。
procedure TForm1.ADOQuery1FetchProgress(DataSet: TCustomADODataSet;
Progress, MaxProgress: Integer; var EventStatus: TEventStatus);
begin
form1.ProgressBar1.Position:=progress*100 div maxprogress;
Application.ProcessMessages;
end;
我试了以上方法,运行时报错'connection必须要异步'
我用的是access数据库,是不是这种数据库不支持异步
那该怎么做呢??急用,谢谢
解决方案 »
- 我写了一个键盘记录,但是怎么控制键盘记录的开关?
- 使用indy.异常断开后,怎么恢复连接
- delphi在实现多层结构的时候不能传递自己定义的对象吗?java的RMI就有对象传递功能,在开发多层的面向对象系统的时候delphi是不是太有限
- 急问:怎样获得Excel的换页信息???
- 关于加密的一点小问题,各位大虾帮帮忙吧:)
- 怎么对TListView里的某一列排序?
- 各位,急需delphi6的注册码
- 如何检测驱动器容量?
- 关于COM对象的问题!
- 有谁知道什么安装软件中文支待最好,而且压缩比也最好!!!!
- 怎样让多个SpeedButton在Toolbar里垂直排列,而不是水平排列?(急!)
- 我把我的全部剩余分数都拿出来啦!求救啊!
var
i:integer;
begin
ProgressBar1.Position:=0;
ProgressBar1.Max:=10000;// ADOQuery1.RecordCount;
for i:=0 to 10000 do
begin
ProgressBar1.Position:=ProgressBar1.Position+1;
end;
end;
dataoutform.ProgressBar1.Refresh;
self.update;
var F: TextFile;
begin
adoquery.Open;
AssignFile(F, 'f:\NEWFILE.txt');
Rewrite(F);
pp.Max:=adoquery.RecordCount;
pp.step:=1;
while not adoquery.Eof do
begin
Writeln(F, 你的数据据);
pp.StepIt;
qq.Next;
end;
CloseFile(F);end;
如果不行,请参考《Delphi 5.X ADO_MTS_COM+高级程序设计篇》第三章,第四节(网上可下载)
谢谢
begin
...导入第i条的语句
if i是10的倍数 then
begin
Application.ProcessMessage;
ProgressBar1.Position:=ProgressBar1.Position+10;
end;
end;
请问StepIt和StepBy有什么区别?
怎么才能改变这种情况??
两种方法
1、label1.update;
2、Application.ProcessMessages;
加上其中的任何一句。