FTP - Download de Vários arquivos
Tenho esse código funcionando legal
Ele compara a data/hora do arquivo no servidor FTP com o local, mas apenas de um arquivo, como faço pra realizar o download de vários arquivos?
procedure threadFTP.Execute; begin inherited; with FUpdate do begin with FConfiguracao do begin ftpupdate.Host := LerINI(´CONEXAO´, ´FTP´); ftpupdate.Username := LerINI(´CONEXAO´, ´USUARIO´); ftpupdate.Password := LerINI(´CONEXAO´, ´SENHA´); if LerINI(´CONEXAO´, ´PASSIVO´) = ´S´ then ftpupdate.Passive := True else ftpupdate.Passive := False; ftpupdate.Connect(True); ftpupdate.ChangeDir(LerINI(´CONEXAO´, ´DIRETORIOSERVIDORFTP´)); ftpupdate.List(NIL); tamanho_arquivo := ftpupdate.Size(LerINI(´CONEXAO´, ´ARQUIVO´)); if FileExists(LerINI(´CONEXAO´, ´DIRETORIOCLIENTE´) + ´\´ + LerINI(´CONEXAO´, ´ARQUIVO´)) then begin if FormatDateTime(´dd/mm/yyyy HH:mm´, FileDateToDateTime(FileAge(LerINI(´CONEXAO´, ´DIRETORIOCLIENTE´)+´\´+LerINI(´CONEXAO´, ´ARQUIVO´)))) <> FormatDateTime(´dd/mm/yyyy HH:mm´, ftpupdate.DirectoryListing.Items[0].ModifiedDate) then begin if Application.MessageBox(´Existe uma nova versão dessa aplicação disponível na Internet. Deseja Atualizar Agora?´,´Aviso´, MB_ICONEXCLAMATION+MB_YESNO+MB_DEFBUTTON1) = mrYes then begin ftpupdate.Get(LerINI(´CONEXAO´, ´ARQUIVO´), LerINI(´CONEXAO´, ´DIRETORIOCLIENTE´) + ´\´ + LerINI(´CONEXAO´, ´ARQUIVO´), True); FileSetDate(LerINI(´CONEXAO´, ´DIRETORIOCLIENTE´) + ´\´ + LerINI(´CONEXAO´, ´ARQUIVO´), DateTimeToFileDate(ftpupdate.DirectoryListing.Items[0].ModifiedDate)); end else abort; end else begin Application.MessageBox(´Sua Versão é a Mais Atual´,´Aviso´, MB_ICONEXCLAMATION+MB_OK); end end else begin if Application.MessageBox(´Executavel do Sistema não foi localizado. Baixar Update Mesmo Assim?´,´Aviso´, MB_ICONERROR++MB_YESNO+MB_DEFBUTTON1) = mrYes then begin ftpupdate.Get(LerINI(´CONEXAO´, ´ARQUIVO´), LerINI(´CONEXAO´, ´DIRETORIOCLIENTE´) + ´\´ + LerINI(´CONEXAO´, ´ARQUIVO´), True); FileSetDate(LerINI(´CONEXAO´, ´DIRETORIOCLIENTE´) + ´\´ + LerINI(´CONEXAO´, ´ARQUIVO´), DateTimeToFileDate(ftpupdate.DirectoryListing.Items[0].ModifiedDate)); end else abort; end; ftpupdate.Disconnect; end; end; end;
Ele compara a data/hora do arquivo no servidor FTP com o local, mas apenas de um arquivo, como faço pra realizar o download de vários arquivos?
Facc
Curtidas 0
Respostas
Facc
26/11/2007
Alguem?
GOSTEI 0
Facc
26/11/2007
alguem? :x
GOSTEI 0
Fknyght
26/11/2007
Você pode usar varias TThread
procure na net que vc acha exemplos ok
procure na net que vc acha exemplos ok
GOSTEI 0
Facc
26/11/2007
ninguem?
GOSTEI 0
Massuda
26/11/2007
Pelo seu código não dá para dizer que componente você está usando.
Se for Indy, o TIdFTP consegue baixar apenas um arquivo por vez. Se quiser baixar vários simultaneamente, terá que ter vários TIdFTP independente, cada um conectando no servidor e baixando o arquivo.
Note que dependendo do servidor, pode ser que o número de conexões simultaneas de um mesmo usuário seja limitada.
Se for Indy, o TIdFTP consegue baixar apenas um arquivo por vez. Se quiser baixar vários simultaneamente, terá que ter vários TIdFTP independente, cada um conectando no servidor e baixando o arquivo.
Note que dependendo do servidor, pode ser que o número de conexões simultaneas de um mesmo usuário seja limitada.
GOSTEI 0
Facc
26/11/2007
resolvido
GOSTEI 0