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 смотрите в приложении к газете. ──────── ─────────────────── ────────
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября