Delphi 文件遍历
unit Unit5; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Generics.Collections; type TForm5 = class(TForm) Memo1: TMemo; Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form5: TForm5; implementation {$R *.dfm} procedure TForm5.Button1Click(Sender: TObject); var SearchRec: TSearchRec; Ret: Integer; s: TStack<string>; dir, pa, p: string; begin s := TStack<string>.Create; s.Push('E:\神鬼传奇\SGCQ_5000120\Data\Character\Pet'); while s.Count > 0 do begin dir := s.Pop; pa := IncludeTrailingPathDelimiter(dir) + '*.*'; Ret := FindFirst(pa, faAnyFile, SearchRec); while Ret = 0 do begin if (SearchRec.Attr and faDirectory) <> faDirectory then Memo1.Lines.Add(SearchRec.Name) else begin p := SearchRec.Name; if (p <> '.') and (p <> '..') then s.Push(IncludeTrailingPathDelimiter(dir) + SearchRec.Name); end; Ret := FindNext(SearchRec); end; end; end; procedure TForm5.Button2Click(Sender: TObject); var FH: THandle; begin Memo1.Lines.Add(GetCurrentDir); FH := Windows.CreateFile('D:\t.txt', 0, 0, nil, CREATE_ALWAYS, 0, 0); Windows.CloseHandle(FH); end; end.