ArchView - плагин внутреннего просмотра для Total Commander
Автор © 2004-2006 Худяков Алексей aka Parcan


1. Описание
----------
Данный плагин предназначен для просмотра различной информации об архивах: размер, количество файлов, папок, размер словаря, метод сжатия, процент сжатия, комментарий и многое другое.
Поддерживаемые архивы:
ACE, ARC (PAK), ARJ, BH - Blak Hole, BZIP2 (TAR BZIP2), CAB, CPIO, DWC, GZIP (TAR GZIP), HA, LHA (LZH), PPM, RAR, SQZ, TAR, Z, ZIP (JAR - Java ARhiver), ZOO.
Поддержка архиваторных (wcx) плагинов Total Commander.


2. Установка
----------
а) распакуйте содержимое архива в отдельный каталог (например, c:\TotalCmd\plugins\wlx\ArchView\).
б) подключите плагин (для Total Commander 5.51 или выше выберите пункт меню Конфигурация-Настройка, перейдите на страницу Правка/Просмотр, нажмите кнопку "Настройка внутренней программы", затем кнопку "LS-Plugins", для Total Commander 6.50 или выше выберите пункт меню Конфигурация-Настройка, перейдите на страницу Плагины, нажмите кнопку "Настройка" для плагинов внутреннего просмотра и добавьте ArchView в список).

Для Total Commander 6.5 или выше поддерживается автоустановка плагина.

С плагином идет пример файла настроек Template.ini, это настройки плагина по умолчанию. Сам плагин читает настройки из файла ArchView.ini. При настройке плагина используйте файл Template.ini как пример.

Плагин рекомендуется устанавливать последним в списке плагинов, т.к. по умолчанию он анализирует все возможные файлы, кроме собственного лог-файла ArchView.log, либо поставить настройки плагина на максимальное быстродействие.


3. Требования
----------
- Total Commander 5.51 или выше.
- Процессор 486 или выше.
- Оперативная память 8 Мб или выше.
- Windows 9x/Me/NT/2k/XP/2003.


4. Функциональность
----------
Плагин тестирует входной файл на известные ему типы архивов, возможно использование архиваторных (wcx) плагинов Total Commander. На время тестирования входного файла Total Commander будет недоступен. Если файл определен, то управление возвращается Total Commander и анализ файла запускается в отдельном потоке.

Если вы хотите сделать запуск плагина максимально быстрым, то нужно:
- отключить проверку SFX архивов ArchivesSFX=0 секция [Main]
- отключить использование архиватрных (wcx) плагинов Total Commander UseWCXPluginsTC=0 секция [Main]
- включить оптимизацию использования плагинов OptimUsePlugins=1 секция [Main], если UseWCXPluginsTC=1 секция [Main]
- отключить графическое отображение анализа файла ShowProgress=0 секция [Window]
- отключить создание лог-файла CreateLogFile=0 секция [Logfile]
- установить приоритеты для тех архивов, которые вы используете PriorityArchives секция [Archives]
- установить проверку файлов только по расширению OnlyExtensions=1 секция [Extensions]
- прописать детект строку для плагина, в файле настроек Total Commander wincmd.ini секция [ListerPlugins], например (N - номер плагина в списке):
N_detect=EXT="RAR"|EXT="ACE"|EXT="ZIP"|EXT="CAB"
детект строка может быть автоматически сгенерирована плагином для текущих настроек, для этого нужно установить параметр SetDetectString=1 секции [Main], детект строка будет сгенерирована только один раз, для повторной генерации нужно удалять ее из файла настроек Total Commander wincmd.ini или исправлять ее в ручную

В зависимости от типа архива пользователю может быть выведена следующая информация:
- Распакованный размер файлов
- Упакованный размер файлов
- Размер архива
- Количество файлов в архиве
- Количество папок в архиве
- Количество глав в архиве (только для ARJ)
- Размер используемого словаря
- Операционная система, использованная при упаковке
- Операционная система, используемая при распаковке
- Используемый метод сжатия
- Используемая при сжатии память (только для PPM)
- Сжатие1: размера архива относительно распакованного размера
- Сжатие2: упакованный размер относительно распакованного размера
- Версия программы упаковщика
- Версия программы необходимая для распаковки
- Размер SFX модуля для самораспаковывающегося архива
- Размер информации для восстановления
- Непрерывный архив
- Многотомный архив
- Номер тома (только для многотомного архива)
- Комментарий архива
- Комментарии файлов
- Комментарии глав (только для ARJ)
- Есть пароль
- Архив заблокирован
- Электронная подпись
- Дата создания (для ACE и ARJ)
- Дата модификации (только для ARJ)
- Время создания (для ACE и ARJ)
- Время модификации (только для ARJ)
- Оригинальное имя (для ARJ и GZIP)
- Magic (только для TAR)
- Время тестирования
- Время анализа
- Полное время


5. Настройки
----------
Файл настроек ArchView.ini может содержать следующие ключи по секциям:

[Main]
- ArchivesSFX (по умолчанию 1)
	1 - проверять исполняемые файлы на самораспаковывающиеся архивы
	0 - не проверять, не влияет на архивы DWC и ZIP
- SizeSFX (по умолчанию 512000, т.е. 500 Кб)
	максимальный допустимый размер SFX модуля в байтах, модули больших размеров будут игнорироваться, ограничение на максимальную длину модуля 10485760, т.е. 10 Мб, не влияет на архивы DWC, ZIP и архиваторные (wcx) плагины Total Commander
- FloatSize (по умолчанию 0)
	1 - показывать плавающий размер, т.е. 1000 б = 0.9 Кб
	0 - размер в байтах
- AllParametrs (по умолчанию 0)
	1 - показывать все возможные параметры для данного типа архива
	0 - показывать только установленные параметры
- InvertRatio (по умолчанию 0)
	1 - другой расчет сжатия
	0 - обычный расчет сжатия
- SetDetectString (по умолчанию 0)
	1 - если для плагина не прописана детект строка, то при вызове она будет сгенерирована в зависимости от текущих настроек
	0 - не генерировать детект строку
- Language (по умолчанию язык, зашитый в программу или Template.lng)
	имя файла перевода находящегося в папке Language каталога плагина без расширения (для Language\FileLanguage.lng установить Language=FileLanguage)
- UseWCXPluginsTC (по умолчанию 1)
	1 - использовать архиваторные (wcx) плагины Total Commander, плагины используются в том порядке в котором они прописаны в файле настроек
	0 - не использовать
- OptimUsePlugins (по умолчанию 1)
	1 - если один и тот же плагин объявлен несколько раз, то использоваться он будет только один раз
	0 - не делать проверку на объявление одного плагина несколько раз (нужно если каждому объявлению одного и того же плагина соответствуют различные расширения: МоеИмя1=МойПлагин.wlx МоеИмя2=МойПлагин.wlx МоеИмя1=расширение1 МоеИмя2=расширение2)
- UseWincmdIniWCX (по умолчанию 0)
	1 - использовать архиваторные (wcx) плагины Total Commander из секции [PackerPlugins] wincmd.ini (не рекомендуется)
	0 - использовать архиваторные (wcx) плагины Total Commander из секции [WCXPluginsTC] ArchView.ini (рекомендуется)
- PathWincmdIni (по умолчанию %COMMANDER_PATH%\wincmd.ini)
	путь к файлу настроек Total Commander wincmd.ini

[Window]
- SaveLastTab (по умолчанию 1)
	1 - запоминать последнюю открытую закладку
	0 - не запоминать
- LastTabNumber (по умолчанию 0)
	номер последней открытой закладки
- SaveWindowSize (по умолчанию 1)
	1 - запоминать размер окна плагина
	0 - не запоминать
- WidthWindow, HeightWindow (по умолчанию 0)
	ширина и высота окна плагина (если 0 то берутся размеры окна листера)
- ShowCommentOnTabInfo (по умолчанию 0)
	1 - показывать комментарий архива на закладке Info/Информация
	0 - не показывать
- ShowTabComment (по умолчанию 1)
	1 - показывать закладку Comment, если она нужна
	0 - не показывать
- ShowTabAbout (по умолчанию 1)
	1 - показывать закладку About
	0 - не показывать
- ShowProgress (по умолчанию 1)
	1 - графически отображать прогресс анализа файла
	0 - не отображать
- ShowLeftRatio (по умолчанию 1)
	1 - графически отображать сжатие относительно размера архива
	0 - не отображать
- ShowRightRatio (по умолчанию 1)
	1 - графически отображать сжатие относительно упакованного размера файлов
	0 - не отображать
- FontSize (по умолчанию 12)
	размер шрифта ограничен от 6 до 34

[Parameters]
- UnpackSizeFiles, PackSizeFiles, ArchiveSize, NumberFiles, NumberFolders, NumberChapters, DictionarySize, HostOS, ExtractOS, MethodPack, MemorySize, RatioArchiveSize, RatioPackFileSize, PackVersion, UnpackVersion, SfxModule, RecoveryRecord, Solid, MultiArc, MainComment, FileComment, ChapterComment, Password, ArchiveLock, AuthVerification, TestTime, AnalyzeTime, AllTime, DateCreated, DateModified, TimeCreated, TimeModified, OriginalName, Magic (все ключи по умолчанию 1)
	1 - показывать параметр на закладке Info
	0 - не показывать параметр

[Logfile]
- CreateLogFile (по умолчанию 1)
	1 - создавать лог-файл
	0 - не создавать
- DetailLogFile (по умолчанию 1)
	1 - создавать детальный лог-файл
	0 - не детализированный
- WidthAuthorName (по умолчанию 12)
	ширина поля автора сообщения для лог-файла в символах
- WidthMessage (по умолчанию 40)
	ширина поля сообщения для лог-файла в символах

[Archives]
- PriorityArchives (по умолчанию 13 17 1 6 3 11 9 15 2 4 5 7 8 10 12 14 16 18)
	очередность тестирования файла на определенный вид архива, определяется по номеру в указанном списке, а номера архивам присвоены в алфавитном порядке ключей секции [Archives] файла настроек ArchView.ini без пропуска ключей (смотри ниже)
- Ace (1), ArcPak (2), Arj (3), Bh (4), BZip2Tbz2 (5), Cab (6), Cpio (7), Dwc (8), GZipTgz (9), Ha (10), LhaLzh (11), Ppm (12), Rar (13), Sqz (14), Tar (15), Z (16), ZipJar (17), Zoo (18) (все ключи по умолчанию 1)
	1 - проверять файл на данный тип архива
	0 - не проверять

[Extensions]
- OnlyExtensions (по умолчанию 0)
	1 - производить тестирование файла только по расширению (протестирован файл будет только на тот архив у которого это расширение встретится раньше)
	0 - тестировать все файлы
- ExtAce (по умолчанию ace)
- ExtArcPak (по умолчанию arc pak)
- ExtArj (по умолчанию arj)
- ExtBh (по умолчанию bh)
- ExtBZip2Tbz2 (по умолчанию bz2 tbz2)
- ExtCab (по умолчанию cab)
- ExtCpio (по умолчанию cpio)
- ExtDwc (по умолчанию dwc)
- ExtGZipTgz (по умолчанию gz tgz)
- ExtHa (по умолчанию ha)
- ExtLhaLzh (по умолчанию lha lzh lzs)
- ExtPpm (по умолчанию ppm)
- ExtRar (по умолчанию rar)
- ExtSqz (по умолчанию sqz)
- ExtTar (по умолчанию tar)
- ExtZ (по умолчанию z)
- ExtZipJar (по умолчанию zip jar)
- ExtZoo (по умолчанию zoo)
	список расширений, соответствующих данному типу архива, указанных через пробел (внимание именно через пробел), файл с известным расширением быстрее тестируется

[Libraries]
- Ace (по умолчанию %COMMANDER_PATH%\unacev2.dll)
	путь к библиотеке для ACE архива (для чтения комментария)
- Rar (по умолчанию %COMMANDER_PATH%\unrar.dll)
	путь к библиотеке для RAR архива (для чтения комментария)

[WCXPluginsTC]
- "ИмяПлагина"
	ключ - имя плагина задаваемое пользователем, значение - путь к файлу плагина (7Zip=%COMMANDER_PATH%\plugins\wcx\7Zip\7Zip.wcx), плагины используются в том порядке в котором они прописаны в файле настроек

[WCXExtensions]
- OnlyExtensions (по умолчанию 0)
	1 - производить тестирование файла только по расширению (протестирован файл будет только на тот плагин у которого это расширение встретится раньше)
	0 - тестировать все файлы
- "ИмяПлагина"
	ключ - имя плагина задаваемое пользователем, значение - список расширений, соответствующих данному плагину, указанных через пробел (внимание именно через пробел), файл с известным расширением быстрее тестируется (7Zip=7z 7zip), если UseWincmdIniWCX=0 - использовать архиваторные (wcx) плагины Total Commander из секции [WCXPluginsTC] ArchView.ini то "ИмяПлагина" секции [WCXExtensions] соответствует "ИмяПлагина" секции [WCXPluginsTC] ArchView.ini, если UseWincmdIniWCX=1 - использовать архиваторные (wcx) плагины Total Commander из секции [PackerPlugins] wincmd.ini то "ИмяПлагина" секции [WCXExtensions] соответствует "ИмяПлагина" секции [PackerPlugins] wincmd.ini


6. Управление
----------
Esc                - выход
Tab                - следующий элемент диалога
Shift + Tab        - предыдущий элемент диалога
Ctrl + Tab         - следующая закладка
Ctrl + Shift + Tab - предыдущая закладка
W                  - перенос строк


7. Важно
----------
- плагин не всегда проверялся на файлах размером более 2 Гб.
- все ключи файла настроек и языкового файла ограничены по максимальной длине в 256 символов.
- самим плагином комментарии читаются только если они хранятся в текстовом виде (ARC, ARJ, ZIP/JAR, ZOO), для некоторых архивов комментарии могут быть прочитаны с использованием соответствующих DLL (ACE, RAR), для некоторых архивов пока нет возможности прочитать комментарий (GZIP/TGZ, SQZ), у остальных архивов комментариев не бывает, для плагинов комментарий должен определятся самим плагином.
- количество папок в архиве - число блоков описывающих папки в структуре архива.
- размер записи для восстановления - в плагине размер всего блока информации для восстановления, в программе RAR выдается размер чистой информации для восстановления.
- для ARC и PAK архивов не определяется наличие пароля.
- возможна ложная идентификация файлов.
- для многотомных архивов информация выдается только по конкретному тому, для плагинов определяется самим плагином.
- если в томе многотомного архива файлы имеют начало в предыдущем томе или продолжение в следующем, то информация о размере и сжатии будет ошибочной, для плагинов определяется самим плагином.
- для некоторых типов многотомных архивов номер тома определяется по расширению файла.
- для ZIP архива, существует несколько методов организации томов, чаще всего тома между первым и последним не имеют идентификационной информации и не определяются, как архивы.
- в некоторых архивах блок описания папки и блок описания файла нулевой длинны можно различить лишь по атрибутам, если атрибуты не установлены, то оба блока будут считаться файлами нулевой длины.
- сведения цифровой подписи для архивов RAR старых версий и ARJ не определяются.
- цифровая подпись не проверяется на правильность.
- проверка на SFX модуль реализована только для тех архивов, для которых автор видел возможность создания самораспаковывающихся архивов.
- при использовании плагинов могут выводится неверные данные, но эти данные возвращает сам плагин.
- если подключается архиваторный (wcx) плагин для работы с мультимедийными файлами, то в детект строке ArchView нужно добавить параметр MULTIMEDIA (N_detect=MULTIMEDIA).
- если подключается плагин CatalogMaker.wcx, Img.wcx, он не будет работать пока не воспользоваться им в Total Commander нажать на архиве этого плагина Ctrl+PageDown.


8. Связь
----------
Сообщения об ошибках, пожелания, предложения, ругательства, переводы языковых файлов, и прочее вы можете отправлять по адресу Parcan@mail.ru


9. Благодарности
----------
Roman Bataev - советы и помощь
CaptainFlint - советы и помощь
SCHMaster - советы и помощь
Sheridan - советы и помощь
ShurikSoft - советы и помощь
Pavel Ageev - советы и помощь
Lubomir Jezek - советы и помощь
Alexandr Filipchik - советы и помощь Russian.lng, Readme.rus
Christian Ghisler - автор программы Total Commander
Andrey Pyasetskiy - автор сайта http:\\wincmd.ru
Luis Mejia - за перевод Spanish.lng
Vico//Koby - за перевод Spanish.lng
Oscar Salinas Mora (OSM666) - за перевод Spanish.lng
xxxxx0 - за перевод Czech.lng
Igor Butskiy - за перевод Ukrainian.lng
Norbert Fiedler - за переовод Deutsch.lng
Kurt Lettmaier - за переовод German.lng
Peter Brockamp - за переовод Deutsch.lng
Domas Lasauskas - за перевод Lithuanian.lng
ULTIMA PRIME - за перевод Polish.lng
Ouistiti - за перевод French.lng


10. Авторские права
----------
Все права на данный плагин принадлежат автору. Данный продукт абсолютно бесплатен и распространяется свободно для некоммерческого использования. Вы можете использовать его как вам угодно, однако помните, что вы делаете это на свой страх и риск, а автор не несет никакой ответственности за возможный моральный или материальный ущерб, вызванный при использовании данного продукта.