Verificar se diretório existe
Alguém conhece uma função que verifique se uma pasta já existe no servidor remoto FTP?
Estou usando o componente Indy TIdFTP.
Estou usando o componente Indy TIdFTP.
Romario Melo
Curtidas 0
Respostas
Guilherme Wiethaus
26/05/2013
Meu querido,
Listar Arquivos no Diretório:
FileList é um descendente de classe TString. Todos os arquivos encontrados, usando o filtro, serão colocados na instância criada da classe TString.
idFTP é o componente instanciado da classe Indy TIdFTP.
Desta forma fica:
Se existir algum conteúdo colocado na matriz instância TString, Count irá retornar o número de entradas inserida nesta matriz de string.
Abraços
Listar Arquivos no Diretório:
idFTP.List(FileList, '*.exe', true); // retorna a lista de todos os arquivos com *.exe idFTP.List(FileList, 'meuarquivo.txt', true); // retorna um arquivo com nome meuarquivo.txt idFTP.List(FileList, '', true); // retorna uma lista com todos os arquivos no diretório idFTP.List(FileList, '*.*', true); // idem ao anterior
FileList é um descendente de classe TString. Todos os arquivos encontrados, usando o filtro, serão colocados na instância criada da classe TString.
idFTP é o componente instanciado da classe Indy TIdFTP.
Desta forma fica:
... var FileList: TString; begin FileList:= TString.Create(); idFTP.List(FileList, '*.exe', true); // retorna a lista de todos os arquivos com *.exe Result:= (FileList.Count > 0); // FileList.Free; ...
Se existir algum conteúdo colocado na matriz instância TString, Count irá retornar o número de entradas inserida nesta matriz de string.
Abraços
GOSTEI 0
Romario Melo
26/05/2013
Vou dá um exemplo...
eu quero saber se esse caminho já existe no servidor FTP:
eu acesso o host, ficando na raiz, dai preciso saber se o caminho já existe, se não vou ter que criar os caminho.
Então tenho que verificar pastas e subpastas. Dessa forma o FileList Não serve nesse caso.
www.meuhost.com/pasta1/subpasta1/
eu quero saber se esse caminho já existe no servidor FTP:
eu acesso o host, ficando na raiz, dai preciso saber se o caminho já existe, se não vou ter que criar os caminho.
Então tenho que verificar pastas e subpastas. Dessa forma o FileList Não serve nesse caso.
www.meuhost.com/pasta1/subpasta1/
GOSTEI 0
Guilherme Wiethaus
26/05/2013
Duas referencias interessantes:
http://www.mofeel.net/1279-borland-public-delphi-internet-winsock/3373.aspx
Este mostra e discute o o algoritmo.
e um site em alemão, o cara escreveu em inglês:
Veja que ele coloca o uso de algumas propriedades interessantes para investigar o tipo de arquivo ou folder, um contador e listagem. Veja se se adapta a você, pegue os métodos e propriedades que já ajudam a montar seu código.
Delphi-Praxis
http://www.delphipraxis.net/165750-idftp-komplettes-verzeichnis-herunterladen.html
Uma listagem das referencias principais:
No site em alemão, ele utiliza a pesquisa de subfolder usando TString.
Abraços
http://www.mofeel.net/1279-borland-public-delphi-internet-winsock/3373.aspx
Este mostra e discute o o algoritmo.
e um site em alemão, o cara escreveu em inglês:
Veja que ele coloca o uso de algumas propriedades interessantes para investigar o tipo de arquivo ou folder, um contador e listagem. Veja se se adapta a você, pegue os métodos e propriedades que já ajudam a montar seu código.
Delphi-Praxis
http://www.delphipraxis.net/165750-idftp-komplettes-verzeichnis-herunterladen.html
Uma listagem das referencias principais:
AFTP.List(); AFTP.DirectoryListing[i].ItemType = [ditFolder, ditFile...] AFTP.DirectoryListing.Count AFTP.DirectoryListing[i].FileName
No site em alemão, ele utiliza a pesquisa de subfolder usando TString.
Abraços
GOSTEI 0
Thiago Santana
26/05/2013
Inclua na seção uses: Windows
if DirectoryExists('C:\MEUSDOCS') then ShowMessage('O diretório existe')
else ShowMessage('Não existe');GOSTEI 0
Guilherme Wiethaus
26/05/2013
Ele quer FTP meu querido.
GOSTEI 0
Thiago Santana
26/05/2013
Basta ao invés do caminho local passar o endereço do FTP!
GOSTEI 0