Показать сообщение отдельно
  #1  
Старый 28.05.2013, 21:02
qwerty192837 qwerty192837 вне форума
Прохожий
 
Регистрация: 28.05.2013
Сообщения: 2
Версия Delphi: xe2
Репутация: 10
По умолчанию Сравнение времени локального Zip архива с Zip архивом на FTP

Доброго времени суток
Нужна помощь!!!
Нужно сравнить время локального Zip архива с Zip архивом на FTP и скачать его если дата и время локального Zip архива различаются на 5 минут с Zip архивом на FTP. Как сделать сравнение времени до 5 мин.
Сделал до 1 часа:
Код:
Procedure TFormFtp.CheckAndDownloadNewZip (Sender: TObject);
const
 Hour = 3600000/MSecsPerDay;
var
 k,n, n_zip, i:integer;
 ListZips:TStrings;
 size_zip_file:int64;
 FZipRemoteDate,FZipLocalDate:TdateTime;
 size_zip:array of Int64;
 FZipName: string;
begin
 n:=0;
 k:=0;
 Sum_size_zip:=0;
 ListZips:=TStringList.Create;
 ButtonStart.Enabled:=false;
 ButtonStop.Enabled:=True;
 StopFlag := false;

 i:=0;
 down_size:=0;

 ListZips:=FindFileInFolder(FormMain.LabelCreat.Caption+'\'+'SUB_'+FormMain.LabelNumber.Caption+'\');

 MemoFind.Clear;
 MemoNotFound.Clear;
 SetLength(size_zip,ListZips.Count+1);

 while ((StopFlag=false) AND (k<ListZips.Count)) do
// for k:=0 to ListZips.Count-1 do
  begin
   Panel1.Caption:='Идет проверка обновления для файла '+ListZips.Strings[k];
   Application.ProcessMessages;
   CheckDateZipFile(ListZips.Strings[k],size_zip_file,FZipRemoteDate);
   FZipRemoteDate:=FZipRemoteDate+7*Hour; // +7 часов т.к. фтп в GMT

   FZipLocalDate:=FileDateToDateTime(
                  FileAge(
                  FormMain.LabelCreat.Caption+'\'+'SUB_'+
                  FormMain.LabelNumber.Caption+'\'+
                  ListZips.Strings[k]));

   if size_zip_file>0 then
    if MinutesBetween(FZipRemoteDate,FZipLocalDate)>5 then
     begin
      MemoFind.Lines.Add(ListZips.Strings[k]);
      size_zip[n]:=size_zip_file;
      Sum_size_zip:=Sum_size_zip+size_zip_file;
      Label3.Caption:='Необходимо будет скачать = '+MakeMemSize(Sum_size_zip);
      n:=n+1;
      Application.ProcessMessages;
     end
    else
     begin
      MemoNotFound.Lines.Add(ListZips.Strings[k]);
      Application.ProcessMessages;
     end;
   k:=k+1;
  end;
Админ: Пользуемся тегами для оформления кода!
Ответить с цитированием