Программы, плагины, статьи от Моторокера

Новости
Статьи
Программы
Ссылки
Автор

Рекомендации по написанию архиваторных плагинов для Total Commander

GetPackerCaps

GetPackerCaps сообщает Total Commander’у, какие возможности поддерживает плагин.

int __stdcall GetPackerCaps();

function GetPackerCaps: integer; stdcall;

Описание

Используйте GetPackerCaps, чтобы возвратить комбинацию из перечисленных значений:

Константа

ЗначениеОписание
PK_CAPS_NEW1Может создавать новые архивы
PK_CAPS_MODIFY2Может изменять существующие архивы
PK_CAPS_MULTIPLE4Архив может содержать несколько файлов
PK_CAPS_DELETE8Может удалять файлы
PK_CAPS_OPTIONS16Есть диалог настроек
PK_CAPS_MEMPACK32Поддерживает упаковку в памяти
PK_CAPS_BY_CONTENT64Определяет тип архива по содержимому
PK_CAPS_SEARCHTEXT128Может искать текст в архиве
PK_CAPS_HIDE256Не показывать иконку архива, не открывать по Enter, только по Ctrl+PgDn
PK_CAPS_ENCRYPT512Плагин поддерживает шифрование

Пропустите PK_CAPS_NEW и PK_CAPS_MODIFY, чтобы функция PackFiles (упаковка файлов) никогда не вызывалась, тогда вы можете не писать код для PackFiles.

Пропустите PK_CAPS_MULTIPLE, чтобы функция PackFiles (упаковка файлов) передавала только один файл.

Пропустите PK_CAPS_DELETE, чтобы функция DeleteFiles (удаление файлов) никогда не вызывалась.

Пропустите PK_CAPS_OPTIONS, чтобы функция ConfigurePacker (настройка упаковщика) никогда не вызывалась.

PK_CAPS_MEMPACK даёт возможность использовать функции StartMemPack, PackToMem и DoneMemPack (упаковка в памяти).

Если возвращается значение PK_CAPS_BY_CONTENT, то Total Commander вызывает функцию CanYouHandleThisFile, когда пользователь нажимает Ctrl+PgDn на файле неизвестного типа (файле, не показанном как архив).

Если возвращается значение PK_CAPS_SEARCHTEXT, то Total Commander может искать по тексту в архивах, упакованных этим плагином (необязательно, что архив может быть создан только этим плагином). Желательно не добавлять эту функцию в плагинах типа DiskDir, в которых содержимое может быть недоступно. (архивы, созданные DiskDir – обычные текстовые файлы с расширением LST, каждая строка которых содержит только исходное имя файла с некоторыми атрибутами)

Если возвращается значение PK_CAPS_HIDE, то Total Commander не показывает файлы этого типа как архивы. Это удобно для плагинов, которые в основном используются для создания файлов, например командных bat, cmd файлов, avi файлов и т.д. Чтобы открыть такой архив, нужно нажать Ctrl+PgDn, потому что Enter может запустить ассоциированное приложение.

Если не вернуть PK_CAPS_MULTIPLE, то Total Commander при упакове всегда ставит галочку «Отдельные архивы для каждого выбранного файла/каталога».

Непонятно, почему предлагается пропускать значения и не_вызывать функции, а не добавлять и вызывать. Разбил на отдельные абзацы. Написано слито, запутанно, переделать в одном стиле.

Важное замечание:

После смены возвращаемых значений функции, например добавления возможности упаковки, вы должны переустановить плагин в Total Commander, иначе новые возможности не определятся.

Константа

ЗначениеОписание

PK_SKIP

0Пропустить файл (без распаковки)

PK_TEST

1Тестировать целостность файла

PK_EXTRACT

2Распаковать файл на диск


© 2006–2011 Моторокер Плагины для Total Commander