如何遍历文件?(5)

  • 主题发起人 主题发起人 wxj9527
  • 开始时间 开始时间
W

wxj9527

Unregistered / Unconfirmed
GUEST, unregistred user!
文件结构如下:/Bugs/bug_1/xx.doc /xx.text /... /bug_2/yy.doc /.... /bug_n ...我要首先要把bugs目录下的所有文件夹名(bug_1到bug_n)存到一个TStringList.然后当bug_1时把bug_1目录下的所有文件存到数据库!以此类推!  我应该怎样写??谢谢!!积分不够了. 明天看贴另外给分!! 谢谢!!
 
列举子目录function GetSubFolders(const aFolder:string;aList:TStrings;aAppend:Boolean):Boolean;var findData:TWin32FindData; hFind:THandle; bFind:LongBool;begin Result:=False; hFind:=Windows.FindFirstFile(PChar(aFolder+'/*.*'),findData); if hFind=INVALID_HANDLE_VALUE then Exit; if not aAppend then aList.Clear; bFind:=True; while bFind do begin if findData.cFileName[0]='.' then begin bFind:=Windows.FindNextFile(hFind,findData); Continue; end; if (findData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY)<>0 then aList.Add(aFolder+'/'+findData.cFileName); bFind:=Windows.FindNextFile(hFind,findData); end; Windows.FindClose(hFind);end;
 
列举目录下文件(不列举子目录)function GetFiles(const aFolder:string;aList:TStrings;aAppend:Boolean):Boolean;var findData:TWin32FindData; hFind:THandle; bFind:LongBool;begin Result:=False; hFind:=Windows.FindFirstFile(PChar(aFolder+'/*.*'),findData); if hFind=INVALID_HANDLE_VALUE then Exit; if not aAppend then aList.Clear; bFind:=True; while bFind do begin if findData.cFileName[0]='.' then begin bFind:=Windows.FindNextFile(hFind,findData); Continue; end; if (findData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY)=0 then aList.Add(aFolder+'/'+findData.cFileName); bFind:=Windows.FindNextFile(hFind,findData); end; Windows.FindClose(hFind);end;
 
地质灾害 同志的很对。就是一遍历,或者使用FindFirst 和FindClose一样的。存入数据库就不要说了把,如果你的文件很大的话,存入会比较慢。如果光存入文件名的话,不存在问题了。
 
接受答案了.
 
后退
顶部