Download de MÚLTIPLOS ARQUIVOS
Pessoal,
Através de um objeto da classe TNMFTP, consigo conectar em uma máquina (IP, user, password) e, posso baixar arquivo de determinado diretório (método Download).
Problema: o método Download baixa APENAS UM ARQUIVO.
Preciso baixar n arquivos, dos quais conheço apenas a extensão.
Se nomeArquivo := ´*.TXT´; não funciona e É EXATAMENTE O QUE EU QUERO.
Se nomeArquivo := ´TESTE.TXT´; funciona, MAS NÃO é suficiente.
// TRECHO
procedure TForm1.Button1Click(Sender: TObject);
var
caminho, nomeArquivo : string;
begin
nomeArquivo := ´*.TXT´;
caminho := ´C:\ARQUIVO\´;
with ftp_TESTE do
begin
Connect;
ChangeDir(´/financeiro/bkp´);
Download(´/financeiro/bkp/´+nomeArquivo, caminho+nomeArquivo);
Disconnect;
showmessage(´Arquivo(s) copiado(s) com sucesso.´);
end;
end;
Ficarei muito Grata, se alguém puder me ajudar ...
Fabiana Linden
Através de um objeto da classe TNMFTP, consigo conectar em uma máquina (IP, user, password) e, posso baixar arquivo de determinado diretório (método Download).
Problema: o método Download baixa APENAS UM ARQUIVO.
Preciso baixar n arquivos, dos quais conheço apenas a extensão.
Se nomeArquivo := ´*.TXT´; não funciona e É EXATAMENTE O QUE EU QUERO.
Se nomeArquivo := ´TESTE.TXT´; funciona, MAS NÃO é suficiente.
// TRECHO
procedure TForm1.Button1Click(Sender: TObject);
var
caminho, nomeArquivo : string;
begin
nomeArquivo := ´*.TXT´;
caminho := ´C:\ARQUIVO\´;
with ftp_TESTE do
begin
Connect;
ChangeDir(´/financeiro/bkp´);
Download(´/financeiro/bkp/´+nomeArquivo, caminho+nomeArquivo);
Disconnect;
showmessage(´Arquivo(s) copiado(s) com sucesso.´);
end;
end;
Ficarei muito Grata, se alguém puder me ajudar ...
Fabiana Linden
Falinden
Curtidas 0
Respostas
Rafael Heise
28/10/2003
Nunca usei esse componente, mas provavelmente deve ter como pegar uma lista dos arquivos contidos em um determinado diretório.
Você pode ir fazendo o download de arquivo em arquivo usando uma estrutura de repetição.
é uma idéia.
abraços
Você pode ir fazendo o download de arquivo em arquivo usando uma estrutura de repetição.
é uma idéia.
abraços
GOSTEI 0
Rodrigomoura
28/10/2003
Olá
Li sobre sua dúvida sobre com fazer downloads de n arquivos e recordei
que desenvolvi algo parecido. Espero que ainda seja em tempo!! A minha aplicação fazia downloads/uploads via FTP, que seria o get/put dos arquivos. Vamos lá, vou te explicar
como fiz:
Usei no módulo de processando os componentes:
TreeView -> para visualizar o espaço de FTP que se deseja entrar.
FileList -> para visualizar o conteudo dos diretórios visualizados no TreeView
procedure TfmProcesso.GetArquivo;
var
X: Integer;
begin
X:=0;
While (X <= FileList.Items.Count - 1) do //Enquanto houver arquivos no diretório faço
begin
if(FileList.Items.Item[X].SubItems.Strings[1] = ´TXT´) then // Verifico se no FileList o(s) arquivo(s) disponibilizados tem extensão TXT
//Faco essa verificação porque na minha aplicação trabalho com várias extensões de arquivos diferentes
//Se vc trabalha apenas com extensão TXT não precisa fazer esse teste.
begin
NomeArq := FileList.Items.Item[X].Caption;
OperacaoFtp(NomeArq, ´G´); // aqui faço a operação do FTP; passo o nome do arquivo e a ação, no caso o Get (download) do arquivo
S:=edDirTrabalho.Text + ´\´ + NomeArq;
AssignFile(F,S);
Reset(F);
Readln(F, S);
...
No caso aqui continuo fazendo os copy´s e os insert´s das informações, mas o que
vc precisa, acho que é código acima mesmo.
Não sei se é exatamente isso o que vc precisa, mas acho que dá uma luz para vc.
É isso, faça os testes ae e depois me dá um retorno.
Rodrigo de Moura
-----------
Li sobre sua dúvida sobre com fazer downloads de n arquivos e recordei
que desenvolvi algo parecido. Espero que ainda seja em tempo!! A minha aplicação fazia downloads/uploads via FTP, que seria o get/put dos arquivos. Vamos lá, vou te explicar
como fiz:
Usei no módulo de processando os componentes:
TreeView -> para visualizar o espaço de FTP que se deseja entrar.
FileList -> para visualizar o conteudo dos diretórios visualizados no TreeView
procedure TfmProcesso.GetArquivo;
var
X: Integer;
begin
X:=0;
While (X <= FileList.Items.Count - 1) do //Enquanto houver arquivos no diretório faço
begin
if(FileList.Items.Item[X].SubItems.Strings[1] = ´TXT´) then // Verifico se no FileList o(s) arquivo(s) disponibilizados tem extensão TXT
//Faco essa verificação porque na minha aplicação trabalho com várias extensões de arquivos diferentes
//Se vc trabalha apenas com extensão TXT não precisa fazer esse teste.
begin
NomeArq := FileList.Items.Item[X].Caption;
OperacaoFtp(NomeArq, ´G´); // aqui faço a operação do FTP; passo o nome do arquivo e a ação, no caso o Get (download) do arquivo
S:=edDirTrabalho.Text + ´\´ + NomeArq;
AssignFile(F,S);
Reset(F);
Readln(F, S);
...
No caso aqui continuo fazendo os copy´s e os insert´s das informações, mas o que
vc precisa, acho que é código acima mesmo.
Não sei se é exatamente isso o que vc precisa, mas acho que dá uma luz para vc.
É isso, faça os testes ae e depois me dá um retorno.
Rodrigo de Moura
-----------
Pessoal,
Através de um objeto da classe TNMFTP, consigo conectar em uma máquina (IP, user, password) e, posso baixar arquivo de determinado diretório (método Download).
Problema: o método Download baixa APENAS UM ARQUIVO.
Preciso baixar n arquivos, dos quais conheço apenas a extensão.
Se nomeArquivo := ´*.TXT´; não funciona e É EXATAMENTE O QUE EU QUERO.
Se nomeArquivo := ´TESTE.TXT´; funciona, MAS NÃO é suficiente.
// TRECHO
procedure TForm1.Button1Click(Sender: TObject);
var
caminho, nomeArquivo : string;
begin
nomeArquivo := ´*.TXT´;
caminho := ´C:\ARQUIVO\´;
with ftp_TESTE do
begin
Connect;
ChangeDir(´/financeiro/bkp´);
Download(´/financeiro/bkp/´+nomeArquivo, caminho+nomeArquivo);
Disconnect;
showmessage(´Arquivo(s) copiado(s) com sucesso.´);
end;
end;
Ficarei muito Grata, se alguém puder me ajudar ...
Fabiana Linden
GOSTEI 0
Falinden
28/10/2003
Obrigada, Rodrigo.
Vou testar a sua sugestão.
Fabiana Linden
Vou testar a sua sugestão.
Fabiana Linden
GOSTEI 0