:: Visual Foxpro, Foxpro for DOS
Работа с архивом из FoxPro
maple4
Автор

Сообщений: 210
Откуда: Москва
Дата регистрации: 26.10.2007
Есть идея (очередная , безумная), для реализации которой требуется разархивация и архивирование после окончания работы в zip-файл.

КАК можно сделать это, не вызывая, например, строк:
RUN 7za.exe x "file.ods" -y
или
! 7za.exe x "file.xlsx" -y
т.е. используя некую dll (желательно, уже опробованную)?

Естественно, используя RUN БЕЗ /N я знаю, что пока не выполнится данная команда - не продолжится выполнение программы FoxPro, что, КОНЕЧНО является плюсом (что-бы не проверять каким-либо образом завершение процесса разархивации/архивации).

Может есть готовые решения с полным контролем работы с архивом?
Ratings: 0 negative/0 positive
Re: Работа с архивом из FoxPro
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
www.xstandard.com
Цитата:
Zip Component
This component provides industry-standard Zip archive functionality. It is designed to be easy to use. You can pack/unpack a file or folder with a single line of code. If you need to create or extract Zip files on the fly, this component is for you.

License
Freeware
Type
ActiveX DLL

Сам пользовался - понравилось


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Работа с архивом из FoxPro
AlexSSS

Сообщений: 6113
Откуда: Tallinn, Estonia
Дата регистрации: 19.09.2005
я пользуюсь именно 7z
но другой запуск
m.command = "cmd.exe /c 7za.exe a -r -y -tzip -x!*.zip backup\&file backup\*.*"
WshShell = CREATEOBJECT("WScript.Shell")
WshShell.RUN(m.command, 1, .T.)
в этом случае можно задавать ждать или не ждать завершения архивирования, показывать или нет окно выполнения
Ratings: 0 negative/0 positive
Re: Работа с архивом из FoxPro
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Можно ваще архивирование делать средствами Shell винды, но говорят типа это не законно

forum.foxclub.ru


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Работа с архивом из FoxPro
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Я показывал утильку - process там как раз запуск, ожидание синхронное/асинхронное, убивание и пр. ;)


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Работа с архивом из FoxPro
maple4
Автор

Сообщений: 210
Откуда: Москва
Дата регистрации: 26.10.2007
Действительно, полный контроль, требующий правда regsvr32 XZip.dll
How to archive (or zip) multiple files
1. <%
2. Dim objZip
3. Set objZip = Server.CreateObject("XStandard.Zip")
4. objZip.Pack "C:\Temp\golf.jpg", "C:\Temp\images.zip"
5. objZip.Pack "C:\Temp\racing.gif", "C:\Temp\images.zip"
6. Set objZip = Nothing
7. %>
Наверное, лучше все таки с

m.command = "cmd.exe /c 7za.exe a -r -y -tzip -x!*.zip backup\&file backup\*.*"
WshShell = CREATEOBJECT("WScript.Shell")
WshShell.RUN(m.command, 1, .T.)

Всем Спасибо!
Ratings: 0 negative/0 positive
Re: Работа с архивом из FoxPro
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
А я "домучил" VFPcompression.fll . Хорошая штукенция, ничего от ОС не требует, все в себе содержит (zLib). Только коэф. сжатия какой-то небольшой (раза в 4 для текстовых файлов...). И русские имена файлов сохраняет в ZIP в кодировке 1251 (а cnjhjyybt раззиповщики расчитывают на 866), пришлось перекодировать имена в выходном файле в 866...

...Кстати, показалось интересным, что структуру ZIP можно использовать просто как контейнер для нескольких файлов, без сжатия...

(Во вложении - программа, которая сжимает и при помощи этой fll-ки, и DOS-зиповщиками из командной строки. Наверное, довольно бестолковая прога получилась, правда, старая она... )
Ratings: 0 negative/0 positive
Re: Работа с архивом из FoxPro
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
of63
А я "домучил" VFPcompression.fll .
Переписал Сишный код что ли ?

По причине убогой компрессии бросил даже не рассматривая всерьез.

Еще про команду unpack фокса расскажите ;)


------------------
Часто бывает так, что есть над чем задуматься, а нечем.




Исправлено 1 раз(а). Последнее : piva, 19.08.10 15:30
Ratings: 0 negative/0 positive
Re: Работа с архивом из FoxPro
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
2Piva
Да нет, всего лишь включил эту fll-ку в вышеприведенную прогу, прога древняя (заточена под PKZIP.exe), но избавиться от ее интерфейса пока руки не доходят. Заодно "понял" структуру ZIP-файла, в результате понимаю пример из ссылок:
* Обязательно - потому что иначе архив не воспринимается как архив
StrToFile("PK" + Chr(5) + Chr(6)+Replicate(Chr(0),18),ZipFile)
Суперкомпрессия особо для меня не важна, скорее использую свойство зип-файла как контейнер файлов. Все равно ограничение в 2ГБ на размер зип-файла, и включенных в него файлов - сейчас уже - довольно мелкое.

А что за UNPACK фокса? Возможный антипод PACK фокса?



Исправлено 1 раз(а). Последнее : of63, 19.08.10 15:50
Ratings: 0 negative/0 positive
Re: Работа с архивом из FoxPro
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
of63
А что за UNPACK фокса?
не скажу

------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Работа с архивом из FoxPro
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Блин, буду мучаться (про UNPACK)... В ya ничего не написано про это...
Ratings: 0 negative/0 positive
Re: Работа с архивом из FoxPro
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Подсказка - unpack - функция


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Работа с архивом из FoxPro
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Нет такой ф-ии В ФОКС, и быть не может
Ratings: 0 negative/0 positive
Re: Работа с архивом из FoxPro
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Набери в командном окне и узнаешь ;)


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Работа с архивом из FoxPro
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
что-то ничего... хотя UNPACK подсвечено синим... В хелпе (русском) - ничего, вобще в хелпе на UN мало чего начинается (UNBIND,UNICUE и все)... В DOS-ком. окне - нет такой команды...
Хотя
a="xxx"
?UNPACK(a) && возвращает .F.
интересно... а-а, поиск по форуму UNPACK( :

Если ZIP, то я использую XZip.dll
m.loZip = CREATEOBJECT('XStandard.Zip')
m.loZip.UnPack(m.lcFileTMP, 'TEMP_ZIP')
...

попробую...



Исправлено 5 раз(а). Последнее : of63, 19.08.10 16:36
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 26 (Гостей: 26)

© 2000-2024 Fox Club 
Яндекс.Метрика