Delphi 目錄函式,操作[1] FindFirst、FindNext、TSearchRec - 尋找目標目錄下的第一個檔案和下一個檔案
阿新 • • 發佈:2020-06-18
Delphi 目錄操作[1] FindFirst、FindNext - 尋找目標目錄下的第一個檔案和下一個檔案
單元:SysUtils
1、FindFirst //尋找目標目錄下的第一個檔案
函式 原型:
function FindFirst(const Path: string; Attr: Integer; var F: TSearchRec): Integer; const faSpecial = faHidden or faSysFile or faVolumeID or faDirectory; begin F.ExcludeAttr := not Attr and faSpecial; F.FindHandle := FindFirstFile(PChar(Path),F.FindData); if F.FindHandle <> INVALID_HANDLE_VALUE then begin Result := FindMatchingFile(F); if Result <> 0 then FindClose(F); end else Result := GetLastError; end;
返回值:成功找到檔案時,返回 0
Arrt 引數可定義:
- faReadOnly = $00000001 platform; //只讀檔案
- faHidden = $00000002 platform; //隱藏檔案
- faSysFile = $00000004 platform; //系統檔案
- faVolumeID = $00000008 platform; //卷標檔案
- faDirectory = $00000010; //目錄檔案
- faArchive = $00000020 platform; //歸檔檔案
- faSymLink = $00000040 platform; //連結檔案
- faAnyFile = $0000003F; //任意檔案
2、FindNext //尋找下一個檔案
函式原型:
function FindNext(var F: TSearchRec): Integer; begin if FindNextFile(F.FindHandle,F.FindData) then Result := FindMatchingFile(F) else Result := GetLastError; end;
返回值:成功找到檔案時,返回0
Arrt 引數,參考以上.
TSearchRec 引數 是一個檔案資訊的記錄型別,可以通過返回值獲取 SearchRec.Name 檔名、SearchRec.Size 檔案大小 等資訊。
TSearchRec 記錄型別原型:
TSearchRec = record Time: Integer; //檔案時間 Size: Integer; //檔案大小 Attr: Integer; //檔案屬性 Name: TFileName; //檔名稱 ExcludeAttr: Integer; FindHandle: THandle platform; FindData: TWin32FindData platform; end;
Delphi 示例:
var
SearchRec:TSearchRec; //搜尋物件
ext,AppPath:string;
begin
Listbox1.Clear; //清空列表框
AppPath:=Edit1.text; //設定要搜尋的目標目錄
ext:=‘*.*‘; //設定要搜尋的檔案字尾名
FindFirst(AppPath+ext,faAnyFile,SearchRec); //-faDirectory
Listbox1.Items.Add(SearchRec.Name); //新增檔名
while FindNext(SearchRec)=0 do
Listbox1.Items.Add(SearchRec.Name); //新增檔名
end;
建立時間:2020.06.18 更新時間: