FTP como resolver este probelma
20/12/2005
0
var
Host,User,Pass :String;
Port : Integer;
Passive : Boolean;
begin
Host:= ´ftp-teste.com.br´;
User :=´cttsystem´;
Pass := ´Testando´;
Port := 21;
Passive := true;
try
Screen.Cursor := crHourGlass;
try
ftp := TFtpConnection.Create(Host, User, Pass, Port);
ftp.OnStatus := OnFtpStatus;
if ftp.Connect(Passive) then
begin
i_conectado.visible := true;
i_desconectado.visible := false;
a_desconectar.Enabled := true;
l_enviado.Enabled := true;
l_enviado2.Enabled := true;
l_recibido.Enabled := true;
l_recibido2.Enabled := true;
l_conectar.caption := ´Conectado´;
p_conexion.Repaint();
Butconectar.enabled := false;
ButDesconne.enabled := True;
Timer1.enabled := true;
end
else
begin
MessageBox(Handle, PChar(´Se ha producido un error durante la conexión:´+#10131013+ftp.ResponseText),
´Conexión´, MB_ICONERROR);
end;
finally
Screen.Cursor := crDefault;
end;
finally
//colocar mensagem de não coneção
end;
end;[/color:da8caa4803]
Este é meu codigo de conexão, preciso verificar a existencia de um arquivo na pasta www/txt com o nome de Entradas.txt, caso positivo avisar o usuario pra receber, caso negativo continuar a monitorar
Alguem poderia me ajudar a fazer esta rotina
O Outro caso e criar o botão para enviar o arquivo para a pasta www/txt com o mesmo nome.
Tenho uma certa urgencia
Claudio
Dpinho
Posts
20/12/2005
Massuda
Que componente você está usando (Indy, ICS, etc)?
21/12/2005
Dpinho
Sim, meu primeiro problema e testar se o arquivo esta no servidor
Não estou utilizando componentes, mas uma rotina que tirei de um demo ´FtpConnection´.
o que estou precisando fazer é uma aplicação que fique ativo bandeja do windows e verifique de cinco em cinco minutos se existe um arquivo no servidor e faça o dowloand para a filial e depois apague o arquivo do servidor.
Se alguem puder ajuda com ideias, acho que seria do interesse de muitos
Obrigado
21/12/2005
Massuda
21/12/2005
Dpinho
Caro amigo, agradeço a sua ajuda
Pensei em tudo isto, meu problema e que estou comdificuldades em implementar isto no codigo e preciso de exemplo.
Se puder ou tiver um codigo usado que não precisa e quizer doar, agradeceria.. rsss.
Muito obrigado, por tudo
21/12/2005
Pain_elemental
function FTPFileExists(const AHost, AUser, APass, AFile: string): boolean; begin with TIdFTP.Create(Nil) do try Host := AHost; Username := AUser; Password := APass; Connect; List(AFile); Result := ListResult.Count > 0; Close; finally Free; end; end;
Verifique que não existe um ´fileexists´ no protocolo ftp, vc tem q mandar um list e verificar se o servidor retorna algo.
Acho que ta bem mastigado.
21/12/2005
Dpinho
function FTPFileExists(const AHost, AUser, APass, AFile: string): boolean; begin with TIdFTP.Create(Nil) do try Host := AHost; Username := AUser; Password := APass; Connect; List(AFile); Result := ListResult.Count > 0; Close; finally Free; end; end;
Valeu este rotina, mas ta dando erro de incopatibilidade em List(AFile)
e como posso deletar o arquivo do servidor
Depois de verificar se existe, faço o dowloand e apago o arquivo
21/12/2005
Pain_elemental
esse mesmo componente tem uma funcao Delete(AFile). faça da mesma forma que o list.
21/12/2005
Dpinho
IdFTP1.changedir(´www/txt´);
IdFTP1.list(Lista,´*.txt´,False);
for i:=0 to Lista.Count-1 do
begin
if Lista[i]= ´Entrada.txt´ then
begin
showmessage(´ok´);
IdFTP1.get(´Entrada.txt´, ´c:\lixo\Arq\Entrada.txt´);
IdFTP1.Delete(´Entrada.txt´);
exit;
end
else
begin
Showmessage(´Não existe arquivo de entrada no servidor´);
end;
end;
Lista.Free;[/color:2b8d252c37]
Me ajudem neste codigo, preciso deletar o arquivo e não consigo
21/12/2005
Massuda
No seu código, ao invés de Exit, acho que o correto seria dar um Break no loop.
21/12/2005
Dpinho
Estou usando a versão do Delphi 7
e o erro que esta retornanto é este:
[color=red:53fc237bbd]Destination file already exists[/color:53fc237bbd]
Preciso da ajuda de voces, e agradeço
21/12/2005
Massuda
DeleteFile(´c:\lixo\Arq\Entrada.txt´);
21/12/2005
Dpinho
Muito obrigado
Clique aqui para fazer login e interagir na Comunidade :)