Fórum Erro idFTP e ModifiedDate (Delphi 2010 ou XE) #404651
08/07/2011
0
Galera
Não estou conseguindo utilizar o idFTP para pegar a data de modificação dos arquivos da FTP.
Preciso disso pois estou desenvolvendo um atualizador automático.
Algué já passou por esse problema.
Abaixo vou colocar o código para ajudar entender, a data que vem e sempre 30/12/1899 para qualquer arquivo que esteja na FTP.
Espero que alguem já passou por isso
Não estou conseguindo utilizar o idFTP para pegar a data de modificação dos arquivos da FTP.
Preciso disso pois estou desenvolvendo um atualizador automático.
Algué já passou por esse problema.
Abaixo vou colocar o código para ajudar entender, a data que vem e sempre 30/12/1899 para qualquer arquivo que esteja na FTP.
procedure TForm1.btVerificarFTPClick(Sender: TObject);
Var
indice: Integer;
DataLocal, DataServidor, Arquivo: String;
begin
try
ListBox1.Clear;
if IdFTP1.Connected then
IdFTP1.Disconnect;
IdFTP1.Connect();
IdFTP1.ChangeDir('public_html/atualizador');
IdFTP1.List(ListBox1.Items, '*.*', false);
if ListBox1.Items.Count = 0 then
begin
Abort;
end;
for indice := 0 to ListBox1.Items.Count - 1 do
begin
Arquivo := IdFTP1.DirectoryListing.Items[indice].FileName;
DataLocal := '';
DataServidor := '';
if FileExists('C:\' + Arquivo) then
begin
DataLocal := FormatDateTime('dd/mm/yyyy hh:mm', FileDateToDateTime(FileAge('C:\' + Arquivo)));
DataServidor := DateToStr(IdFTP1.DirectoryListing.Items[0].ModifiedDate); // retorna sempre 30/12/1899
end;
if (not FileExists('C:\' + Arquivo)) or (DataLocal <> DataServidor) then
begin
//if MessageDlg('Nova versão disponível! Deseja baixá-la?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
//begin
Application.ProcessMessages;
try
if not FileExists('C:\' + ListBox1.Items.Strings[indice]) then
begin
ListBox1.Selected[indice] := true;
bytesToTransfer := IdFTP1.Size(ListBox1.Items.Strings[indice]);
IdFTP1.Get(ListBox1.Items.Strings[indice], 'C:\' + ListBox1.Items.Strings[indice], true);
end;
except
on e: exception do
showmessage(e.Message);
end;
//end;
end;
end;
finally
IdFTP1.Disconnect;
end;
end;
Espero que alguem já passou por isso
Huelbert Oliveira
Curtir tópico
+ 0
Responder
Posts
09/05/2013
José
Este tópico esta sendo fechado por inatividade. Se necessário, sinalizar para que seja reaberto ou abrir um novo.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)