[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: Andrey_A, ХарВик, chip642  
Форум » • Total Commander • » Кнопки для Total Commander » ЗАКАЗ КНОПОК
ЗАКАЗ КНОПОК
ХарВикДата: Вторник, 17.04.2012, 21:49 | Сообщение № 1
Генералиссимус

На сайте с: 29.01.2012
Город: Черкассы
Сообщений: 1629
Награды: 18
Репутация: 18
ЗАКАЗ КНОПОК




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


Группа TCIMG в Telegram

.
 
chip642Дата: Четверг, 03.01.2019, 20:26 | Сообщение № 1411
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
Цитата asmadeus ()
если вдруг дубликатов нет, то удаление происходить не должно, а происходит


Не подтверждаю, у меня, если нет дубликатов, то все архивы, в единственном экземпляры, остаются на местах.

Цитата alexostrov ()
Как получить (может быть в текстовом файле или в другом формате), информацию о том, какие значки , с какой библиотеки используются в сборке ТС


Как время появится покумекаем. С учетом добавленных пожеланий от asmadeus будет не легко, или вообще не будет
Я недавно пытался, создав новую библиотеку значков User.dll, заменить старые из неё, не всё оказалось так просто в итоге, а тут вообще глобальная задача стоит, несколько библиотек значков и т. д.
Короче, надо будет вжиться в эту задачу и думать по какому пути надо идти и будет ли положительный результат.

-----------

На данный момент занимаюсь реализацией идеи, которая пришла мне 1-го числа, связанная с автоматизацией задач в MENUIMG, быстрое создание нового меню.tcm, добавления разделов из меню, добавления команд в нужный раздел из меню и т. д.
 
asmadeusДата: Четверг, 03.01.2019, 20:50 | Сообщение № 1412
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Цитата chip642 ()
Не подтверждаю

Ну бывает.
Касательно иконок - иконки меню берем из wcmicons.inc
панели инструментов - из файлов bar примерно такой регулярккой
Код
button\d+=(.+\.(?:exe|dll)(?:\,\d+)?)

Остальное по ходу можно вписать, главное алгоритм

Еще одна крупица для начала:
Код
exect=$var_wcmi=IniReadSection(EnvGet('COMMANDER_PATH')&'\Wcmicons.inc','mappings')

Читаем файл Wcmicons.inc в двумерный массив, откуда потом берем значения, то есть переборка в цикле:
Код
<FOR> 1 <TO> $var_wcmi[0][0]
  ;; какое то выражение , где будем забирать $var_wcmi[1][:INDEX:]
<NEXT>

Но на данном этапе я не понимаю, как добавить недостающие нули? Например, не 1, а 0001. Не 256, а 0256 и т.д.
Добавляем нули, пути к папке со значками, расширение... и делаем копирование по списку в новую папку
 
alexostrovДата: Пятница, 04.01.2019, 13:40 | Сообщение № 1413
Полковник

На сайте с: 22.11.2017
Сообщений: 179
Награды: 0
Репутация: 0
asmadeus
Процесс пошел, это уже радует.
Вы не могли-бы, из этих 3-х кодов сделать кнопку, пусть промежуточный вариант,
что-бы можно было что-то увидеть и проверить их работу?
Я так понимаю, что это параметры кнопки или кнопок ?
 
asmadeusДата: Пятница, 04.01.2019, 13:57 | Сообщение № 1414
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
alexostrov, что то делать пока нельзя, еще не придумал решения для этого момента
Цитата asmadeus ()

Но на данном этапе я не понимаю, как добавить недостающие нули? Например, не 1, а 0001. Не 256, а 0256 и т.д.

У меня каталог с иконками, которые имеют названия 0000.ico, 0001.ico, 0002.ico и т.д. Вот и надо дописать недостающие нули, чтобы было 4 знака. Потом можно формировать имя и копирование.
Как кстати у вас с этим, какие имена у иконок после распаковки библиотеки?
 
alexostrovДата: Пятница, 04.01.2019, 14:22 | Сообщение № 1415
Полковник

На сайте с: 22.11.2017
Сообщений: 179
Награды: 0
Репутация: 0
asmadeus
У меня то же 4-х значные номера после имени иконки. Я их через "групповое переименование" все переименовал в 4-х значные.
Иконка 1 стала- 0001, 56 - 0056 и т.д


Сообщение отредактировал alexostrov - Пятница, 04.01.2019, 14:24
 
Andrey_AДата: Пятница, 04.01.2019, 15:28 | Сообщение № 1416
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7163
Награды: 139
Репутация: 124
Аверин Андрей
asmadeus, посмотри в [FormatUser] ключи с fun_
Функция StringFormat()

.


 
asmadeusДата: Пятница, 04.01.2019, 16:47 | Сообщение № 1417
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Andrey_A, ага, понял.
Пока так
Код
slist=INI<7//%COMMANDER_PATH%\Wcmicons.inc//mappings//>||formt<1,fun_lib_01>||$$.ico
sends=$GLOBALSLIST??-1||?B58!!Chr(124)||@CRLF!!||?R1
copys=PS<%COMMANDER_PATH%\Files_VOG\Icons\Wcmicons//1//0//$GLOBALSENDS<1>///0>||"D:\Templib"//1


Шаблон для секции FormatUser
Код
fun_lib_01=(\d+)||StringFormat('%04s',Number($1))

Секция с tcg, под панель надо править. Но есть проблема, из 556 иконок списка (после удаления дублей) копируются только 555 ( не копируется 0001.ico, хотя в маске он есть)
Кто в теме, подключайтесь. Задача интересная
 
alexostrovДата: Пятница, 04.01.2019, 17:55 | Сообщение № 1418
Полковник

На сайте с: 22.11.2017
Сообщений: 179
Награды: 0
Репутация: 0
asmadeus
Я могу подключиться для тестирования.
Подскажите, шаблон fun_lib_01, записать в какой ini файл? - TCIMGU.ini ?
И двух словах, что делать с 1-м кодом?
Это параметры нескольких кнопок или одной?


Сообщение отредактировал alexostrov - Пятница, 04.01.2019, 18:09
 
asmadeusДата: Пятница, 04.01.2019, 18:17 | Сообщение № 1419
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Так, в первую очередь перенесемся в тему "Заказ кнопок"
 
asmadeusДата: Пятница, 04.01.2019, 18:29 | Сообщение № 1420
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Оп-ля! Перенеслись!
Цитата alexostrov ()
Подскажите, шаблон fun_lib_01, записать в какой ini файл? - TCIMGU.ini ?

Да, верно, в секцию FormatUser
Цитата alexostrov ()
И двух словах, что делать с 1-м кодом?
Это параметры нескольких кнопок или одной?

В двух словах вряд ли выйдет, я не знаю вашего уровня владения тоталом
Код для кнопки на панель инструментов:
Код

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
slist=INI<7//%%COMMANDER_PATH%%\Wcmicons.inc//mappings//>||formt<1,fun_lib_01>||$$.ico||^^%%COMMANDER_PATH%%\Files_VOG\Icons\Wcmicons\ copys=$GLOBALSLIST||"D:\Templib"//1 ||upd<3>
%COMMANDER_PATH%\TCIMG.exe
Перестроение библиотеки значков кнопка на панель

-1


Где:
%%COMMANDER_PATH%%\Files_VOG\Icons\Wcmicons- местонахождение вашей папки с иконками
D:\Templib - куда копировать
Перед copys=$GLOBALSLIST можете поставить
Код
GLOBALSLIST<a>
, чтобы увидеть, сколько иконок идет в обработку и потом посмотрите, сколько скопировалось
 
alexostrovДата: Пятница, 04.01.2019, 19:29 | Сообщение № 1421
Полковник

На сайте с: 22.11.2017
Сообщений: 179
Награды: 0
Репутация: 0
asmadeus
1. В секции [FormatUser] файла TCIMGU.ini прописал: fun_lib_01=(\d+)||StringFormat('%04s',Number($1))
2. Кнопка на панели с изменениями пути к папке Wcmicons и добавкой GLOBALSLIST (проверьте пожалуйста)
параметр кнопки:
Код
slist=INI<7//%%COMMANDER_PATH%%\Wcmicons.inc//mappings//>||formt<1,fun_lib_01>||$$.ico||GLOBALSLIST<a>||^^%%COMMANDER_PATH%%\Files\Icons\Wcmicons\ copys=$GLOBALSLIST||"D:\Templib"//1 ||upd<3>

3. Создал папку D:\Templib
4. Запускаю, (без GLOBALSLIST
) и через секунд 15-20 проскочило окно progres<> и в папке D:\Templib нет ни одного значка.
С GLOBALSLIST
полная тишина, похоже я неправильно вставил GLOBALSLIST
 
asmadeusДата: Пятница, 04.01.2019, 19:33 | Сообщение № 1422
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Тут ошибка
Цитата alexostrov ()
slist=INI<7//%%COMMANDER_PATH%%\Wcmicons.inc//mappings//>||formt<1,fun_lib_01>||$$.ico||GLOBALSLIST||^^%%COMMANDER_PATH%%\Files\Icons\Wcmicons\ copys=$GLOBALSLIST||"D:\Templib"//1 ||upd<3>

Надо так:
Код
slist=INI<7//%%COMMANDER_PATH%%\Wcmicons.inc//mappings//>||formt<1,fun_lib_01>||$$.ico||^^%%COMMANDER_PATH%%\Files\Icons\Wcmicons\  GLOBALSLIST<a> copys=$GLOBALSLIST||"D:\Templib"//1 ||upd<3>

Или уже потом без проверки так:
Код
slist=INI<7//%%COMMANDER_PATH%%\Wcmicons.inc//mappings//>||formt<1,fun_lib_01>||$$.ico||^^%%COMMANDER_PATH%%\Files\Icons\Wcmicons\  copys=$GLOBALSLIST||"D:\Templib"//1 ||upd<3>

Цитата
3. Создал папку D:\Templib

Ее создавать не обязательно, создастся сама, если не существовала
 
alexostrovДата: Пятница, 04.01.2019, 19:54 | Сообщение № 1423
Полковник

На сайте с: 22.11.2017
Сообщений: 179
Награды: 0
Репутация: 0
asmadeus
Окно GLOBALSLIST появилось и в нем 293 значка (в папке Wcmicons больше 4000). В папке D:\Templib пусто.
 
asmadeusДата: Пятница, 04.01.2019, 20:08 | Сообщение № 1424
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Цитата alexostrov ()
в папке Wcmicons больше 4000

Это как раз неважно, ведь берутся только используемые, прописанные в wcmicons.inc (с панелями пока не возился)
Можете удалить GLOBALSLIST и попробовать без нее (ведь вы теперь знаете, что иконок 293)
И проверяйте еще пути и двойные проценты
Окно прогресса я так понял не появлялось?
В код мог затесаться пробел, вроде так и есть, перед ||upd<3>
Смотрите команду copys
Код
copys=$GLOBALSLIST||"D:\Templib"//1||upd<3>
'
И лучше поставить upd<2> вместо upd<3>
 
Andrey_AДата: Пятница, 04.01.2019, 20:11 | Сообщение № 1425
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7163
Награды: 139
Репутация: 124
Аверин Андрей
asmadeus, во вам ещё направление:

Код
"slist=INI<7//%%COMMANDER_PATH%%\Wcmicons.inc//mappings//>||formt<1,fun_lib_01> srr2d=$GLOBALSLIST||16|0 GLOBALSRR2D<a>" - создать 2D массив из номеров иконок, участвующих в меню Total Commander

"slist=INI<7//%%COMMANDER_PATH%%\Wcmicons.inc//mappings//>||formt<1,fun_lib_01> srr2d=$GLOBALSLIST||16|0 GLOBALSRR2D<a> anf2d=%L||2||[^\\]+\\[^\\]*?(\d+)\.ico GLOBALANF2D<a> zrr2d=$GLOBALANF2D||19|$GLOBALSRR2D GLOBALZRR2D<a>" - 1 - создать 2D массив из номеров иконок, участвующих в меню Total Commander; 2 - из выделенных номерованных иконок получить 2D массив; 3 - вертикально объединить два 2D массива

"slist=INI<7//%%COMMANDER_PATH%%\Wcmicons.inc//mappings//>||formt<1,fun_lib_01> srr2d=$GLOBALSLIST||16|0 GLOBALSRR2D<a> anf2d=%L||2||[^\\]+\\[^\\]*?(\d+)\.ico GLOBALANF2D<a> zrr2d=$GLOBALANF2D||19|$GLOBALSRR2D||37|1 GLOBALZRR2D<a>" - 1 - создать 2D массив из номеров иконок, участвующих в меню Total Commander; 2 - из выделенных номерованных иконок получить 2D массив; 3 - вертикально объединить два 2D массива; 4 - удалить уникальные строки в 1-й колонке. В итоге получаем список нужных путей иконок


.


 
Форум » • Total Commander • » Кнопки для Total Commander » ЗАКАЗ КНОПОК
Поиск:

Интеллектуальные права и отказ от ответственности