Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » TCIMG (Часть 1)

Модерирует : gyra, Maz

Maz (03-03-2021 11:17): TCIMG (Часть 2)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

   

Abel11



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

 
Дата выпуска: 28.02.2021
Версия: 28.4
Автор: Averin Andrey
 
Скачать TCIMG | Сайт | Онлайн справка | Основные вопросы | Расширение функционала | Поддержка проекта

TCIMG - утилита для вызова различных команд Total Commander и выполнения дополнительных действий.
• Мощное средство для расширения функциональности Total Commander и других программ.
• Направлена на автоматизацию монотонных действий, связанных с файловыми, системными, программными, оконными операциями.
• Полностью портабельная, т.е. не требует установки и не вносит в реестр или куда-либо ещё дополнительную информацию.
• Возможность комфортного использования потенциала программ с поддержкой командной строки, например:

ОСНОВНЫЕ ВОЗМОЖНОСТИ УТИЛИТЫ:

Коллекция кнопок TCIMG для Total Commander | Как расширить функциональность самостоятельно

В справке TCIMG.chm более 13 200 примеров применения.

Сборки программ, в которых участвует утилита TCIMG, в них так же можно увидеть много интересных примеров:
AkelPad Image - сборка текстового редактора AkelPad (автор Andrey_A)
TC IMAGE - сборка файлового менеджера Total Commander (автор Andrey_A)
TC VIM - сборка файлового менеджера Total Commander (автор Matros)
TC Universal Edition - сборка файлового менеджера Total Commander (авторы Yaroslav & asmadeus)
TC Hot-Shot - сборка файлового менеджера Total Commander (автор ice_daemon)
TC PowerUser - сборка файлового менеджера Total Commander (автор HA3APET)
TC Titan Portable - сборка файлового менеджера Total Commander (автор pcDenPro)

Скачать справку  с тёмным стилем
Скачать справку на китайском языке TCIMG_Chinese.chm
Онлайн справка на китайском языке

Всего записей: 1579 | Зарегистр. 08-12-2013 | Отправлено: 12:59 10-11-2014 | Исправлено: Andrey_A_A, 19:24 28-02-2021
sibirnik



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AkulaBig
А этот пример из справки не подходит?

Цитата:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
barjn=%L||"%p//0//Name"
Wcmicons.dll,1
склеить выделенные BAR файлы (разделитель пустая кнопка), создать один файл в активной панели именем Name.

Объединяет без проблем.
 
Добавлено:
Маэстро на секунду впереди и это правильно.

Всего записей: 830 | Зарегистр. 12-09-2014 | Отправлено: 17:54 03-12-2019
AkulaBig

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да, не совсем правильно поняли. Загвоздка в том, что мне надо склеить файлы из РАЗНЫХ панелей ТС. То-есть дефолтный бар DEF_AB.BAR лежит в конкретном месте, а выделяемые в другой панели, а могут и в этой-же. То-есть в любом неизвестном месте диска. Соответственно их нельзя выделить в одной панели. С таким вариантом проблем нет. И вот получается, что при таком раскладе параметр %P%N работает отлично, а %L не работает вообще. Но надо выделить обязательно более одного файла. Не могу понять, почему в такой конструкции не работает %L.  
 
Добавлено:

Цитата:
А этот пример из справки не подходит?

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

Всего записей: 4232 | Зарегистр. 11-03-2003 | Отправлено: 18:10 03-12-2019
sibirnik



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AkulaBig
Вообще то все файлы bar находятся в каталоге Bar! Вы наверное хотите сторонние bar-файлы добавлять? Так кто вам мешает скопировать их к нужному вам bar-файлу, объединить и затем их удалить. Я думаю эту процедуру вы не будете повторять на дню по нескольку раз и вполне достаточно тех возможностей вышеуказанной кнопки.

Всего записей: 830 | Зарегистр. 12-09-2014 | Отправлено: 19:28 03-12-2019
AkulaBig

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Вы наверное хотите сторонние bar-файлы добавлять?

Именно.

Цитата:
Так кто вам мешает скопировать их к нужному вам bar-файлу

Я мешаю Вернее категорически не хочу делать, как вы предлагаете. Тут весь смысл склеивания любых баров, расположенных в разных местах.

Всего записей: 4232 | Зарегистр. 11-03-2003 | Отправлено: 19:43 03-12-2019
sibirnik



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Тут весь смысл склеивания любых баров

Вопрос в том, как часто это надо делать вам? Здесь помочь нем могу. Добавлю, перелопатил в своё время все сборки ТС (на предмет чего то нового и интересного, понял, что у всех, всё одинаково) Нет смысла. Нужно чисто с нуля делать своё.

Всего записей: 830 | Зарегистр. 12-09-2014 | Отправлено: 19:56 03-12-2019 | Исправлено: sibirnik, 19:59 03-12-2019
Andrey_A_A



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
AkulaBig, вот варианты:
 

Код:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
slist=@C:\Test.bar blist=%WL barjn=$GLOBALSLIST+$GLOBALBLIST||"%t//0//New"||upd<3>
%COMMANDER_PATH%\Wcmicons.dll,1
К Test.bar добавить содержимое выделенных bar файлов и сохранить новый файл в другой панели с именем New
 
0
-1
 

 

Код:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
slist=@C:\Test.bar blist=%WL barjn=$GLOBALBLIST+$GLOBALSLIST||"%t//0//New"||upd<3>
%COMMANDER_PATH%\Wcmicons.dll,1
Объединить выделенные bar файлы, добавив в конец содержимое Test.bar и сохранить новый файл в другой панели с именем New
 
0
-1
 

Всего записей: 1379 | Зарегистр. 15-08-2011 | Отправлено: 19:58 03-12-2019 | Исправлено: Andrey_A_A, 19:58 03-12-2019
AkulaBig

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ваши варианты работают отлично. Сделал так slist=@%%COMMANDER_PATH%%\Bars\DEF_AB.BAR blist=%WL barjn=$GLOBALSLIST+$GLOBALBLIST||"%P//1//USER.BAR"
Но вот проблема. Если теперь выделяем USER.BAR, то конечно данные в нем начинают каждый раз удваиваться. Понятное дело, список увеличивается. А хотелось-бы чтобы они оставались первоначальными. То-есть типа USER.BAR обнулялся перед тем, как в него будут записаны новые данные. Я его потом хочу вывести на ПИ. Собственно хочу реализовать по-новой стандартный вариант, когда с помощью дополнительной кнопки на ПИ раскрывается следующая ПИ, на которой есть кнопка возвращения на главную ПИ. В стандартном варианте все кнопки должны быть заранее определены, а я хочу сделать динамичный вариант, чтобы не передавать юзеру моей сборки ссылки на мои проги, которые ему совершенно не нужны. Их просто не будет внутри сборки. Я категорически против включения в сборки каких-либо программ, не относящихся к ТС. У меня наоборот, папка с ТС является подпапкой в дереве портабельного софта.
 
Добавлено:
Так, проверил свой вариант несколько раз. Понятно, что он тоже начинает множить данные, так как каждый раз добавляются данные из DEF_AB. Этот момент надо как-то обработать. Можно-ли исключить дублирующие строки?

Всего записей: 4232 | Зарегистр. 11-03-2003 | Отправлено: 20:40 03-12-2019 | Исправлено: AkulaBig, 20:56 03-12-2019
Abel11



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

AkulaBig пост
Цитата:
Но вот проблема. Если теперь выделяем USER.BAR, то конечно данные в нем начинают каждый раз удваиваться

 
Вы выделяете USER.BAR для чего?, правильно, чтобы его объединить с другим файлом.bar, отсюда и результат, он объединяется, а иначе зачем вы его выделяете. Выделяйте другие файлы BAR, склеивайте с именем USER и тогда получите обнуление и новое содержимое.
Вопрос, для чего выделяете USER.BAR, чтобы что?

Всего записей: 1579 | Зарегистр. 08-12-2013 | Отправлено: 21:46 03-12-2019
AkulaBig

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
отсюда и результат

Это понятно и вопросов не вызывает. Вопрос как теперь убрать дублирующие строки. Вот такая конструкция не помогает slist=@%%COMMANDER_PATH%%\Bars\DEF_AB.BAR||<dellist=%%COMMANDER_PATH%%\Bars\DEF_AB.BAR|2> blist=%WL barjn=$GLOBALSLIST+$GLOBALBLIST||"%P//1//USER.BAR"
Если dellist присвоить дефолтное значение, все строки сносятся, то-есть само выражение работает. но, видимо, не туда я его вставляю, потому что при значении 2 оно перестает работать. Остается последний штрих, но куда его нанести.

Цитата:
для чего выделяете USER.BAR, чтобы что?

Далее он должен стать ПИ ТС. То-есть весь смысл моих экспериментов заключается в том, чтобы заменить этим файлом дефолтную ПИ. На которую можно будет потом и через драг энд дроп перетащить кнопку приложения. Поэтому не хочется, чтобы файл просто удалялся. Хочется именно прибить в нем дубликаты. И у меня получится юзерская ПИ, которая будет вызываться по кнопе из файла под курсором. Жить она будет до перезапуска ТС, но на данном этапе мне этого вполне достаточно.

Всего записей: 4232 | Зарегистр. 11-03-2003 | Отправлено: 22:41 03-12-2019
Abel11



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AkulaBig  
 
Очень хочу помочь, но ничего не могу понять. Сделать дефолтной, что-то прибить, что-то удалить???
 

Цитата:
 Вопрос как теперь убрать дублирующие строки

 
А откуда они взялись эти строки? Что значит дублирующиеся строки в *.bar? Может у вас дубликаты кнопок появились, если да, то конечно удалить дубликаты кнопок параметром "dellist" не получится. В общем, на данном этапе понимания задачи не знаю чем помочь. Может вы мне просто опишите задачу, что вам нужно и мы просто её будем решать, может и без команды слияния "barjn" можно будет обойтись, пока я не улавливаю, к сожалению, нить задачи.
 
В дальнейшем, до момента прояснения сути задачи,  предлагаю перейти в личку, дабы не тревожить народ.

Всего записей: 1579 | Зарегистр. 08-12-2013 | Отправлено: 23:23 03-12-2019 | Исправлено: Abel11, 03:03 04-12-2019
Antonij72



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Нужна кнопка, после нажатия на которую, в строке состояния отображался бы размер (в байтах) текущей (под курсором) папки (как после двоекратного нажатия на кнопку пробела). Т.е., я хожу стрелочками вверх-вниз по папкам и вижу в строке состояния ее размер.
Повторное нажатие на кнопку отключает отображение размера.
 
Также очень хочется кнопку, аналогичную вышеописанной, но синхронно показывающую размеры (в байтах) текущей (под курсором) папки и одноименной папки (выделяя ее рамочкой) в соседней (неактивной) панели. При отсутствии одноименной папки в неактивной панели - ставила бы там рамочку на верхние две точки папки (родительский каталог) и, соответственно, не показывала бы никакого размера. Нужно для анализа и сравнения бекапов.
 
Надеюсь объяснил понятно...
Заранее благодарен.

----------
Я, инвалид 1 группы, ищу работу. Или благотворительную помощь. Спасибо.

Всего записей: 3800 | Зарегистр. 11-07-2005 | Отправлено: 01:42 04-12-2019
Andrey_A_A



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
в строке состояния отображался бы размер

Antonij72, а чем не устраивают встроенные команды тотала?
Показать размеры всех папок команда cm_CountDirContent
Для обеих панелей cm_CountDirContent,4006,cm_CountDirContent
Когда все размеры видны перемещаемся стрелочками...
 

Цитата:
заменить этим файлом дефолтную ПИ ... не хочется, чтобы файл просто удалялся

AkulaBig, для меня странноватая задача, с одной стороны вы хотите к шаблону BAR файла добавить список бар файлов создать общий bar.
Это мне понятно и команда barjn это выполняет - заменяет конечный файл заданным содержимым.
 
Далее вы повторно в тот же самый файл хотите добавить шаблон BAR файла + список bar'ов - это мне непонятно... зачем, когда в нём уже есть шаблон BAR файла в самом верху
Но это не всё - вы хотите ещё убрать дубли строк - что в принципе неправильно для BAR, любое удаление строк "сломает" весь файл, нумерацию и повредит сами "кнопки".

----------
TCIMG в Telegram

Всего записей: 1379 | Зарегистр. 15-08-2011 | Отправлено: 02:50 04-12-2019 | Исправлено: Andrey_A_A, 02:54 04-12-2019
Antonij72



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Andrey_A_A

Цитата:
а чем не устраивают встроенные команды тотала?  
Показать размеры всех папок команда cm_CountDirContent  

Попробовал. Повесил команду cm_CountDirContent на сочетание клавиш... Показывает размеры, пока перемещаемся в текущей папке. Стоит войти в какую-то папку (вглубь) или выйти на уровень вверх - размеры уже не показывает - опять надо жать сочетание клавиш... Неудобно...

Цитата:
Для обеих панелей cm_CountDirContent,4006,cm_CountDirContent  

А эту команду как повесить на сочетание клавиш? Не нахожу....

----------
Я, инвалид 1 группы, ищу работу. Или благотворительную помощь. Спасибо.

Всего записей: 3800 | Зарегистр. 11-07-2005 | Отправлено: 04:22 04-12-2019
sibirnik



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Antonij72
Установите этот плагин и забудете о ваших печалях.
Плагин показывает размер папок и количество файлов в папках. Все вычисления выполняются в фоне. Очень удобно, пользуюсь много лет.

Всего записей: 830 | Зарегистр. 12-09-2014 | Отправлено: 05:31 04-12-2019
AkulaBig

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Далее вы повторно в тот же самый файл хотите добавить шаблон BAR файла

Нет, я не хочу. Хочу просто "защиту от дурака" сделать. То-есть человек просто случайно при выделенном файле USER.BAR нажимает эту кнопку на ПИ. И у него количество кнопок удваивается. Или выделяет несколько существующих баров и выделением захватывает USER.BAR. Вот от таких вариантов хотелось-бы защититься.

Цитата:
А откуда они взялись эти строки?

От СЛУЧАЙНОГО нажатия кнопки на ПИ при выделенном USER.BAR.

Цитата:
до момента прояснения сути задачи,  предлагаю перейти в личку

Если что-то еще будет непонятно, так и поступим.

Всего записей: 4232 | Зарегистр. 11-03-2003 | Отправлено: 08:09 04-12-2019
Abel11



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AkulaBig
 
Задача:  
 
Склеить DEF_AB.BAR с выделенными *.bar, с сохранением результирующего *.bar в активную панель с именем "USER" (исключая из списка выделенного файл с именем USER.BAR)
 

Код:
sends=USER.BAR slist=%WL||#Z@CRLF%%COMMANDER_PATH%%\Bars\DEF_AB.BAR||<dellist=$GLOBALSENDS|5> barjn=$GLOBALSLIST||"%p//1//USER.BAR"  

Всего записей: 1579 | Зарегистр. 08-12-2013 | Отправлено: 08:38 04-12-2019 | Исправлено: Abel11, 10:42 04-12-2019
AkulaBig

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Жаль только, что USER.BAR каждый раз очищается.
Собственно я хочу поблагодарить всех кто мне помог. Дальше сам потихоньку поковыряю. Видимо просто уменьшу свои желания, а может как-то изменю алгоритм, который крутится у меня в голове. Торопиться мне некуда.

Всего записей: 4232 | Зарегистр. 11-03-2003 | Отправлено: 10:50 04-12-2019
Abel11



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AkulaBig пост
Цитата:
То-есть типа USER.BAR обнулялся перед тем, как в него будут записаны новые данные

 
AkulaBig пост
Цитата:
Жаль только, что USER.BAR каждый раз очищается.  

 
Так надо обнулять, очищать или всё же не надо? Если не надо, то для чего  при склеивании файлов результирующему файлу присваивать имя "USER.BAR", если вы не хотите изменять содержимое этого файла. Витиевато как-то всё.
 
Возможно вам нужно склеивание только один раз, когда файла "USER.BAR" ещё не существует, а в последующие разы вы хотите обезопаситься от изменения его содержимого по ошибке, тогда предлагаю такой вариант:
 
-----------------------------------
Склеить DEF_AB.BAR с выделенными *.bar, с сохранением результирующего *.bar в активную панель с именем "USER" (выход из программы, если в активной панели уже существует файл USER.BAR)
 

Код:
slist=[tc=AF-1f] <IF> <info=t50$GLOBALSLIST[1]|USER.BAR> = 1 <THEN> Exit() <ELSE> slist=%WL||#Z@CRLF%%COMMANDER_PATH%%\Bars\DEF_AB.BAR barjn=$GLOBALSLIST||"%p//1//USER.BAR" <ENDIF>

 
То бишь, если в активной панели нет файла USER.BAR, то команда barjn с вашими параметрами отработает, если в активной панели уже имеется файл USER.BAR, то произойдёт выход из программы.

Всего записей: 1579 | Зарегистр. 08-12-2013 | Отправлено: 16:13 04-12-2019 | Исправлено: Abel11, 12:26 07-12-2019
AkulaBig

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Витиевато как-то всё

Согласен. Это от того, что хотелки меняются в процессе исследования.
Собственно Andrey_A_A полностью ответил на вопрос, с которого все начиналось. Как склеить определенные файлы.
Но далее я обнаружил. что не все гладко. USER.BAR начинает размножаться. Захотелось убрать эту проблему. То-есть по сути у меня уже новый вопрос. Вот поэтому так и выглядит.

Цитата:
если в активной панели уже имеется файл USER.BAR, то произойдёт выход из программы

Не пойму в чем дело, но ничего не изменилось. Все прекрасно создается, пока не включить в выбор юзер.бат. Стоит щелкнуть на нем и он продолжает размножаться. Сам удивлен.

Всего записей: 4232 | Зарегистр. 11-03-2003 | Отправлено: 17:47 04-12-2019
AkulaBig

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот практически что надо получил. Когда нет юзер.бар он норм создается. Когда он есть, если добавляем любые бары все ок, если щелкаем на нем - все ок. Осталась одна проблема - если выделяем бары и юзер.бар, он множится. Но множится именно по правильной логике. То-есть добавлется сам и плюс новые бары.
blist=[tc=AF-1f] slist=@%%COMMANDER_PATH%%\Bars\DEF_AB.BAR blist=%WL <IF> 0 <> <info=t50$GLOBALBLIST[1]|USER.BAR> = 1 <THEN> Exit()  <ELSE> barjn=$GLOBALSLIST+$GLOBALBLIST||"%P//1//USER.BAR" <ENDIF>
Скорей всего это будет окончательный вариант, но еще погоняю. Теперь мне это надо вывести на ПИ. Вот не знаю, надо-ли тут применить OPENBAR или через TCIMG можно. Наверное OPENBAR одной строкой не запишешь. Видимо barnw надо применить.

Всего записей: 4232 | Зарегистр. 11-03-2003 | Отправлено: 22:20 04-12-2019
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

Компьютерный форум Ru.Board » Компьютеры » Программы » TCIMG (Часть 1)
Maz (03-03-2021 11:17): TCIMG (Часть 2)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru