Доброго времени суток
Нужна помощь!!!
Нужно сравнить время локального 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;
Админ: Пользуемся тегами для оформления кода!