Ver Mensaje Individual
  #17  
Antiguo 08-11-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
El código tal cual te lo puse lista el contenido del directorio actual, así que si cambias el directorio actual, listara el contenido del nuevo directorio actual. De todas formas puedes especificar la ruta a listar:

Código Delphi [-]
procedure Listar(Server: string; Port: Word;Username, Password: PChar);
var
  hNet: HINTERNET;
  hCon: HINTERNET;
  hFind: HINTERNET;
  Context: DWORD;
  Data: WIN32_FIND_DATA;
begin
  Context:= 0;
  hNet := InternetOpen('agent', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  if (hNet <> nil) then
  begin
    hCon:= InternetConnect(hNet,PChar(Server),Port,Username,Password,
      INTERNET_SERVICE_FTP,0,Context);
    if (hCon <> nil) then
    begin
      //FtpSetCurrentDirectory(hCon,'/123'); // Con esto cambiariamos el directorio actual
      hFind:= FtpFindFirstFile(hCon,'/123/*',Data,0,Context); // < -- Fijate que digo que liste el directorio /123
      if hFind <> nil then
      begin
        repeat
          // Si quieres listar archivos ademas de directorio basta con eliminar esta linea
          //if (Data.dwFileAttributes and faDirectory) = faDirectory then
          //begin
            // Aqui muestro el nombre del directorio, tu puede hacer lo que quieras con el
            ShowMessage(Data.cFileName);
          //end;
        until not InternetFindNextFile(hFind,@Data);
        InternetCloseHandle(hFind);
      end;
      InternetCloseHandle(hCon);
    end;
    InternetCloseHandle(hNet);
  end;
end;
Responder Con Cita