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.