|
Netus News
#10
04 февраля 1999 |
|
Упаковщики - распковка ZIP архивов.

── Упаковщики ── Придумывать новый раздел я не считаю нужным, поэтому пусть будет тот, что ис- пользовался ранее, хотя речь пойдет не об "упаковщиках", а наоборот, о "распаковщи- ках". "Не учась и лаптя не сплетешь." Пословица. Казалось бы, ну чего тут сложного? Ну делов-то - архив раскрыть. Но это толь- ко с первого взгляда все так просто. На самом деле раскрытие архивов - дело слож- ное и ответственное, т.к. от правильности выполнения этой непростой операции зави- сит, например, ну хотя бы... Ну хоть почту читать хотите? Тогда учитесь: Фишка сия предназначена для раскры- вания (кому то больше нравится термин "распаковка") архивов, закрытых (запако- ванных) PC-ковским ZIP'ом. Что может быть внутри архивов? - оставим этот вопрос на совести тех, кто их закрывает... Теперь о работе: Максимальный размер файла (как вход- ного так и выходного) - 16777215 байт. Раскрытие файлов размером больше чем наз- ванная цифра дело может, конечно, и захва- тывающее по продолжительности и количеству используемых дисков, однако, что произой- дет в этом случае - науке не ведомо. А ес- ли и ведомо - то пусть наука лучше промол- чит - все равно ничего хорошего! Управление программой осуществляется клавишами курсора или QAOP, выбор - ENTER и еще некоторыми кнопочками. Немного тер- пения и вы их узнаете... Интеллект программы настолько велик, что вся работа идет практически в автоном- ном режиме. Правда, работать с диском пря- мо из коробки она не сможет. Однако, как бы не был велик интеллект программы, всег- да найдется изобретательный идиот, который сможет завести самый совершенный алгоритм в тупик. В таких ситуациях программа из- вестит о встретившемся затруднении и пред- ложит пути его разрешения. В таких ситуа- циях вместо Y/N можно смело юзать EN- TER/SPACE, если они западают. Раскрываются архивы, содержащие фай- лы закрытые двумя методами "deflate" и "store". Другие методы не поддерживаются ввиду их редкости. О причинах этого - ни- же. Раскрытие архива может быть осущест- влено с пропуском файлов - чтобы активизи- ровать / дезактивировать эту возможность надо в файловом меню нажать "F". Соответс- вующая надпись сообщит неувернным в себе пользователям о произведенных переключени- ях. В этом режиме перед раскрытием файла будет выдана его длинна и имя, после чего комп грозно спросит о пропуске файла. Если согласится на пропуск файл раскрыт не бу- дет и прога перейдет к следующему в архи- ве... Раскрытие файла сопровождается мель- канием hex цифр (для наглядности полная длина файла выдается радом с мелькающими цифрами). Поскольку этот процесс отнимает машинное время в процессе распаковки - данная фенечка отключаема. Для выключения достаточно в процессе загрузки держать на- жатым пробел. Аналогично, раскрытый файл проверя- ется на соответствие закрытому путем подс- чета CRC. Данный процесс отнимает еще больше времени, и его дезактивация произ- водится удержанием ентера в процессе заг- рузки. Раскрытие может быть произведено с любого тырдос устройства на любое. Вся ра- бота с диском осуществлена через #3D13, так что смело можно запускать на рамдисках и виртуальных образах дискет на винте... Выбор входного диска - <S>ourse, выходного - d<Е>stination. Если раскрытие осущест- вляется на то же устройство, с которого начитывается исходный файл - то можно сме- нить режим один диск - разные диски нажа- тием кнопки "D". При работе с двумя уст- ройствами автоматически выбирается режим "разные диски". После смены входного устройства его каталог можно перечитать клавишей "R". Одновременно на экране видно 100 файлов без удаленных. Файлы, находящиеся в конце каталога (несчастные 28) раскрыты быть не могут, ибо выбрать их нельзя. Унзип работает с трехбайтными расши- рениями файлов, если оные имеются (остав- шиеся 2 буквы). Стандарт на длинные файлы - как в melon'е. т.е куски имеют одинако- вые имена и различаются по букве расшире- ния увеличивающейся от файла к файлу. Кус- ки должны иметь размер кратный сектору - для последнего куска - необязательно. Еще условие - файлы-куски должны располагаться на диске подряд, без пробелов между ними. если файлы имеют расширение .pkt, то оно (расширение) будет преобразовано в .Ckt. Это нужно для почтовых редакторов. При выборе архива производится его сканирование и принадлежность к системе ZIP (с версии 0.6 алгорит проверки на зип- ность упрощен). После сканирования выво- дится число файлов в архиве и начинается процесс раскрытия первого файла. В процес- се раскрытия может оказаться, что число созданных файлов меньше числа заявленных. Дабы отбросить подозрения в нечистоплот- ности автора "мол, и файлы у них пропада- ют" скажу, что если вычесть число подката- логов из полного числа файлов в архиве - получите недостающие файлы. Кто таким ре- шением недоволен - может претендовать на приз - конфетку, если сможет создать под- каталоги в tr-dos. Для непонятливых скажу, что файлы из всех подкаталогов будут сва- лены в одну кучу. Дисковые ошибки не отлавливаются и после надписи о неисправности на диске прога вывалится в главное меню. Особенного описания заслуживает си- туация с недостаточным местом на диске при раскрытии файла - в этом случае процесс будет приостановлен и пользователю будет предложено назвать новое устройство для продолжения раскрытия. Выбор A-D произво- дится кнопками 1-4. Если будет выбрано устройство с тем же номером, что и уст- ройство с исходным архивом, то прога авто- матически будет считать, что работа идет на разные диски и будет докучать просьбами о их смене в процессе распаковки. Уникальной возможностью программы является возможность раскрытия образов спековских дискет прямо на реальный диск. Встретив файл с расширением .trd прога спросит способ раскрытия на диск в виде файла или создания диска из этого образа. В первом случае созданный файл ничем не будет отличаться от обычного файла, во втором будет создан новый диск из образа эмулятора, при этом вся информация на вы- ходном диске будет потеряна, так что прог- рамма сама включит режим "разные диски" независимо от установленного в меню. Осо- бенность этого режима работы: раскрываеный файл должен иметь длинну кратную сектору - для правильного подсчета контрольной сум- мы. Некоторые архивы имеют внутри себя комментарии. Это не файлы, а составляющие служебные поля архива. Так вот, прога встретив в служебных полях архива коммен- тарий выведет его, но на расширении 512*192. Тем у кого оный режим не реализо- ван остается только посочувствовать. (о расширении 512*192 точки читайте в пя- том номере газеты) Данный продукт написан на базе ис- досного депакера by Михаил Кондратьев, за что ему большое спасибо! Также спасибо Ренату Мамедову за на- писание данного текста и Сергею Анискину за его конкретное исправление. Связаться с автором данного продукта можно используя такое нехитрое приспособ- ление как FidoNet, мой адрес в этом самом FidoNet: To: Andrey Isaev 2:5026/23.50 aka 2:5026/21.27 Сам unzip смотрите в приложении к газете. ──────── ─────────────────── ────────
Другие статьи номера:
Похожие статьи:
В этот день... 1 января
SibNews #08,
Woot! #01,
Spectrum Magazine #01,
ACNews #25,
Psychoz #14,
ACNews #14,
Last 128 #08,
Last 128 #06,
Last 128 #05,
Last 128 #04,
Last 128 #03,
Last 128 #02,
Last 128 #09,
Last 128 #3.5,
Last 128 #8.025,
Sinclair Club #05,
Last 128 #M!R 01,
Fantadrom #01,
Buzz #20,
Last 128 #01,
DonNews #13,
Nicron #120,
Promised Land #01,
Inferno #01,
Marazm #25,
Ultimathum #01,
Marazm #21,
Hooy Mag #02,
KrNews #11,
Marazm #22,
Marazm #23,
ZX Football 2000 #01,
Codemania #01,
Always #03,
Bugs #02,
IzhNews #08,
Virtual Worlds #01,
Listok #04,
Scenergy #02,
Flash Info #18,
Marazm #16,
Marazm #17,
Zed #01,
Balagan #02,
ZX Format #08,
ZX Power #03,
Shock #01,
Impulse #02,
Deja Vu #03,
ZX Club #08,
ZX Club #06,
Numberology #01,
Marazm #13,
Marazm #12,
Marazm #14,
Gorodok #02,
Zodiac #01,
Marazm #15,
Deja Vu #07,
Marazm #11,
Deja Vu #07,
Playboy #03,
Crazy News #2,
Crazy News #4,
ZX Light #01,
Crazy News #5,
Playboy #02,
ZX News #03,
ZX Review #1-2,
Read Me #02,
Crazy News #3,
Nicron #13,
Read Me #01,
Public Spirit #01,
Faultless #06,
Faultless #05,
ZX Software #01,
Stump #04,
Speccy #07,
Возраждение #0,
Speccy #03,
On-Line #17,
Scene+ #01,
Welcome Press #01,
ZX Konig #04,
Adventurer #01,
Faultless #05,
Faultless #04,
Di Halt #01,
Faultless #01,
Playboy #01,
Crazy News #1,
Faultless #03,
Pioneer #03,
Sinclair Town #02,
ZX Magazine #01,
Eldorado #01,
ZX Magazine #02,
Spectron #01,
ZX News #01,
ZX Konig #02,
200 #W,
Welcome Press #00,
Dune #07,
Subliminal Extacy #01,
Subliminal Extacy #02,
ZX Konig #01,
Subliminal Extacy #00,
Muchomor #01,
Spectrofon #01,
ZX Revija #02,
Outlet #01,
Outlet #1-3