{
调用示例:
idftp.Connect();
FTPForceDirectories(idftp, '/abc/123/567');
}
function FTPForceDirectories(ftp: TIDFTP; Dir: string): Boolean;
var
dirNames, lst: TStrings;
tmpdir, str: string;
i, j: Integer;
found: Boolean;
begin
Result := False;
lst := TStringList.Create;
dirNames := TStringList.Create;
dirNames.Text := StringReplace(Dir,'/', #$D#$A, [rfReplaceAll]);
try
try
);
for i := 0 to dirNames.Count - 1 do begin
tmpdir := dirNames[i];
if tmpdir = '' then continue;
);
found := False;
for j := 0 to lst.Count - 1 do begin
str := lst[j];
if (str[1]='d') and Sametext(Copy(str, 56, 255), tmpdir) then begin
found := True;
Break;
end;
end;
if not found then );
);
end;
Result := true;
except
on E: Exception do begin
end;
end;
finally
dirNames.free;
lst.free;
end;
end;