Обсуждение статьи "Работаем с ZIP-архивами средствами MQL5 без использования сторонних библиотек" - страница 6

 
fxsaber:

Да ,с приложенным файлом работает. А с моим нет. Странно.

Файлы:
info.zip  575 kb
 
Alexey Oreshkin:

Да ,с приложенным файлом работает. А с моим нет. Странно.

#include <Zip\Zip.mqh> // https://www.mql5.com/ru/articles/1971

void OnStart()
{
  CZip Zip;

  if (Zip.LoadZipFromFile("info.zip", 0))
    Zip.UnpackZipArchive("Temp", 0);
  else
    Print(EnumToString((ENUM_ZIP_ERROR)(GetLastError() - ERR_USER_ERROR_FIRST))); // ZIP_ERROR_BAD_FORMAT_ZIP
}

Перепакуйте чем-нибудь иным.

 
fxsaber:

Перепакуйте чем-нибудь иным.

этот файл я получаю через webrequest. Zip его норм открывает, шарп тоже с ним проблем не испытывает. Перепаковывать ручками не вариант. Весь смысл в автоматизации.
Файл получаю здесь: http://api.bestchange.ru/info.zip

 
Alexey Oreshkin:

этот файл я получаю через webrequest. Zip его норм открывает, шарп тоже с ним проблем не испытывает. Перепаковывать ручками не вариант. Весь смысл в автоматизации.
Файл получаю здесь: http://api.bestchange.ru/info.zip

Тоже тяну зипы из сети. Но мне не "везло", как Вам. Это уже к автору библиотеки. Сомневаюсь, что ZIP-формат не модифицировался с момента его создания.

 
fxsaber:

Сомневаюсь, что ZIP-формат не модифицировался с момента его создания.

Всё может быть, хотя авторы его обновляют раз в 5 секунд. Править его ручками им тоже смысла нету.
Ладно пофигу. Оставлю всё как есть тогда. Просто часть данных парситься через мкл вот и подумал всё перенести сюда. Видать не судьба.

 
Alexey Oreshkin:

этот файл я получаю через webrequest. Zip его норм открывает, шарп тоже с ним проблем не испытывает. Перепаковывать ручками не вариант. Весь смысл в автоматизации.
Файл получаю здесь: http://api.bestchange.ru/info.zip

Спасибо за сообщение. Разберемся.

Что касается самого zip формата то он бывает очень разный во-первых, а во-вторых куча библиотек которые пакуют данные в zip относятся к его формату с крайнем пренебрежением (привет тебе Microsoft;) Вот и приходится с бубном плясать вокруг бинарника, подразумевая, что там внутри. Напомню, что CZip открытый некоммерческий проект. Поэтому надеятся на его всеядность, вскармливая ему всякое дерьмо не приходится, отнеситесь к этому факту с пониманием.

 
Vasiliy Sokolov:

Спасибо за сообщение. Разберемся.

Что касается самого zip формата то он бывает очень разный во-первых, а во-вторых куча библиотек которые пакуют данные в zip относятся к его формату с крайнем пренебрежением (привет тебе Microsoft;) Вот и приходится с бубном плясать вокруг бинарника, подразумевая, что там внутри. Напомню, что CZip открытый некоммерческий проект. Поэтому надеятся на его всеядность, вскармливая ему всякое дерьмо не приходится, отнеситесь к этому факту с пониманием.

Василий, претензий нету, но в любом случае надеюсь что этот вопрос решится положительно. :)

 

Василий, здравствуйте!

Есть необходимость, полученную с помощью WebRequest байтовую последовательность ZIP-файла преобразовать в ZIP-архив и распаковать на диск средствами MQL5.

Прочитав вашу статью, понял, что это может быть решением. Однако, применить это решение не удается – при компиляции, MetaEditor не может собрать исполняемый файл ссылаясь на ошибки в библиотеке класса CZip.

Возможно ли отдельно использовать методы класса CZip, в частности CreateFromCharArray() и UnpackZipArchive(), включив их непосредственно в код скрипта и как это сделать корректно?

Заранее благодарен.

 
Vasiliy Sokolov #:

Пресловутый кастинг структур ругается. Держите исправленную версию в аттаче.

#include <Zip\Zip.mqh>

z


Василий, подправьте пожалуйста библиотеку под мт5.
Библиотеку брал из статьи.

 

Как с помощью данной библиотеки реализовать такую задачу бэкапа файлов:

Нужно создать архив в который раскидать по папкам

\MQL5\Experts\

\MQL5\Indicators\

\MQL5\Include\

и т.д. ?

Причина обращения: