[Tools] Open File Shell For TC

Обсуждение только плагинов и утилит для Total Commander.

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

Spine
Сообщения: 129
Зарегистрирован: Ср дек 15, 2004 09:20
Откуда: Орша, Беларусь

[Tools] Open File Shell For TC

Сообщение Spine »

Open File shell for TC - это оболочка для TotalCommander, позволяющая открывать по F4 именно тот редактор, который требуется ВАМ. То есть, вместо того, чтобы открывать какой-то редактор и через него выискивать нужный для редактирования файл, вам достаточно будет нажать на этом файле F4. Остальное эта программа сделает за вас сама.
"Большой плюс" заключается в том, что твоя программа вроде как будет развиваться, а ChoiceEditor - увы нет. (c) Ergo :D
На данный момент меня не устраивают следующие вещи:

1. В своём ini файле не поддерживает %COMMANDER_PATH%, как кому а мне для запуска из различных мест критично...
2. Так и не смог выбрать программу и запустить её без помощи мыши :( (галка "всегда использовать выбранную программу" снята)
3. не всегда закрывается по ESC
4. Нужно убрать "Настройки" из основного окна программы... ИМХО...
Аватара пользователя
Yams
Сообщения: 115
Зарегистрирован: Пн окт 17, 2005 16:31
Откуда: Тверь
Контактная информация:

Сообщение Yams »

2Spine:
Спасибо за создание темы :) Обновил программу, скачать можно отсюда: http://dbcd.narod.ru/download/openfiletc_v1.2.rar.
Нового:
- можно удалять элементы из раздела с настройками
- можно не загружать иконки для программ
- можно выводить элементы в виде списка
- исправлены некоторые замеченные баги

По поводу замечаний:
1) %COMMANDER_PATH% буду поддерживать :) Только окончательно разберусь, как его применять. В этой версии поддержки пока нет.
2) Без помощи мыши пока выбирать программу нельзя :( Тут мне предложили хорошую идею, я её реализую к след. версии обязательно!
3) :o Чего не знал, того не знал. Отловлю и посажу под замок! :D
4) Уже сделано! На правую клав. мыши по ненужному элементу настроек, и выбрать "Убрать элемент". И всё :)

Ещё:
нафига такой странный разделитель? может запятая или ";" подойдёт?
Это моя прихоть :lol: Шутка. Просто OpenFileTC я разрабатывал на уже разработанных мной механизмах. Программлю я давно, вот уже 8 лет в декабре стукнет :) накопилась у меня база с шаблонами. Одним таким шаблоном и является такой символ. Просто ТАКОЙ символ используется КРАЙНЕ редко и в ОЧЕНЬ ограниченных ситуациях. Кроме того, он в любой кодировке отображается нормально. Да и прикольно выглядит!

2Sam:
Вроде есть Choice Editor. Нафига велосипед изобретать?
Тут три причины.
1) Дело в том, что ChoiceEditor, на мой взгляд, несколько акетичен. Лично я готов пожертвовать быстротой, но при этом наслаждаться красивостями и удобствами в настройке. Это моё личное мнение. Для того, чтобы сменить настройки в ChoiceEditor, нужно лезть в его ini-файл и там всё править. Хотя, надо сказать, настроек у него не так много, так что замечание, конечно, несерьёзное.
2) ChoiceEditor, к сожалению, больше обновляться не будет. Как заявил сам разработчик, сырцы программы погибли. Что именно случилось, я не знаю.
3) Я не считаю себя конкурентом ChoiceEditor. Я считаю, что OpenFileTC - это АЛЬТЕРНАТИВА ChoiceEditor, не более. Что именно альтернативного я предлагаю, думаю, понятно: красивости, удобства. Стараюсь, конечно, хоть как-то уменьшить время загрузки программы. В последней версии это даже получилось :) Правда, за счёт иконок: я их не гружу. Уменьшение времени загрузки, надо сказать, значительное :)

Надеюсь, ответил на вашу фразу.
Spine
Сообщения: 129
Зарегистрирован: Ср дек 15, 2004 09:20
Откуда: Орша, Беларусь

Сообщение Spine »

1. Выбираем пункт "В виде списка" - в каталоге где пытались что-то открыть зачем-то возникает файл ".BMP", нафига он там ???
2. Убрал все пункты из настроек, как вернуть назад? Предлагаю пункт в контекстном меню...
Аватара пользователя
Yams
Сообщения: 115
Зарегистрирован: Пн окт 17, 2005 16:31
Откуда: Тверь
Контактная информация:

Сообщение Yams »

2Spine
1) Посмотрю, в чём дело. Не доглядел :)
2) Нав., сделаю выпадающее меню с переключателями: пункт вкл/выкл. Вообще говоря, я предполагал, что если люди убрали настройки, то они им совсем не нужны. Потом уже понял, что иногда их обратно вернуть всё-таки нужно.

Да! Буквально вчера получил письмо из Румынии! Человек перевёл языковой файл программы с английского на румынский и вроде как не против поддерживать дальнейшие версии! Приятно, чёрт возьми :P
_Elzor
Сообщения: 33
Зарегистрирован: Ср авг 31, 2005 13:42
Откуда: Орск

Сообщение _Elzor »

Yams писал(а):Да! Буквально вчера получил письмо из Румынии! Человек перевёл языковой файл программы с английского на румынский и вроде как не против поддерживать дальнейшие версии! Приятно, чёрт возьми :P
Человека случайно не Dan Lungescu зовут? ;)
Аватара пользователя
Yams
Сообщения: 115
Зарегистрирован: Пн окт 17, 2005 16:31
Откуда: Тверь
Контактная информация:

Сообщение Yams »

_Elzor писал(а):Человека случайно не Dan Lungescu зовут? ;)
Нет, не Dan точно :) Он подписался как Eugen. Как я понял, он - админ аналогичного wincmd.ru сайта, только для Румынии.
Аватара пользователя
mozers
Сообщения: 82
Зарегистрирован: Чт дек 16, 2004 13:14
Откуда: с Нижнего
Контактная информация:

Сообщение mozers »

Yams
Я - не тот Sam, который ляпнул "Нафига велосипед изобретать?"
Я - тот что сделал ChoiceEditor :)
Если честно, я очень обрадовался когда узнал, что кто то подхватил упавшее знамя и теперь со стороны наблюдаю что же получится в результате ;)
Думаю, что самое главное - это желание сделать хорошую программу.
Удачи!
Да, кстати, по поводу %COMMANDER_PATH% и wincmd.ini уже все точки над i поставили тут.
p.s.
Для того, чтобы сменить настройки в ChoiceEditor, нужно лезть в его ini-файл и там всё править. Хотя, надо сказать, настроек у него не так много
И ПОЖАЛУЙСТА не надо врать. Ладно?
GeNtlE
Сообщения: 141
Зарегистрирован: Чт дек 16, 2004 12:36
Откуда: Россия, Чита
Контактная информация:

Сообщение GeNtlE »

Пожелания для дальнейшей разработки программы:
- Предусмотреть возможность настройки сочетаний клавиш для более быстрого запуска желаемого редактора. Т. е. чтобы можно было не тянуться мышкой до, например, WinWord, а нажать (к примеру) Win+W или Ctrl+W и всё!
- ИМХО логично пункт "Найти EXE" переместить куда-нибудь повыше... можно в Тулбар, если таковой появится в программе. Обязательно нужно горячую клавишу.
- Можно (я бы не отказался) для каждого пункта сделать настройку горячей клавиши.
- Запускать выбранную программу с нужным файлом СРАЗУ после настройки. Т. е. нажал я F4 на файле ReadMe.txt, открылось у меня главное окно программы, там я выбрал пункт "Другая программа...", в диалоге "Обзор" нашел нужную мне, нажал Enter и произошел запуск программы. Сейчас же, нужно повторно жать F4.
- Предусмотреть ситуацию, когда пользователю нужно будет с помощью того же F4 открыть файл разными программами. Хорошо было бы придумать что-то наподобие такого: Жмем F4 и, как в ChoiceEditor, например, уводим мышь в верхний правый угол экрана. Для уже зарегистрированного расширения, где уже стоит галка "Всегда использовать..." появляется главное окно.
- Могу пожелать убрать секцию "Настройки" из главного окна. Во всяком случае, из окна списка. Кнопку на тулбар что-ли...
- Ничего не происходит, если выбрать "Найти EXE" при условии, что в системе расширение не зарегистрировано... Окошко какое бы вылезло, что-ли...
- Было бы замечательно, если бы при поиске ассоциированной программы в реестре, находилась не только программа "По-умолчанию", но и все остальные зарегистрированные в системе как вспомогательные (Пункт меню "Открыть с помощью..."). Типа диалог с галочками - какие добавить и т. д. Можно еще и ключи обрабатывать.

Ну и описание найденных глюков:
- Жмем F4 на неизвестном расширении, появляется главное окно. И вот тут я исследовал 2 случая: когда программа уже есть в списке и когда её там нет. Если она есть в списке и мы нажимаем "Найти EXE" появляется ошибка "Index out of bounds(2)". Причем, всегда 2, в обоих случаях. Далее ничего не происходит. Всё. Приплыли. В случае, когда программы с списке нет, просто вылетает ошибка. Программа в окно не добавилась. Далее, если опять жмем F4, то найденная программа будет в списке рекомендуемых программ.
- Интересно получилось в случае поиска EXE с программой Paint... Вот что я сделал: я просто кликнул по значку "Найти EXE". Увидев, что ничего не произошло, еще раз кликнул. Закрыл окно... Открыл... О, чудо! Сразу два значка Paint в разделе Предпочтительных программ. Выбирай на вкус. :) Предлагаю определять наличие программы в списке по пути до исполняемого файла.
- После вышеперечисленных шагов, добавления в список нескольких программ (работа была только из Total Commander) OpenFile shell "прозрела". Показался диалог "Внимание: на вашей машине найден Total Commander! ... Сейчас вы используете "<путь>\ChoiceEditor.exe"". У меня есть 2 файла wincmd.ini. Один в папке WINDOWS, другой - в папке с TC. В первом прописан OpenFile shell, а вот во втором - действительно ChoiceEditor. TC использует тот, что в папке WINDOWS, а OpenFile ошибся... Вот ветка реестра, где лежит инфа касательно установки TC:

Код: Выделить всё

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Ghisler\Total Commander]
"InstallDir"="D:\\Program Files\\totalcmd"
Вот, что там сказано про ini:

Код: Выделить всё

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Ghisler\Total Commander]
"IniFileName"=".\\wincmd.ini"
Это я так написал. Думал, что после этого TC будет использовать файл, что в его папке установки находится... Потом понял, как правильно нужно сделать, но не стал... Потом, может быть...
- Потом, я попробовал открыть файл .ZIP. Всё как обычно. Выбираем "Найти EXE", видим ошибку "Invalid pointer operation". С архивом RAR те же проблемы.
- Снова вылетело окно, извещающее меня о наличии TC на моей машине. В обоих случаях я нажал "ДА".
- Попытался открыть другой архив .ZIP. Все сделал также, как и в предыдущем случае. Вылетело "Ассеss voilation..." Программа не закрылась. WinRAR, естественно, после такого не добавился.
- Открываем файл "_Clear.cmd" (удаляет следы жизнедеятельности компилятора и линкера). Опять - "Найти EXE". Далее цитирую текст в окне: "Была обнаружена следующая программа: "D:\temp\_Clear.cmd". Вы хотите ...?". Со всеми остальными cmd-шниками и батниками та же история. Пытается ассоциировать с ними их самих же. :)
- Не понятно, по какому принципу происходит добавление программ в список рекомендуемых. То она добавляется сразу (ну почти) в этот список, а иногда - в список Других программ.
- Пробуем добавить этот так неприглянувшийся нам WinRAR с помощью пиктограммки "Другая программа...". Ищем его там, нажимаем Открыть - опять "Invalid pointer...". Странно...
- Не правильно обрабатываются значки с альфаканалом (вместо тени - черный цвет).

И последний вопрос к автору: Что, серьезно, программа писалась на Delphi 3? И не думаете ли Вы попробовать уменьшить размер программы?
Аватара пользователя
Alextp
Сообщения: 4957
Зарегистрирован: Вс фев 06, 2005 17:21

Сообщение Alextp »

2автор
И последний вопрос к автору: Что, серьезно, программа писалась на Delphi 3? И не думаете ли Вы попробовать уменьшить размер программы?
Если на Delphi - посмотри на библиотеку KOL & MCK, позволяющую писать не на VCL очень компактные прогроаммы, в десять раз меньше по размеру чем на VCL.
Я сам ей пользуюсь, при написании плагина к TC.
Аватара пользователя
Yams
Сообщения: 115
Зарегистрирован: Пн окт 17, 2005 16:31
Откуда: Тверь
Контактная информация:

Сообщение Yams »

2SAM:
Во-первых, хочу извиниться, я действительно ляпнул лишнего. Мне ваши слова доступным языком уже пару людей повторили. Вот :)
Во-вторых, хочу поблагодарить за внимание! Не думал, что вы как создатель ChoiceEditor будете здесь свои посты выкладывать.

И я очень хотел бы у вас спросить: каким образом ваша программа считывает кол-во выделенных файлов в TC. Вы что, перехватываете хэндл активного списка у TC и с него считываете выделенные строчки? Очень хотелось бы узнать о вашем способе решения!
Да, кстати, по поводу %COMMANDER_PATH%
Все 2 странички закачал, буду дома разбираться. Спасибо за ссылку!
Удачи!
Она мне очень понадобится! Спасибо!

GeNtlE
Какой объёмный пост :) Кстати, про проблему с архивами мне уже писали. Пока, честно скажу, :oops: с программой не сидел вовсе. Сейчас занимаюсь работой. Через недели проверка закончится, и я возьмусь за программу плотно.
А страницу я скачал, дома буду ваши замечания разбирать.
Что, серьезно, программа писалась на Delphi 3?
Нет, программа писалась на D7. :D
А размер EXE я уменьшать не собираюсь, т.к. это возможно только если я буду использовать KOL, обычными методами Delphi этого не добиться . Кроме того, размер EXE слабо влияет на время загрузки программы. Я же не подключаю при запуске 10 тыс. ресурсов :) И из красивостей у меня только иконки да группировка этих иконок :)

Alextp
Про KOL знаю, отличная библиотека! Тоже стараюсь использовать при разработке плагинов! Но здесь я её использовать не буду. По-крайней мере, пока.

С уважением, Антон.
Аватара пользователя
mozers
Сообщения: 82
Зарегистрирован: Чт дек 16, 2004 13:14
Откуда: с Нижнего
Контактная информация:

Сообщение mozers »

Yams
каким образом ваша программа считывает кол-во выделенных файлов в TC. Вы что, перехватываете хэндл активного списка у TC
Я мудрил-мудрил с этим делом, пока Иван aka Atlanoff не подсказал гениально-элементарное решение - пользовать встроенную команду ТС - cm_CopyNamesToClip :) Намек я думаю понятен ? (Только содержимое буфера не забудь сохранить).
А размер EXE я уменьшать не собираюсь
Имхо уменьшать в 2 раза - смысла особого нет. А в 10 раз - не получится. Не тот язык. Так что... (не хочу начинать новую священную войну).
shibog
Сообщения: 4
Зарегистрирован: Пт окт 21, 2005 11:34

Сообщение shibog »

а что за беда - попробовал установить Open File Shell For TC - скопировал ее в
"C:\Program Files\Total Commander\Plugins\exe\OpenFileTC"
Однако AkelPad c Open File shell for TC работать не хочет - открывает пустой файл и создает рядом с реальным MyFile.txt пустой MyFile.tx
Аватара пользователя
Yams
Сообщения: 115
Зарегистрирован: Пн окт 17, 2005 16:31
Откуда: Тверь
Контактная информация:

Сообщение Yams »

2SAM:
Огромное спасибо за идею! Ни за что бы сам не догадался :D
А в 10 раз - не получится. Не тот язык. Так что... (не хочу начинать новую священную войну).
Не спорю, и полностью согласен со всей фразой :) На мой взгляд, здесь (в создании софта) важен результат, а не инструмент 8) :P

2shibog:
Мне уже по этому поводу писали. И я подозреваю, что проблема в текстовике. Я отсылаю ему полную текстовую строку, без урезок. Видимо, придётся обрабатывать отдельную ситуацию: "если редактор - AkelPad, то последнюю букву в расширении удваивать" :twisted:
Но всё равно посмотрю. Спасибо за замечание!

Да! Обновлённую версию планирую выложить через 2 недели, в понедельник-вторник. Прошу извинить за задержку :(
Аватара пользователя
mozers
Сообщения: 82
Зарегистрирован: Чт дек 16, 2004 13:14
Откуда: с Нижнего
Контактная информация:

Сообщение mozers »

Yams
если редактор - AkelPad
Не только. Сейчас точно не скажу какой еще, но не только...
Ник
Сообщения: 1256
Зарегистрирован: Ср дек 15, 2004 09:33
Откуда: Москва

Сообщение Ник »

То же самое ListEdit :(
Ответить