Плагин с нуля

Только для тех, кто пишет плагины под Total Commander. Обмен опытом, решение проблем.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Ответить
Evil
Сообщения: 4
Зарегистрирован: Сб мар 18, 2006 16:43

Плагин с нуля

Сообщение Evil »

Мне необходимо написать плагин, который будет шифровать указанный файл - какой тип плагина начать писать?
Вообще, т.к. я пишу плагин впервые, меня интересуют следующие аспекты:
* В чем вообще разница между плагином и обычной программой?
* На каком языке лучше писать?
* Нужно писать прогу с интерфейсом или консольную или без разницы?
Вобщем мне нужен полный "Курс молодого бойца"
З.Ы. Программировать я умею, этому учить не надо :)
mramor
Сообщения: 100
Зарегистрирован: Чт дек 16, 2004 18:11
Откуда: г. волжский, снг

Сообщение mramor »

каждый плагин - это dll с измененным расширением. набор экспортируемых функций определяется интерфейсом каждого из типов плагинов. в данном случае лучше подходит интерфейс архиваторных плагинов, только вместо сжатия плагин будет выполнять шифрование.

описание интерфейса всех типов плагинов можно найти на http://ghisler.com/ в разделе плагинов.
Аватара пользователя
Volniy
Сообщения: 585
Зарегистрирован: Ср дек 15, 2004 00:17
Откуда: Местный

Re: Плагин с нуля

Сообщение Volniy »

Evil писал(а): * В чем вообще разница между плагином и обычной программой?
* На каком языке лучше писать?
* Нужно писать прогу с интерфейсом или консольную или без разницы?
* По простому: обычная программа работает самостоятельно, а плугин использует plugins-API той программы, для которой он написан. Этот API представляет из себя определенный набор функций, которые должны быть реализованы внутри плагина. Именно через эти функции и осуществляется передача данных между плагином и Тоталом (в нашем случае).
* На том, на котором умеешь создавать динамические библиотеки с экспортом функций.
* Плагин должен быть реализован как DLL (что совсем не мешает организовать пользовательский интерфейс, использовать внешние консольные программы и тп)
Evil
Сообщения: 4
Зарегистрирован: Сб мар 18, 2006 16:43

Сообщение Evil »

Т.е. если я правильно понял, каждый плагин - обычная прога (только в виде DLL), которая использует ТС как источник данных?
Аватара пользователя
funduk
Сообщения: 1515
Зарегистрирован: Вт авг 16, 2005 16:00
Откуда: Санкт-Петербург

Сообщение funduk »

2Evil
Ты лучше скажи, зачем тебе писать плагин для шифрования файлов?
Таких уже минимум 4 штуки.
Аватара пользователя
Volniy
Сообщения: 585
Зарегистрирован: Ср дек 15, 2004 00:17
Откуда: Местный

Сообщение Volniy »

Evil писал(а):Т.е. если я правильно понял, каждый плагин - обычная прога (только в виде DLL), которая использует ТС как источник данных?
Они взаимно используют друг друга. Например, Тотал передает плагину имя текущего файла, а плагин возвращает для этого файла некоторый набор информации, которая опять-таки используется Тоталом, например, для соответствующего отображения этого файла на панели ТС. И тд и тп (в зависимости от типа плагина).
Короче, плагин расширяет функциональность Тотала (фактически добавляет некий свой код к коду Тотала).
Evil
Сообщения: 4
Зарегистрирован: Сб мар 18, 2006 16:43

Сообщение Evil »

funduk писал(а):2Evil
Ты лучше скажи, зачем тебе писать плагин для шифрования файлов?
Таких уже минимум 4 штуки.
Курсач пишу. Реализация шифроалгоритма Serpent. Просто преподу нужна не обычная прога, а работающая как модуль к какому-нибудь ПО. Вот я и выбрал ТС, благо каждый день под рукой.
А кореш мой пишет MD5 под ТС.
Evil
Сообщения: 4
Зарегистрирован: Сб мар 18, 2006 16:43

Сообщение Evil »

Может я, конечно, ошибаюсь, но по-моему тема не раскрыта. Может какие советы, пожелания, рекомендации?
Аватара пользователя
SCHMaster
Сообщения: 296
Зарегистрирован: Ср дек 15, 2004 02:32
Откуда: Киев
Контактная информация:

Сообщение SCHMaster »

2Evil
Впишусь...
Может я, конечно, ошибаюсь, но по-моему тема не раскрыта.
Не в обиду, но... Ситуевина мне очень знакома по специализированным форумам по программированию: "Че-то хочу, а как хочу - не знаю сам" :).
Ты поставил общие вопросы и получил на них такие-же общие ответы :). А для того, чтоб у тебя были конкретные вопросы...
Может какие советы, пожелания, рекомендации?
... совршенно верно.
Ты сам для себя должен понять:
* В чем вообще разница между плагином и обычной программой?

Добавлю еще - в начале ответь для себя на другой вопрос
"В чем вообще разница между DLL и обычной программой?"
Т.е. в начале нужно научиться писать эти самые DLL-ки... Всего делов-то. Литературы и примеров в сеи валом (только ненужно говорить "ненашел" :) - ВАЛОМ). И потом уже "понимать" разницу между программой и плагином. Вернее она уже понятна будет и так.
Удачи. Будут конкретные вопросы - всегда поможем....

P.S. Дабы предупредить еще кучу непоняток... После "разбора полетов" с DLL рекомендуется еще устроить разборку с WindowsAPI... Т.к. с плагинами для TC (особенно с FS-плагинами) без апей ну просто никак...
Аватара пользователя
Моторокер
Сообщения: 1517
Зарегистрирован: Пт май 06, 2005 08:22
Откуда: г. Пермь (читается Перьмь)
Контактная информация:

Сообщение Моторокер »

плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Ответить