delphi中,如何读取一个目录中的所有文件?在线等……

delphi中,如何读取一个目录中的所有文件?在线等……,第1张

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

现需读取目信颂前录:“c:\history data”文件夹中所有文件(该文件夹中,只包含.txt和.done文件),需对每个文件进行处理。

另,求将文件转换目录的函数(比如将c:\history data的文件转移到d:\history中)

解析:

procedure FileSearch(PathName:string)

var

F : TSearchRec

Found : Boolean

begin

ChDir(PathName)

Found := (FindFirst('*.*', faAnyFile, F) = 0)

while Found do

begin

if (F.Name = '.') or (F.Name = '..') then

begin

Found := (FindNext(F) = 0)

Continue

end

if (F.Attr and faDirectory)>0 then

begin

Application.ProcessMessages

FileSearch(F.Name)

end

插滑清入你的代码,F.Name就是文樱盯件名,GetCurrentDir可以得到当前目录

Found := (FindNext(F) = 0)

end

FindClose(F)

ChDir('..\')

end

转换目录可以用MoveFile,查一下帮助

没必要去循环删除,速度很慢,桐迹饥直接调用api就行了,如州宴下,直接在uses shellapi之后,局返调用SHMyDelDirectory去删除你的目录.

function SHMyDelDirectory(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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12216686.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存