Создание и редактирование библиотек значков
|
|
alexostrov | Дата: Понедельник, 30.12.2019, 16:37 | Сообщение № 76 |
Полковник
На сайте с: 22.11.2017
Сообщений: 179
|
chip642 Значения -3, -2, -1 в WCMICONS.INC - появились в тех местах, где не было значков на команды. Я их просто удалил и через Ultra_TC_Editors добавил в эти места. Это не есть проблема. Меня больше интересует BackUp файл - @bak.
|
|
| |
chip642 | Дата: Понедельник, 30.12.2019, 17:24 | Сообщение № 77 |
|
Поиск путей к файлам в TC, выбор типа файла в диалоговом окне
Код TOTALCMD#BAR#DATA %COMMANDER_PATH%\TCIMG.exe tempxx pends=@.[combo=Поиск~~путей~~файлов~~в~~TC||Выберите~~или~~введите~~расширение:||ico|exe|ini|vbs|au3|html||343||117] watch=1 slist=PS<"$f300"//1//-1//*.bar|*.tcm|*.tcg|*.ini> extra=$GLOBALSLIST||$f254//0||formt<100>||ending<0>||progres<> stext=PS<$f254//1//0>||"$f254\IcoPaths\"//0//PathsFilesGLOBALPENDS<1>TC.txt||delim<@CRLF>||code<4>||progres<> textt=GLOBALSTEXT<1>||<dellist=$GLOBALPENDS|9>||formt<63,1>||backup<0> sends=GLOBALTEXTT<1>??-1||formt<0!!(?m)^Chr(37)[^\r\n]*> alist=$GLOBALSENDS||##path<0|0|5> listx=$GLOBALALIST||2 alist=$GLOBALLISTX2||##path<0|0|1> sends=GLOBALTEXTT<1>??-1||formt<0!!(?m)^[a-zA-Z][^\r\n]*>||?F3 listx=$GLOBALSENDS||2 bends=$GLOBALLISTX2??-1 cends=$GLOBALALIST+$GLOBALBENDS??1 textt=GLOBALTEXTT<1>||##GLOBALCENDS<x1> copyy=GLOBALTEXTT<1>||"%p"//1||upd<1> tempxx WCMICONS.dll,1 Найти все существующие пути (абсолютные и относительные) к отдельным файлам (выбор расширения в ДО) в TC, с записью в файл PathsFiles.xxxTC.txt в активную панель
-1
|
|
| |
asmadeus | Дата: Понедельник, 30.12.2019, 18:25 | Сообщение № 78 |
|
chip642, внесу и я свои пять копеек. Пост будет длинным, скрины спрячу под спойлеры. Итак, если ничего не менять, то работает комбайн как и на работе - на выходу 916 значков без пустышек. Я пробовал менять кнопку вот на такой вариант:
Код TOTALCMD#BAR#DATA %COMMANDER_PATH%\TCIMG.exe imgpr=1 copyy=$f201\ExtractUsedIcons.bar||$f300\Files_VOG\Bars\//1 slist=$f250@LF$f253@LF$f201@LF$f300||##path<0|0|1> xlist=@$f300\Files_VOG\Bars\||##path<0|0|1>||formt<path3>||%%!!%%%% textt=$f300\Files_VOG\Bars\ExtractUsedIcons.bar||@#@#@!!GLOBALXLIST<1>||@##@!!GLOBALSLIST<1> pause=700 kends=TOTALCMD#BAR#DATA@CRLFGLOBALSLIST<4>\Files_VOG\Bars\ExtractUsedIcons.bar@CRLF@CRLFTOTALCMD.EXE,35@CRLFExtractUsedIcons.bar@CRLF@CRLF1??-2 barbt=1||-1||butfrom<GLOBALKENDS<t>> shell32.dll,176 Создание панели инструментов "в виде меню" ExtractUsedIcons.bar
-1 -1 Цель - чтобы панель создавалась в моей папке с панелями, а не в Files\UserBar Также в файле макроса AllIconsTC.txt менял так:
Код slist=FOLDC<D:\ExtractUsedIcons\FileSearchFolders.txt//1//1//*.bar|*.tcm|*.tcg|TCIMGU.ini|MENUIMGS.ini|ViewMode.ini|Associations.ini|UserCmd.ini>||save<D:\ExtractUsedIcons\SelectedFilesLists.txt|1> Цель - выбрать только нужные ini файлы для замены. TCG кстати тоже надо выбирать (я считаю, что те файлы, которые идут с утилитой, трогать не следует вообще). Вот после таких замен и было то, что я писал утром - 1082 иконки, из которых 79 неиспользуемых пустышек
Часть 2 Создав себе очередную тестовую копию (нетронутую ранее), я решил пройти весь путь, ничего не меняя в авторской задумке. Итак, 1. Неизвестно откуда берущаяся библиотека с полным путем - такой записи нет
2. Говоря о черных прямоугольниках вместо подсказок, я имел в виду подсказки здесь. Но случай скорее всего от конкретной системы зависит
3. Белое окно вместо подсказки в конце операций (один раз выпало на домашнем, и постоянное на рабочем)
4. Специально для alexostrov. Папка с бекапом
5. Восстановление с бекапа не работает. Видно по иконкам ассоциаций. Вот как они выглядят после восстановления:
А вот как должны выглядеть:
Цитата chip642 ( ) Поиск путей к файлам в TC У меня кнопка результата не выдаст - специфика моего тотала. Типа - "фиг я тебя, хозяин, скажу, где у меня что лежит")) P.S. Вот так на сегодняшний день выглядят результаты моих тестов
|
|
| |
alexostrov | Дата: Понедельник, 30.12.2019, 18:27 | Сообщение № 79 |
Полковник
На сайте с: 22.11.2017
Сообщений: 179
|
chip642
В TCIMGU.ini в секции [FormatUser] нужно прописывать:
Код sico=(?:[a-zA-Z]\:).*\.ico|(?:[%]).*\.ico sexe=(?:[a-zA-Z]\:).*\.exe|(?:[%]).*\.exe
или не надо ? =================== По ходу одна просьба: Есть папка Programs с вложенными папками и в них программы. Нужна кнопка по извлечению со всех *.exe файлов значков только 0 - exe, 0
|
|
| |
chip642 | Дата: Понедельник, 30.12.2019, 18:37 | Сообщение № 80 |
|
asmadeus
Всё понятно и доступно. Что я могу сказать, допиливайте под свои сборки, у всех всё по-разному, я тестировал на сборке Маэстро и у меня всё по как по маслу, а у него сборка, уж точно не самая слабая.
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
Цитата alexostrov ( ) В TCIMGU.ini в секции [FormatUser] нужно прописывать:
Нет, не нужно.
|
|
| |
sibirnik | Дата: Понедельник, 30.12.2019, 18:52 | Сообщение № 81 |
|
chip642, У меня в общее количество иконок более 3000 (несколько лет назад накидал со всяких разных dll, а потом было сложно менять). Так вот: прогнал вашим комбайном эту орду иконок(сборка моя тоже напичканная разным) из трёх dll - думал, что всё хаос будет, но нет количество уменьшилось до 705 штук и все кнопки с теми же значками. Всё прекрасно работает. Только есть одно но, которое Вы обещали решить, есть двойные иконки их бы вот ещё поудалять, вообще здорово бы было.
|
|
| |
chip642 | Дата: Понедельник, 30.12.2019, 19:00 | Сообщение № 82 |
|
Цитата sibirnik ( ) двойные иконки их бы вот ещё поудалять, вообще здорово бы было
Сделаем, решение найдено. Времени нет, попозже.
|
|
| |
sibirnik | Дата: Понедельник, 30.12.2019, 19:11 | Сообщение № 83 |
|
chip642, Подождём мы терпиливые. Спасибо Вам и С Наступающим...
|
|
| |
asmadeus | Дата: Понедельник, 30.12.2019, 19:13 | Сообщение № 84 |
|
Цитата chip642 ( ) Что я могу сказать, допиливайте под свои сборки да, конечно. Не вопрос, допилим
|
|
| |
alexostrov | Дата: Понедельник, 30.12.2019, 19:18 | Сообщение № 85 |
Полковник
На сайте с: 22.11.2017
Сообщений: 179
|
sibirnik Есть куча программ, которые очень хорошо удаляют дубли. Причем, есть специализированные по удалению только дублей иконок.
|
|
| |
chip642 | Дата: Понедельник, 30.12.2019, 19:32 | Сообщение № 86 |
|
Цитата asmadeus ( ) Восстановление с бекапа не работает. Видно по иконкам ассоциаций
Если честно не понимаю, как это может не работать, Total Commander закрывается (это обязательно), файлы с заменой копируются, что им может помешать даже не догадываюсь.
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
Цитата alexostrov ( ) Есть куча программ, которые очень хорошо удаляют дубли
Тут помимо удаления дублей нужно еще записать информацию с комментариев удаляемых и передать оставшемуся первому файлу в группе дубликатов, всё не так просто.
|
|
| |
sibirnik | Дата: Понедельник, 30.12.2019, 19:59 | Сообщение № 87 |
|
chip642,
Цитата chip642 ( ) в группе дубликатов, всё не так просто. Вот - вот .... alexostrov, я бы их и вручную удалил, не считал примерно штук 40-50 двойных, а нумерация то пропадёт. Великий Мастер кнопок знает уже, как это решить.
|
|
| |
alexostrov | Дата: Понедельник, 30.12.2019, 20:30 | Сообщение № 88 |
Полковник
На сайте с: 22.11.2017
Сообщений: 179
|
sibirnik Я думал Вам надо удалить дубли в папке, а оказывается что Вы хотите удалить их в рабочей библиотеке. Конечно просто так их не удалишь т.к. "поплывут" номера.
|
|
| |
chip642 | Дата: Понедельник, 30.12.2019, 23:40 | Сообщение № 89 |
|
Цитата alexostrov ( ) Есть папка Programs с вложенными папками и в них программы. Нужна кнопка по извлечению со всех *.exe файлов значков только 0 - exe, 0
В выделенных папках найти все файлы EXE, извлечь из них первые значки, скопировать все значки в неактивную панель в папку(с именем текущей даты) \YYYYMMDDHHMMSS\ProgramIcon\ , далее в папке YYYYMMDDHHMMSS\ создать библиотеку значков из извлечённых значков, перейти в папку YYYYMMDDHHMMSS\ .
Код watch=1||delbut<1> tends=[info=s30] tempxx exics=FOLDC<%L//1//-1//*.exe>||$f254||infold<> slist=PS<$f254//2//0> <FOR> 1 <TO> GLOBALSLIST<0> sends=PS<GLOBALSLIST<:INDEX:>//1//-1//ico//0//0//1//1>!!:INDEX: <NEXT> copys=GLOBALSENDS<t>||"%t\GLOBALTENDS<1>\ProgramIcon\"//1 lbicl=GLOBALSENDS<t>||"%t\GLOBALTENDS<1>\ProgramIcon.dll"||progres<> patht=[tc=TP]\GLOBALTENDS<1> tempxx
|
|
| |
alexostrov | Дата: Вторник, 31.12.2019, 01:24 | Сообщение № 90 |
Полковник
На сайте с: 22.11.2017
Сообщений: 179
|
chip642 Премного благодарен! Я на такую работу, в ручном режиме, тратил 1,5-2 часа. А тут за несколько минут есть результат. Супер. С вашего позволения, еще один вопрос - есть кнопка:
Код bufsr=?T|a,1:-1!!:NUM:.~~ ;; пронумеровать строки в буфере обмена нумерация строк начинается с 1. Как сделать, что-бы нумерация начиналась с 0. Справку по команде bufsr проутюжил, но ничего не нашел.Добавлено (31.12.2019, 01:27) --------------------------------------------- Кстати я совсем забыл, я Вам отправил ссылки на тестовый ТС.
|
|
| |