Fórum Transferencia de varios arquivos via FTP #326477
29/07/2006
0
Primeiramente quero dar os parabéns ao fórum e aos participantes pelo excelente nível das respostas :D .
Mas vamos ao que interessa...
To começando com o delphi e tenho instalado a versão 7, na qual eu estou criando uma aplicação em FTP baseada no Indy.
Essa aplicação fará o seguinte:
1º Pegará uma variável(data) de um edit no formato DD.MM (Ex: o usuário digita 29.07)
2º Ao clicar no button é feita uma conexão ao servidor de FTP e pega no diretorio correspondente todos os arquivos referentes a data do edit
3º Com os arquivos na estação é feito um teste para verificar se todos os arquivos foram copiados (diariamente o número de arquivos é o mesmo. Ex: 50 arquivos)
4º Se não tem o número total de arquivos ele retorna uma mensagem informando que ainda estão faltando arquivos ou se os arquivos já estão Ok ele faz uma conexão FTP para o outro servidor e coloca os arquivos no seu diretorio correspondente.
procurando nos posts do forum encontrei esse codigo que faz quase oque eu quero mas ele transfere apenas 1 arquivo, já testei ele faz a transferencia do arquivo para o diretorio, mas retorna os erros abaixo:
[img:6b196fd382]http://img.photobucket.com/albums/v321/watchdogcwb/delphi/erro1.jpg[/img:6b196fd382]
[img:6b196fd382]http://img.photobucket.com/albums/v321/watchdogcwb/delphi/erro2.jpg[/img:6b196fd382]
aqui está o código:
var
Form1: TForm1;
dir,line2,name2 : string;
data : string[5];
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
data:=edit1.Text; // ainda falta implementar essa variavel no codigo
dir:= ´/operacao/´; // caminho dentro do servidor
line2:= ´/operacao/arq2.txt´; // caminho do arquivo a ser enviado
name2:= ´c:\teste\novonome2.udp´; // tem como retirar essa linha já que os arquivos serão enviados para a estação irão com o mesmo nome?
with IdFTP1 do
begin
Username := ´0000000´;
Password := ´0000000´;
Host := 00.00.00.00;
Connect;
ChangeDir(dir); // muda o diretorio
end;
try
IdFTP1.get(line2, name2); // envia o arquivo!
finally
IdFTP1.Disconnect;
end;
end;
end.
alguém pode me indicar como faço a transferencia (FTP --> estação) de todos os arquivos de acordo com a variavel DATA? como eu crio o teste para saber se todos os arquivos foram copiados? e porque está dando o erro já que o arquivo é transferido?
Obrigado
WatchDogCWB
Watchdogcwb
Curtir tópico
+ 0Posts
31/07/2006
Watchdogcwb
Gostei + 0
31/07/2006
Massuda
O método TIdFTP.Get é assim definido...
procedure Get(const ASourceFile: string; const ADestFile: string; const ACanOverwrite: boolean = false; AResume: Boolean = false); overload;
Gostei + 0
04/08/2006
Watchdogcwb
procedure Get(const ASourceFile: string; const ADestFile: string; const ACanOverwrite: boolean = false; AResume: Boolean = false); overload;
Obrigado pela ajuda,
Mas oq eu to precisando mesmo é pegar varios arquivos da mesma data nesse ftp e copiar para a minha estação tem alguma idéia de como eu crio esse loop? já que no codigo acima eu consigo copiar apenas um arquivo...
Obrigado
Gostei + 0
05/08/2006
Dmalta
procedure List(ADest: TStrings; const ASpecifier: string = ´´; const ADetails: boolean = true);
Um abraço,
Gostei + 0
05/08/2006
Dmalta
Atenção para a diferença de fuso horário entre a hora da máquina cliente e a hora do servidor, que pode ser diferente.
Um abraço,
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)