:: Visual Foxpro, Foxpro for DOS
Re: winrar-zip
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Многабукав, ниасилил.

Но "по сути".
1) Пользовать DOS версии архиваторов (или утилит типа добавлялщика модуля самараспаковки), точнее 16-битные exe/com проги сегодня - это на грани безумства
2) Делать самораспаковывающиеся архивы, да ещё и заливать их на диски - вообще сомнительная затея. Большинство ОС умеют распаковывать ZIP-ы "из коробки", т.е. не нужно даже ничего дополнительно инсталлировать - а уж если этим процессом занимается ТВОЯ программа, а не пользователь через "проводник" - то и вовсе нет смысла - только антивирусы возбуждать понапрасну.
3) Тот же 7zip имеет в комплекте ДВА 32-разрадных модуля самораспаковки - один консольный, и один "с GUI" - т.е. с оконным интерфейсом.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: winrar-zip
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Поместил вышеуказанную API для работы с 7z (7-zip32.dll, версия 4.57.0.1) в файловый архив, в раздел "Tools_Utils". Возможно кому-то тоже пригодится.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)




Исправлено 1 раз(а). Последнее : Crispy, 20.03.12 09:43
Ratings: 0 negative/0 positive
Re: winrar-zip
Pekpytep

Сообщений: 727
Откуда: Луганск
Дата регистрации: 19.10.2010
Судя по этой странице текущая версия 4.65.00.01
Может тогда и в файловом архиве имеет смысл обновить?
Ratings: 0 negative/0 positive
Re: winrar-zip
Каратаев

Сообщений: 3977
Откуда: Алматы
Дата регистрации: 04.12.2001
Crispy
Поместил вышеуказанную API для работы с 7z (7-zip32.dll, версия 4.57.0.1) в файловый архив, в раздел "Tools_Utils". Возможно кому-то тоже пригодится.
Что-то нет там ничего...
Ratings: 0 negative/0 positive
Re: winrar-zip
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Да собственно в архив-то добавил только полагая, что у кого-то возможно возникнут проблемы с поиском файла.
А там у них похоже уже и под девятую версию написали. Причем, не отставая от релизов самого 7z.
Хотя можно бы конечно на всякий случай обновить и в архиве. Разве что пока что этот файл там еще не показан. Но последнее как бы зависит уже от администратора. ;)
А данная страница загрузки www.csdinc.co.jp - реально полезная (ссылки на скачивание в самом низу), хотя и жаль конечно, что чисто японская. Когда-то она попадалась мне, но потом ссылки потерялись, а недавним поиском как-то не нашел.
2Pekpytep :


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)




Исправлено 2 раз(а). Последнее : Crispy, 20.03.12 11:48
Ratings: 0 negative/0 positive
Re: winrar-zip
Oleg

Сообщений: 346
Откуда: Ivano-Frankivsk
Дата регистрации: 03.11.2000
Уже давно пользую freeware ActiveX xzip.dll (xstandard.com)
Включил ее в дистрибутив с авт. регистрацией, работает даж. на Win98.
Ratings: 0 negative/0 positive
Re: winrar-zip
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Я считаю что ActiveX не нужен там, где можно обойтись plain dll, или даже банальнейшим вызовом внешнего exe-ника (если разработчик не полный новичок, он знает как запускать внешний процесс без всяких чёрных или иных окон, и как получать код завершения - благо все консольные утилиты именно кодами завершения и сообщают о результатах своей работы). ОСОБЕННО если этот ActiveX будет регистрироваться в системе, и ВДВОЙНЕ беда если регистрировать его будет не инсталлятор, а сама рабочая программа (есть способы использовать и без регистрации - но они несколько ... неудобны, скажем так).


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: winrar-zip
alextash

Сообщений: 2281
Откуда: НСК
Дата регистрации: 03.05.2006
Oleg
Уже давно пользую freeware ActiveX xzip.dll (xstandard.com)
Включил ее в дистрибутив с авт. регистрацией, работает даж. на Win98.

Начиная с Vista проблемы с авт. регистрацией, точнее со строкой из процедуры:
Declare integer DllRegisterServer in .\systems\XZIP.DLL

требуется выполнять программу из под администратора



Исправлено 2 раз(а). Последнее : alextash, 21.03.12 06:16
Ratings: 0 negative/0 positive
Re: winrar-zip
Oleg

Сообщений: 346
Откуда: Ivano-Frankivsk
Дата регистрации: 03.11.2000
alextash

Начиная с Vista проблемы с авт. регистрацией, точнее со строкой из процедуры:
Declare integer DllRegisterServer in .\systems\XZIP.DLL

требуется выполнять программу из под администратора

Я не регистрирую компонент из программы, есть отдельный инсталятор (у меня InnoSetup), который при установке программы на компютер, устанавливает фоксовые ран-тайм библиотеки и все доп. компоненты. Естественно, для установки , ему нужны права администратора. И я считаю что это правильно ...
Ratings: 0 negative/0 positive
Re: winrar-zip
AngelOKES

Сообщений: 828
Дата регистрации: 08.02.2012
Igor Korolyov
И главное - для этой цели (упаковки в RAR формат) нет абсолютно никакой нужды в использовании WinRar.exe - вполне достаточно его консольной версии rar.exe.
И, конечно, запускать это безобразие надо никак не через замшелый фоксовый RUN, а через нечто типа WScript.Shell, или CreateProcess - дабы отследить результат работы (код завершения процесса).
P.S. Параметр -ep вырезает ВСЕ пути из всех упаковываемых файлов (по сути в архиве все файлы будут хранится "в одной общей папке"), обычно при упаковке "папки с подпапками" используется -ep1. Однако и этого будет недостаточно если в списке на упаковку будет более 1 папки указано - их содержимое в этом случае "перепутается".
P.P.S. Требовать от параметров "один пробел в конце оставляем" есть моветон. Ты собираешь сам полную строку команды, что мешает тебе прописать этот нужный пробел-разделитель там? Заодно экранировав имя архива кавычками (если в пути есть пробелы - это обязательно, но и без них не повредит - со списком файлов/папок для упаковки надо заранее озаботится экранированием).
lcСmd = 'RAR ' + m.lcWRPars + ' "' + FULLPATH(m.lcWRArchName) + '" ' + m.lcWRFilePath
loWS = CREATEOBJECT("WScript.Shell")
lnRetVal = loWS.Run(m.lcСmd, 0, .T.)

Спасибо большое, ваш пример мне очень помог, но только вот не понятно почему имя архиве делается в верхнем регистре, конечно это никак не влияет на работу и меня вполне устраивает, но все таки может кто знает почему так и нельзя ли сделать в нормальном регистре имя архива?
Ratings: 0 negative/0 positive
Re: winrar-zip
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
AngelOKES
почему имя архиве делается в верхнем регистре, конечно это никак не влияет на работу и меня вполне устраивает, но все таки может кто знает почему так и нельзя ли сделать в нормальном регистре имя архива?

Так, если я правильно понял, тут же речь идет о банальной досовской примочке к Winrar-у. ;) Хотя в принципе можно кое-что подправить в реестре, чтобы и дос писал тоже регистрово-зависимо, где-то встречал об этом. Только оно надо? Уж лучше тогда пользоваться ActiveX, хоть чуть выше Игорь об нем и поморщился. Но на мой взгляд оно все ж удобнее, да кстати и ничего такого уж проблемного нет по поводу регистраций-нерегистраций. В том примере, что я приводил еще выше - не нужна абсолютно никакая регистрация, достаточно иметь библиотеку на доступных путях.
Что впрочем элементарно и видно непосредственно из приведенного мной кода - библиотека подгружается не как ocx с визуальным интерфейсом, а как обычная (та же любая виндовская) dll-ка - всего лишь стандартным ее объявлением через declare.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)




Исправлено 3 раз(а). Последнее : Crispy, 04.04.12 13:53
Ratings: 0 negative/0 positive
Re: winrar-zip
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Crispy
Так, если я правильно понял, тут же речь идет о банальной досовской примочке к Winrar-у. ;)
Неправильно понял. rar.exe это Win32 (или даже win64) приложение, и к DOS не имеет ни малейшего отношения (программистам должно быть стыдно путать консоль - то самоё "чорное текстовое окно" c DOS, или с эмулятором DOS).
2 AngelOKES
А имя в верхний регистр переводит фоксовый FULLPATH, что можно было бы и самому увидеть, а не спрашивать на форуме Вроде и есть "нездоровое любопытство" (т.к. винде по большому счёту пофиг заглавными или строчными буквами написано имя - она ж не UNIX), а вот слегка покопаться, чтобы самому увидеть причину такого поведения, "не шмогла"
И не стоит один и тот-же вопрос в разных ветках поднимать.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: winrar-zip
AngelOKES

Сообщений: 828
Дата регистрации: 08.02.2012
Спасибо за ответ!
Ratings: 0 negative/0 positive
Re: winrar-zip
technik
Автор

Сообщений: 264
Откуда: С-Петербург
Дата регистрации: 15.11.2006
ну и сюда до кучи добавлю

*To zip file
cFileZip = "C:\temp2\D401001F.ZIP"
cSource = "c:\temp1\"
strtofile(chr(0x50)+chr(0x4B)+chr(0x05)+chr(0x06)+replicate(chr(0),18),cFileZip)
o=CREATEOBJECT("shell.application")
FOR EACH ofile IN o.NameSpace(cSource).items
o.NameSpace(cFileZip).copyhere(ofile)
ENDFOR
*Unzip files
cFileZip = "C:\temp\D401001F.ZIP"
cDestination = "c:\temp\"
o=CREATEOBJECT("shell.application")
FOR EACH ofile IN o.NameSpace(cFileZip).items
o.NameSpace(cDestination).copyhere(ofile)
ENDFOR

еще можно воспользоваться функциями сжатия из самой винды в .cab и .zip. зачем таскать инородное тело
Ratings: 0 negative/0 positive
Re: winrar-zip
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
technik
еще можно воспользоваться функциями сжатия из самой винды в .cab и .zip. зачем таскать инородное тело
1 - AFAIK официально запрещено пользоваться из своих программ shell-zip расширением - естественно rar-ом тоже просто так нельзя воспользоваться
2 - уровень сжатия, мягко говоря, не впечатляет. Впрочем, встречая оригиналов до сих пор пользующихся 16-битным arj времён "IBM PC компьютеров", даже не буду настаивать что это моветон


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: winrar-zip
BOBAN

Сообщений: 625
Откуда: Солигорск
Дата регистрации: 05.07.2004
Igor Korolyov
естественно rar-ом тоже просто так нельзя воспользоваться
А как насчет версии 3.62 с подарочным ключом ?
Ratings: 0 negative/0 positive
Re: winrar-zip
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Igor Korolyov
technik
еще можно воспользоваться функциями сжатия из самой винды в .cab и .zip. зачем таскать инородное тело
1 - AFAIK официально запрещено пользоваться из своих программ shell-zip расширением - естественно rar-ом тоже просто так нельзя воспользоваться
2 - уровень сжатия, мягко говоря, не впечатляет. Впрочем, встречая оригиналов до сих пор пользующихся 16-битным arj времён "IBM PC компьютеров", даже не буду настаивать что это моветон

В чем-то кстати ты ведь сам себе по сути-то и противоречишь. ;) То выше предлагая пользоваться понимаешь командной строкой RAR-а (а тут кстати тоже ведь нужна лицензия между прочим! как и для WinRAR, т.е. тот же лицензионный кей-файл рядом), то, понимаешь, последний выход бедных людей shell-zip тут же называешь моветоном. В то время, как предложенный мною выше вариант, причем бесплатный! и ничуть НЕ с командной строкой, а вполне себе даже api-евский, как принято во всех приличных домах почему-то в упор отказываешься признать бонтоном.
Что же по мне - так этот японец www.csdinc.co.jp создав такую свою api-шную штучку для пользования бесплатным 7z, вместо дешевой и сердитой командной строки предлагаемой от создателя формата, очень даже молодец.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)




Исправлено 1 раз(а). Последнее : Crispy, 06.04.12 09:19
Ratings: 0 negative/0 positive
Re: winrar-zip
AngelOKES

Сообщений: 828
Дата регистрации: 08.02.2012
WinRar - платный, а Rar - бесплатный...
Ratings: 0 negative/0 positive
Re: winrar-zip
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
AngelOKES
WinRar - платный, а Rar - бесплатный...
Вас кто-то жестоко обманул... В линейке RAR есть лишь одна бесплатная версия - это Pocket RAR - утилита работающая на ОС Windows Mobile (смартфоны и КПК 4-7 летней давности). Кроме того, бесплатным всегда был "распаковщик" unrar - к нему даже исходники отдаются свободно - однако, что вполне логично, упаковывать с его помощью ничего нельзя.

BOBAN
А как насчет версии 3.62 с подарочным ключом ?
Понятия не имею о чём речь. Лицензионная политика расписана на сайте, и я не нашёл там ни про какие "подарочные ключи". В общем случае купив СЕБЕ 1 лицензию ты можешь пользоваться раром сколько влезет, НО встраивать его куда либо, или отдавать третьим лицам нельзя (за исключением unrar - поскольку он бесплатен). Если ты работаешь в организации, и она приобретает многопользовательскую лицензию - тогда, конечно, ты можешь в своей программе её использовать без проблем - предполагая что купленных "копий" хватает на всех пользователей твоей программы. Аналогично ты можешь встроить в свою программу вызовы рара, не распространяя его самого - будет он у пользователя - хорошо, не будет - ну значит эта функция не будет работать Вот это и есть не очень красивое решение (особенно учитывая что ЕСТЬ нормальные альтернативы - в виде того-же 7zip).

2 Crispy
Не вижу никаких противоречий. Я НЕ призываю пользоваться раром (даже, скорее, наоборот). shell-zip - я не юрист, но в комментариях к этому способу я читал что таки требуется приобретать какую-то хитрую лицензию (при том даже не у МС!), если тебя волнует "лицензионная чистота" твоего продукта. Если же тебе плевать на копирастов - то и разговора нет - встраивай хоть рар, хоть pkzip хоть что угодно
7zip активикс - IMHO это лишняя прослойка, учитывая ещё и её отставание от актуальной версии самого 7zip... При том что сам 7zip это именно что dll-ка, т.е. АПИ в чистом виде! 7z.exe это лишь парсер командной строки, который эту самую dll-ку в итоге и вызывает (7za.exe это "смесь" из парсера и обрезанной dll-ки). Проблема в том, что этот АПИ не дружественен к скриптовым языкам и к простым OLE-контроллерам типа фокса, хотя и основан сам на технологии COM.
Для C# мы рисовали именно что обёртку над 7z.dll - дотнет позволяет такие COM-ы попользовать, в отличие от фокса.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: winrar-zip
BOBAN

Сообщений: 625
Откуда: Солигорск
Дата регистрации: 05.07.2004
Igor Korolyov
BOBAN
А как насчет версии 3.62 с подарочным ключом ?
Понятия не имею о чём речь.
Здесь лежит комплект forum.ru-board.com и народ пишет , что можно легально пользоваться. Но , допускаю, что это не так.
Ratings: 0 negative/0 positive


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

On-line: 25 of63  (Гостей: 24)

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