删除文件怎么显示进度??

wwwcan 2003-11-07 06:11:42
我用了一个函数和一个过程,来删除文件和目录,如下:
//目录
function DelDirectory(const Source: string): boolean;
var
fo: TSHFILEOPSTRUCT;
begin
FillChar(fo, SizeOf(fo), 0);
with fo do
begin
Wnd := 0;
wFunc := FO_DELETE;
pFrom := PChar(source + #0);
pTo := #0#0;
fFlags := FOF_NOCONFIRMATION + FOF_SILENT;
end;
Result := (SHFileOperation(fo) = 0);
end;
//文件
procedure DeleteFiles (const Path, Mask : string; recursive : boolean);
var
Result : integer;
SearchRec : TSearchRec;
begin
Result := FindFirst(Path + Mask, faAnyFile - faDirectory, SearchRec);
while Result = 0 do
begin
if not DeleteFile (Path + SearchRec.name) then
begin
FileSetAttr (Path + SearchRec.name, 0); { reset all flags }
DeleteFile (Path + SearchRec.name);
end;
Result := FindNext(SearchRec);
end;
FindClose(SearchRec);

if not recursive then
exit;

Result := FindFirst(Path + '*.*', faDirectory, SearchRec);
while Result = 0 do
begin
if (SearchRec.name <> '.') and (SearchRec.name <> '..') then
begin
FileSetAttr (Path + SearchRec.name, faDirectory);
DeleteFiles (Path + SearchRec.name + '\', Mask, TRUE);
RmDir (Path + SearchRec.name);
end;
Result := FindNext(SearchRec);
end;
FindClose(SearchRec);
end;
我应该怎么做删除文件和删除目录的进度条呢?
...全文
196 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hare007 2003-11-10
  • 打赏
  • 举报
回复
根据删除的文件个数,设置进度条的长度,删除一个就长一点
wwwcan 2003-11-10
  • 打赏
  • 举报
回复
原理我知道,但是不会实现。我刚学DELPHI,很多都不太了解,能再详细点吗?
比如要用什么函数,或者代码。
hkbarton 2003-11-08
  • 打赏
  • 举报
回复
先看这次删除有多少个文件,然后根据这个设置maxlength,每删除一个文件进度条就长一些
lw549 2003-11-08
  • 打赏
  • 举报
回复
删除文件的操作只是修改一下磁盘目录表(设置第一位为E5),和文件分配表(设置首簇为可用)
消耗的时间很短,所以,可以根据删除的文件数目来进行进度显示的控制。
lxhong1980 2003-11-08
  • 打赏
  • 举报
回复
设置min max值
初始值progressbar1.position;=0;

再每删除一个文件progressbar1.position就赋一个增大的值

progressbar1.position;=20;
……
progressbar1.position;=30;

……
……
progressbar1.position;=100;
sixgj 2003-11-07
  • 打赏
  • 举报
回复
呵呵,做个半假不真的算了。在代码中隔几行就写progressbar.position;=10;

……
progressbar1.position;=20;
……
progressbar1.position;=30;

……
……
progressbar1.position;=100;

呵呵,效果也不错。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧