ftpforcedirectories indyftp

 {
  调用示例:
  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;

 

你可能感兴趣的:(ftpforcedirectories indyftp)