Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[Autoit] Редактор комментариев descript.ion
Goto page 1, 2, 3, 4, 5, 6, 7, 8, 9  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Loopback



Joined: 07 Sep 2009
Posts: 1262

Post (Separately) Posted: Wed Mar 20, 2019 13:22    Post subject: [Autoit] Редактор комментариев descript.ion Reply with quote

Скрипт для визуальной мультиправки комментариев. Практически полностью повторяет внешний вид стандартного диалога правки комментариев.

Предыдущие версии скрипта выкладывались в этой теме, но там решалась частная задача, и сейчас из результатов поиска понять что эта тема релевантна - не так просто.

По сравнению с предыдущей версией:

+Чтение/запись комментариев в юникоде, поддержка юникодных имен файлов
+Возможность преобразования между кодировками
+При открытии нескольких файлов можно переключаться между режимом мультиправки и отдельно выбранными файлами

Скрипт пока наверняка сыроват, пользуйтесь с осторожностью. Обратите внимание, что входные параметры теперь принимают юникодный список файлов: %WF "%P"

Скачать


Last edited by Loopback on Wed Mar 20, 2019 20:16; edited 1 time in total
Back to top
View user's profile Send private message
LonerD



Joined: 04 Jan 2011
Posts: 1168
Location: Донецк

Post (Separately) Posted: Thu Mar 21, 2019 17:12    Post subject: Reply with quote

Спасибо за обновление.
У меня с флагом MCE_MULTI_ONLY при попытке добавлении комментария к одиночному файлу никакой диалог не вызывается.
Если можно - просьба выкладывать и в виде простого au3-файла (когда скриптов много, удобней не компилировать каждый, а запускать в качестве скриптов).
_________________
Win11 x64 Eng | TC DreamLair eternal pre-α
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10235
Location: Россия, Саратов

Post (Separately) Posted: Thu Mar 21, 2019 17:57    Post subject: Reply with quote

LonerD
Тогда уж лучше выкладывать пару AU3 и EXE.

Loopback
Спасибо!
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1262

Post (Separately) Posted: Thu Mar 21, 2019 20:21    Post subject: Reply with quote

LonerD
Хорошо, флаг гляну. Я просто его в последнее время не использовал.

Сам скрипт выложу, просто он всё ещё не совсем готов, много завязок на другие UDF, надо почистить немного.

Второй момент - он будет работать только под бета-версией Autoit. Сейчас, учитывая что будущее бета-версии Autoit с функционалом хэш-таблиц туманно, я уже не так уверен, что стоило сильно на него завязываться. Но было трудно удержаться, уж больно удобная штука.
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 178

Post (Separately) Posted: Tue Mar 17, 2020 03:42    Post subject: Reply with quote

Loopback wrote:
Хорошо, флаг гляну.

Гляньте, пожалуйста. Не работает.

Ещё момент. Если выделено несколько файлов и ни у одного из них нет комментария, то кнопка Neighbour неактивна. Но при этом окошко Neighbour всё равно вызывается по Ctrl+W! Вот бы поправить это, чтобы не вызывалось при неактивной кнопке. А то непоследовательно получается.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1262

Post (Separately) Posted: Tue Jun 09, 2020 13:02    Post subject: Reply with quote

Обновил утилиту, скачать последние версии можно будет с этой страницы.


  • исправлено некорректное добавление и сохранение соседних комментариев
  • исправлено поведение комбинации Ctrl+W при отсутствии соседних комментариев
  • исправлен баг с позицией курсора, который оказывался в начале строки вместо конца
  • добавлена комбинация клавиш Alt+Стрелка Вверх/Alt+Стрелка Вниз для переключения между файлами
  • добавлена комбинация клавиш Alt+Home для быстрого возврата в режим мультиправки


По поводу флага MCE_MULTI_ONLY - проблем не нашел. Если что, параметры команды должны быть такие:

Code:
%WF "%P" MCE_MULTI_ONLY
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 178

Post (Separately) Posted: Tue Jun 09, 2020 21:48    Post subject: Reply with quote

Loopback
Спасибо! У меня всё замечательно работает, в том числе и флаг.

На русской странице утилиты ссылка на последнюю версию, а на английской старая ссылка на предыдущую версию.

Пару дней назад искал эту тему поиском, но так и не нашёл, пока носом меня не ткнули. А дело то было в ключевых словах! Оказывается на этой странице ни в одном посте утилита не названа своим старым именем. Оставлю их здесь в посте, чтоб другим легче было искать.
Ключевые слова: tc_multi_comment_edit; multi_comment_edit; TCMultiCommentEditor; MultiCommentEdit; Multi Comment Edit.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Thu Jun 11, 2020 14:42    Post subject: Reply with quote

Loopback
1. Системный масштаб не учтён — возникают лишние поля по краям.
2. В UTF-8 descript.ion сохраняется с лишней пустой строкой сверху.
3. Скорость появления окон оставляет желать лучшего. Для системной Ctrl+Z вместо MCE_MULTI_ONLY пришлось делать 2 команды:
em_MultiComment:
Code:
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef if(msg(1074,1004+msg(1074,1000))<2,tcm(2700),tem(em_MultiComment2))
em_MultiComment2 — вызов проги.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
imig73



Joined: 18 Jun 2013
Posts: 279
Location: г. Иркутск

Post (Separately) Posted: Thu Jun 11, 2020 17:15    Post subject: Reply with quote

Flasher
Скорость появления окна действительно заставляет подождать, но это только в первый раз в пределах сессии.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Thu Jun 11, 2020 18:31    Post subject: Reply with quote

imig73
При чём тут сессия? Никакой разницы в моментах запуска нет.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1262

Post (Separately) Posted: Thu Jun 11, 2020 23:52    Post subject: Reply with quote

Flasher wrote:
Системный масштаб не учтён — возникают лишние поля по краям.

Учтён, но в прошлогодней версии был сломан. Исправлю.

Flasher wrote:
В UTF-8 descript.ion сохраняется с лишней пустой строкой сверху.

Этот вопрос к Гислеру, зачем он сделал обязательную пустую строку в UTF-8.

Flasher wrote:
Скорость появления окон оставляет желать лучшего.

Ясное дело, что интерпретируемый язык всегда будет работать медленнее нативной реализации - если сравнивать со скоростью появления родного окна тотала. Но вот по конкретной скорости всё субъективно.

Чтобы не быть голословным, измерил скорость загрузки скрипта от момента запуска до момента после появления окна. Виртуалка, в файле 18 записей, скорость загрузки в нескольких запусках 40-55мс. Та же виртуалка, для теста взят каталог 440 файлов, у всех есть комментарии по 20 символов, скорость загрузки 200-205мс.

Много это или мало? Не знаю. Я весьма критично отношусь к скорости запуска программ, но до сих пор в обычном использовании я ни разу не сталкивался задержками, которые могли бы доставить дискомфорт. Если кто-то эти задержки ощущает и кого-то это напрягает - увы, тут я не могу ничем помочь.
Back to top
View user's profile Send private message
imig73



Joined: 18 Jun 2013
Posts: 279
Location: г. Иркутск

Post (Separately) Posted: Thu Jun 11, 2020 23:58    Post subject: Reply with quote

Loopback
Задержки ощущаю в сравнении с нативным окном, но вовсе не напрягают учитывая что скрипт внешний и его функционал полностью перекрывает эти вынужденные подтормаживания при вызове окна.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Jun 12, 2020 00:36    Post subject: Reply with quote

Loopback wrote:
Этот вопрос к Гислеру
При чём тут Гислер, если утилита файл таким создаёт?

Loopback wrote:
Много это или мало?
У меня даже на паре файлов около 6-8 дс. Для меня это ощутимо. Окна в твоих скриптах замены появляются шустрее.
Loopback wrote:
тут я не могу ничем помочь
Я это отчасти за тебя сделал. Мне главное, чтобы системный появлялся быстрее, т. к. в десятки раз чаще требуется.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1262

Post (Separately) Posted: Fri Jun 12, 2020 01:04    Post subject: Reply with quote

Flasher wrote:
При чём тут Гислер, если утилита файл таким создаёт?

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

Flasher wrote:
У меня даже на паре файлов около 6-8 дс. Для меня это ощутимо. Окна в твоих скриптах замены появляются шустрее.

6-8 дс - это сколько?

Скрипты замены не делают ничего сложного перед появлением окна. Тут же приходится прочитать файл и в зависимости от кодировки делать или не делать преобразования, которые занимают время. Да еще и реализация DllStruct в Autoit хоть и весьма удобна, но и довольно нетороплива.

К слову, самый быстрый вариант, при котором вообще нет дополнительных преобразований - если сохранять в UTF-16 LE.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Jun 12, 2020 01:26    Post subject: Reply with quote

Loopback wrote:
При том, что тотал создает точно так же, и если пробел не добавлять - файл не читает.
Пробел? Я не писал про пробел. А без верхнего перевода строки прекрасно читает.

Loopback wrote:
6-8 дс - это сколько?
0.6-0.8 сек. Эта дольная единица изучается с младших классов школы.
Loopback wrote:
и в зависимости от кодировки делать или не делать преобразования
ТС же только с ВОМ пишет, чтение с анализом малюсенького кусочка должно быть мгновенным.
Loopback wrote:
самый быстрый вариант - если сохранять в UTF-16 LE.
Для начала код нужен. Тут вообще раздел по скриптам, утилиты — в Плагинах. Тем более, что с учётом маркера в заголовке исходник сам напрашивается. Rolling Eyes
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page 1, 2, 3, 4, 5, 6, 7, 8, 9  Next
Page 1 of 9

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group