急求IndyFTP获得指定目录下面所有文件的方法!!!
我是这样写的:
function Tfrm_SynFTPFiles.FTPListAllFiles(ftp: TIdFTP;dir:string): TStringList;
var
i,Count : integer;
fl : TStringList;
test : string;
begin
result := TStringList.Create;
fl := TStringList.Create;
ftp.ChangeDir(dir);
ftp.List(nil);
Count := ftp.DirectoryListing.Count;
for i := 0 to Count - 1 do
begin
if (ftp.DirectoryListing.Items[i].FileName <> '.') and (ftp.DirectoryListing.Items[i].FileName <> '..') then
begin
if ftp.DirectoryListing.Items[i].ItemType = ditDirectory then
begin
result.AddStrings(FTPListAllFiles(ftp,ftp.DirectoryListing.Items[i].FileName));
end;
if ftp.DirectoryListing.Items[i].ItemType = ditFile then
result.Add(ftp.RetrieveCurrentDir + '/' + ftp.DirectoryListing.Items[i].FileName);
end;
end;
end;
为什么的不到正确的值呢?