Создание и редактирование библиотек значков
|
|
chip642 | Дата: Среда, 01.01.2020, 21:10 | Сообщение № 106 |
|
Цитата asmadeus ( ) ну вот и я чем то пригодился
Да, конечно, надо тестировать, проверять, что-то добавим, что-то уберём, всё-таки коллективный труд ведёт к более совершенному решению поставленной задачи. Так что будем на связи.
|
|
| |
asmadeus | Дата: Среда, 01.01.2020, 21:30 | Сообщение № 107 |
|
chip642, обязательно будем. Правда, специфика моей сборки добавляет кучу задач еще к нормальной работе твоего комбайна, но я понемногу двигаюсь в верном направлении. Мне нужно еще один файл менять, но там только ручная работа... XLSX утилите не по зубам Так что пока правлю все файлы на предмет разных иконок на одинаковых командах, лишних командах и кнопках...
Добавлено: Есть еще пара идей для добавления, по свободе у себя точно сделаю (если не забуду и если мозгов хватит): 1. Отдельная кнопка с заранее прописанными своими путями к папкам. У большинства пути не меняются, и просто нет необходимости постоянно жать глазик и копировать путь под курсором. Так - нажал - и создался файл с путями (да, под каждую сборку они свои, да, кнопку надо создавать под себя заранее) 2. Удаление папки проекта по окончанию операции
|
|
| |
alexostrov | Дата: Пятница, 03.01.2020, 12:13 | Сообщение № 108 |
Полковник
На сайте с: 22.11.2017
Сообщений: 179
|
chip642 asmadeus Тестирование Вы проводите на сборке Андрея (или своя сборка на базе сборки Андрея). Я же взял чистый ТС, залил туда TCIMG (последняя версия), в корневую папку Bar добавил бар-файлы и добавил в Files\Tcm и Tcg свои файлы. Также в корень ТС скопировал папки Plugins\ и Scripts\ В результате замена значков проходила, но файл TC@bak не создавался. Тестировал на 3-х разных ТС . Я решил пойти Вашим путем. Взял сборку TC IMAGE_22, сделал с нее копию (без папки программ) и проверил замену значков на TC IMAGE_22. Все прошло штатно и файл TC IMAGE_22@bak был создан. Вопрос: чего не хватало в моих сборках. Или причина в другом?
|
|
| |
chip642 | Дата: Пятница, 03.01.2020, 12:41 | Сообщение № 109 |
|
alexostrov
Нашу крайнюю переписку с asmadeus читали? Если да, то наверное заметили, что найдена ошибка при создании бэкапа TC — файл Find&ReplaceIconsTC.txt.
Все изменения вносятся в изначальный архив из первого поста. Скачиваете, обновляете файлы и тестируете.
|
|
| |
alexostrov | Дата: Пятница, 03.01.2020, 13:41 | Сообщение № 110 |
Полковник
На сайте с: 22.11.2017
Сообщений: 179
|
chip642 Все изменения я внес:
Код xlist=@$var_p||##path<12>||$$@CRLF||$$path<4>@bak
Использовал одну и ту же кнопку и файлы с папки Files, а результаты разные. Разница только в том, что замену провожу в разных сборках ТС.
|
|
| |
chip642 | Дата: Пятница, 03.01.2020, 14:01 | Сообщение № 111 |
|
alexostrov
Единственная причина по которой у вас может не создаваться бэкап тестируемого TC, это то, что в файле FileSearchFolders.txt, в первой строке у вас находится не путь к тестируемому TC, а путь к TC IMAGE. Вы видимо решили этот файл(FileSearchFolders.txt) не менять и продолжать тестировать на других сборках. Если я ошибаюсь, тогда причину не знаю, ибо там должно всё работать как часики.
|
|
| |
sibirnik | Дата: Пятница, 03.01.2020, 15:52 | Сообщение № 112 |
|
chip642, Моё сегоднящее сообщение удалил, был невнимателен, что Вы успели подменить файлы в первом посте. Прошу извинить, всё теперь создаётся правильно и бекап тоже, перекачал из первого поста, повторил все операции, всё отработало на все 100% без пыли и шума. Спасибо.
Сообщение отредактировал sibirnik - Пятница, 03.01.2020, 16:47 |
|
| |
alexostrov | Дата: Пятница, 03.01.2020, 19:43 | Сообщение № 113 |
Полковник
На сайте с: 22.11.2017
Сообщений: 179
|
chip642 Содержимое созданного файла d:\ExtractUsedIcons\FileSearchFolders.txt: [info]j:\TC_9.20_Final\ j:\TC_9.20_Final\Bar\ j:\TC_9.20_Final\Files\Tcg\ j:\TC_9.20_Finak\Files\Tcm\ папка BackUp не создан.[/info] в этом варианте d:\ExtractUsedIcons\FileSearchFolders.txt: [info]H:\TC IMAGE_22\ H:\TC IMAGE_22\Bar\ H:\TC IMAGE_22\Files\Tcg\ H:\TC IMAGE_22\Files\Tcm\ создана папка BackUp - TC IMAGE_22@bak[/info] Видно не судьба. После перехода на тестирование другого ТС, я папку d:\ExtractUsedIcons от предыдущего тестирования или удалял или переименовывал.
|
|
| |
sibirnik | Дата: Пятница, 03.01.2020, 20:53 | Сообщение № 114 |
|
alexostrov,
Цитата alexostrov ( ) Видно не судьба. После перехода на тестирование другого ТС, я папку d:\ExtractUsedIcons У меня абсолютно всё находится на диске D. И поэтому видимо правильно отрабатывает. А у вас смотрю эта папка d:\ExtractUsedIcons на D, а ТС на других дисках. Не знаю может я не прав. chip642, подправит меня.
|
|
| |
chip642 | Дата: Пятница, 03.01.2020, 20:56 | Сообщение № 115 |
|
alexostrov
Замените этот файл Find&ReplaceIconsTC.txt и проверьте ещё раз, хотя должно было работать с предыдущим вариантом.
|
|
| |
alexostrov | Дата: Пятница, 03.01.2020, 23:36 | Сообщение № 116 |
Полковник
На сайте с: 22.11.2017
Сообщений: 179
|
sibirnik Total Commander может находится на любом диске. И это даже удобнее т.к. в одной панели открыта папка Тотала , в другой создаются файлы и папки, участвующие в процессе замены значков. Здесь chip642 сделал универсальный вариант с возможностью выбора.
chip642 Спасибо, все получилось. Папка TC_Test@bak создается и с полным наборов файлов. Более того, отлично работает откат назад. Я откатился, кое-то поменял и снова произвел замену и все ОК! Мне кажется , что в "5. Копировать значки из списка AllIconsTC.txt....." раньше был таймери на инф. строке и потом окно прогресса. Сейчас инф.строка есть , окно прогресса есть , а таймера не было. А процесс длительный, и непонятно или идет работа или висим. Да, забыл сказать, что я сделал - просто заменил файл wincmd.ini с рабочей сборки. И еще на пункте 4(1) в окне просмотра появляются библиотеки, значки из которых действительно задействованы в ТС. Но и появляются совсем неизвестные библиотеки (я так понимаю, что они где-то прописаны в каких-то ini файлах). Но это не критично. Еще раз БОЛЬШОЕ спасибо !
|
|
| |
asmadeus | Дата: Суббота, 04.01.2020, 09:20 | Сообщение № 117 |
|
Цитата alexostrov ( ) в окне просмотра появляются библиотеки, значки из которых действительно задействованы в ТС. Но и появляются совсем неизвестные библиотеки (я так понимаю, что они где-то прописаны в каких-то ini файлах). Раз появляются, значит - прописаны. Ищите. Я у себя все левое понаходил и заменил, сейчас привожу в порядок панели...Потом все остальное, и - буду делать финальную замену.
|
|
| |
chip642 | Дата: Воскресенье, 05.01.2020, 22:05 | Сообщение № 118 |
|
Цитата alexostrov ( ) Мне кажется , что в "5. Копировать значки из списка AllIconsTC.txt....." раньше был таймери на инф. строке и потом окно прогресса. Сейчас инф.строка есть , окно прогресса есть , а таймера не было. А процесс длительный, и непонятно или идет работа или висим
Секундомер должен быть на протяжении всей операции, если инф. строка сверху есть - значит процесс идёт.
Цитата alexostrov ( ) И еще на пункте 4(1) в окне просмотра появляются библиотеки, значки из которых действительно задействованы в ТС. Но и появляются совсем неизвестные библиотеки (я так понимаю, что они где-то прописаны в каких-то ini файлах)
Обновил архив
Введены изменения в файл AllIconsTC.txt - запускающий команду из пункта "3.", теперь файл UsedLibrariesIcons.txt создается с путями найденных библиотек значков. Соответсвененно измененbию подвергнут и файл AllDllTC.txt - запускающий команду из пункта "4.(1)", теперь диалог выбора библиотек значков представлен в виде абсолютных путей.
А уж какие библиотеки вы выберете для распаковки решать вам, все представленные библиотеки имеют значки, пустышек нет.
|
|
| |
alexostrov | Дата: Понедельник, 06.01.2020, 14:56 | Сообщение № 119 |
Полковник
На сайте с: 22.11.2017
Сообщений: 179
|
chip642 Спасибо. С абсолютными путями значительно информативнее. C\Windows\System32\..... лучше не трогать. Хотя и так понятно, что shell.dll с Windows, Но, у меня в окне просмотра были библиотеки, путь к которым я не знал. Теперь все просто и понятно. Новый архив скачал. Проверю замену еще с файлами с него.Добавлено (06.01.2020, 15:29) --------------------------------------------- chip642 В кнопке, которую Вы делали:
Код 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 я заменил в exics=FOLDC<%L//1//-1//*.exe> на exics=FOLDC<%L//1//1//*.exe> и получил извлечение значков из *.exe файлов в 1-м уровне. Все классно, если имя папки и *.exe файла, в этой папке совпадают: папка - Aida64, файл - aida64.exe и значок - Aida64_01.ico , а если так: папка - Axialis IconWorkshop файл - IconWorkshopPortable.exe и значок - IconWorkshopPortable.ico При сортировке по алфавиту они оказываются в разных буквах. Совместить значок с папкой сложно. Насколько сложно сделать так что-бы в имени извлеченного значка прописывалось не имя *.exe файла, из которого он извлекался, а имя папки, где лежит этот файл. Извините за длинный монолог.Добавлено (06.01.2020, 16:35) --------------------------------------------- Если в папке несколько *.exe файлов, то прописывать "имя папки".ico, "имя папки (1)".ico, "имя папки(2)".ico и т.д.
|
|
| |
chip642 | Дата: Понедельник, 06.01.2020, 19:13 | Сообщение № 120 |
|
alexostrov
Новая кнопулька нахождения .exe и извлечения первых значков...
В TCIMGU.lng в секцию [Russian] записать шаблон:
Код CheckBox_UR7=Форматы иконок<#>Выберите форматы иконок<#><#>16:V:<+>16<+>24<+>24<+>32:V:<+>32<+>48<+>48<+>128<+>128<+>256<+>256<#>250<#>250
В выделенных папках найти все файлы EXE, извлечь из них первые значки(присвоив им имена родительских папок-первое слов), скопировать все значки в неактивную панель в папку(с именем текущей даты) \YYYYMMDDHHMMSS\ProgramIcon\, далее появляется окно выбора форматов в которые надо переформатировать иконки
Далее появляется окно редактирования, где мы можем удалить похожие значки и переместить в нужные места.
После Ok в окне редактирования - всем иконкам добавляется начальная нумерация согласно сортировки в окне редактировния и они помещаются в папку \YYYYMMDDHHMMSS\UserFormats. Далее на основе значков папки UserFormats создается библиотека значков ProgramIcon.dll
Код TOTALCMD#BAR#DATA %COMMANDER_PATH%\TCIMG.exe watch=1||delbut<1> global tends=[info=s30] tempxx exics=FOLDC<%L//1//-1//*.exe>||$f254||infold<> slist=PS<$f254//2//0> <FOR> 1 <TO> GLOBALSLIST<0> xlist=PS<GLOBALSLIST<:INDEX:>//1//-1//ico//0//0//1//1> cends=<info=o91GLOBALXLIST<1>//>||&&(?i)([a-zа-яё\s]+)(.*)!!$1 copyy=GLOBALXLIST<1>||"%t\GLOBALTENDS<1>\ProgramIcon\"//1||##GLOBALCENDS<1> <NEXT> style=U14 dilog=[check=BOX_UR7] sends=$GLOBALCHECR1??-1||@CRLF!!, icods=PS<[tc=TP]GLOBALTENDS<1>\ProgramIcon>||"%t\GLOBALTENDS<1>\UserFormats\"//0||delete<0:-1|0>||plus<GLOBALSENDS<1>>||pngcmprs<1>||progres<> winls=@[tc=TP]GLOBALTENDS<1>\UserFormats\||800x600||1 renms=$GLOBALWINLS||<info=f12::>||^^cntr<0|1|4>_||noprogres<> lbicl=[tc=TP]GLOBALTENDS<1>\UserFormats\||"%t\GLOBALTENDS<1>\ProgramIcon.dll"||progres<> patht=[tc=TP]GLOBALTENDS<1> tempxx WCMICONS.dll,19 Извлечение первых значков из всех EXE выделенных папок с дальнейшим переформатированием в нужные форматы и по итогу созданием библиотеки значков
-1
|
|
| |
|