D dxiaoliang Unregistered / Unconfirmed GUEST, unregistred user! 2009-05-19 #1 TBlobField(ADOQuery1.FieldByName('Data')).SaveToFile(path);如何实现上面写入文件的进度条呢
X xiaojun5556 Unregistered / Unconfirmed GUEST, unregistred user! 2009-05-19 #2 可以在上面放个PANEL,保存的时候显不一下,保存完了就隐藏了;
Z znxia Unregistered / Unconfirmed GUEST, unregistred user! 2009-05-19 #3 楼上方法不错。如果是在要显示进度,那也只能跟踪delphi代码,将实现该功能的代码拷贝出来,自己写一遍,并在其中实现进度条的功能。最后发现,主要是处理 TStream.CopyFrom函数的功能。另外,该函数写文件的时候可能并不长,长的是将数据从数据库查询出来,这部分时间好像不容易用进度条来处理了。
楼上方法不错。如果是在要显示进度,那也只能跟踪delphi代码,将实现该功能的代码拷贝出来,自己写一遍,并在其中实现进度条的功能。最后发现,主要是处理 TStream.CopyFrom函数的功能。另外,该函数写文件的时候可能并不长,长的是将数据从数据库查询出来,这部分时间好像不容易用进度条来处理了。
S smlabc Unregistered / Unconfirmed GUEST, unregistred user! 2009-05-19 #4 1,得到文件大小(如果文件不超过100M就别显示进度了)2,估计写入时间,可以先试着写一个一M的文件,看需要多少时间3,显示进度
D dxiaoliang Unregistered / Unconfirmed GUEST, unregistred user! 2009-05-19 #6 主要是我的这个功能是在控件中实现的,而控件又是不可见的,如何来显示进度条呢新起一个界面 这样就会用到多线程 这个我不是很熟啊
Z znxia Unregistered / Unconfirmed GUEST, unregistred user! 2009-05-19 #7 不需要多线程,新建一个Form,界面中放一个Gauge1或者ProgressBar1,每处理20K的字节,就设置一下控件的Progress(或position)属性,并调用一下Application.ProcessMessages就可以刷新了。
不需要多线程,新建一个Form,界面中放一个Gauge1或者ProgressBar1,每处理20K的字节,就设置一下控件的Progress(或position)属性,并调用一下Application.ProcessMessages就可以刷新了。