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

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




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


Группа TCIMG в Telegram

.
 
asmadeusДата: Вторник, 17.12.2019, 17:20 | Сообщение № 1831
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
alexostrov, смотрите, как по мне (чисто теория). Задача условно делится на 4 этапа:
1. Анализ файлов на наличие записей о иконках. Это могут быть файлы bar, tcm, ini. Записи о иконках могут быть и не библиотеками dll, а просто exe. То есть получаем список без дублей и желательно с путями полными (чтобы потом не додумывать, где та или иная библиотека или исполняемый файл).
2. Копирование всех используемых иконок в отдельную папку (в случае исполняемых файлов - можно заморочится и прописать экстракцию иконок с них, а можно просто отдельно сделать список для последующей обработки вручную).
3. Создание новой библиотеки с иконок папки (иконки уже должны быть переименованы от 0000 и до конца)
4. Сопоставление значков во всех файлах.

Теперь о методе. Сам ничего не сделал, но ваш подход уже считаю неверным.
Я думаю, нужен массив (то есть использование команд arr2d и anf2d).
Создается таблица по числу строк=число иконок без дублей
Первая колонка - путь к библиотеке и иконке (короче, как прописана иконка в файле)
Вторая колонка - полный путь к файлу, где именно она прописана
Третья колонка - новое имя иконки - нумерация от 0000

И потом играем в морской бой - по координатам.
Во второй колонке берем имя файла, находим значение с первой колонки и меняем его на значение с третьей колонки.
Я думаю, в теории приблизительно так. Но страшно представить, сколько камней на этом пути
 
alexostrovДата: Вторник, 17.12.2019, 17:59 | Сообщение № 1832
Полковник

На сайте с: 22.11.2017
Сообщений: 179
Награды: 0
Репутация: 0
asmadeus
Да, возможно лучшим вариантом замены номеров иконок, будет работа через массивы.
Мне кажется что нужно выработать механизм на малом кол-ве файлов и скажем в одной категории.
Взять например 2-3 файла *.bar и 2-3 файла *.tcm, причем небольших, с кол-вом иконок по 20-30 в файле.
Может быть начать вообще с одного файла. Тогда легче будет проверить правильность замены. Это можно сделать даже в ручную.
Причем, если я правильно понимаю, методика замены старых номеров иконок на новые в *.bar файлах и в *.tcm будет разная?
Осталось это все реализовать. Может быть Коллеги подключатся. Все таки "Гуртом батька бити легше"
 
asmadeusДата: Вторник, 17.12.2019, 19:15 | Сообщение № 1833
Генералиссимус

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

Ну я так понял, что у одного Коллеги это уже работает
Цитата alexostrov ()
Причем, если я правильно понимаю, методика замены старых номеров иконок на новые в *.bar файлах и в *.tcm будет разная?

Ну смотрите на моем примере сборки:
[info]wcmicons.inc - 1001=1
WCMD_RUS.ini - Button=Wcmicons.dll,1
TCM - %COMMANDER_PATH%\Files\Icons\MyIcons\exif.ico,0
или просто 1268 (в случае использования библиотеки Wcmicons.dll)
Bar - button3=Wcmicons.dll,2058 или
button4=%COMMANDER_PATH%\Libraly_asm.dll,26
Плюс частные варианты:
В TCIMGU.ini:
2_Pr_2="%WPI%\Apps\XnView\xnview.exe" ":FILE:"//0//Открыть в XnView//%WPI%\Apps\XnView\xnview.exe
2_Pr_3="$f253" "start=Photoshop7||:FILE:"//0//Открыть в Photoshop 7//%COMMANDER_PATH%\Wcmicons.dll,511
Associations1=%COMMANDER_PATH%\Files_VOG\Bars\Osnova\8_Settings.bar|=Wcmicons.dll,1349|=Wcmicons.dll,1348|(ассоциации включены)|(ассоциации выключены)[/info]
И это, я уверен, далеко не все возможные случаи.
То есть да, методика замены очень разнообразна.
 
alexostrovДата: Вторник, 17.12.2019, 22:06 | Сообщение № 1834
Полковник

На сайте с: 22.11.2017
Сообщений: 179
Награды: 0
Репутация: 0
asmadeus
Я бы начал с wcmicons.inc. Это было-бы просто проверить.
Создал Wcmicons.dll только с иконками Меню и новый wcmicons.inc и проверил Меню (все ли иконки на месте и их соответствие).
Далее подключить Бары, а может и не Бары это Вам решать.
Мне кажется что нужно идти пошагово. Сделать одну кнопку, которая заменит все иконки во всем ТС, это проблемно.
В итоге она может быть и одна , но собранная с частей, которые делают замену в разных файлах.
Основная масса замен будет в: Меню, Барах и TCM.
Кстати, я думал что в TCM используются только иконки из Wcmicons.dll - #!#296#!#, хотя потом посмотрел что есть
Код
Kremlin_Text#!#%COMMANDER_PATH%\Programs\Arhive\Kremlin\Kremlin_Text.exe,1#!#%COMMANDER_PATH%\Programs\Arhive\Kremlin\Kremlin_Text.exe

Надо думать.
 
asmadeusДата: Вторник, 17.12.2019, 22:45 | Сообщение № 1835
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
alexostrov, как я думаю, работать надо одной кнопкой, ведь надо получить ОДИН список для создания ОДНОЙ библиотеки. А так выйдет, что список для меню один и порядок в нем, список для баров другой.
Возможно, кнопки будет 4 - согласно тем этапам, о которых я писал. Надо пробовать. Начинать, я согласен, надо с малого. Хотя оно, как по мне, и проблематично - создание массива-списка, и тут не важно, с одного файла или многих - надо не прогадать со структурой. Завтра днем если будет время, посмотрю в эту сторону (вечером никак)
 
asmadeusДата: Среда, 18.12.2019, 19:16 | Сообщение № 1836
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Всем привет!
Есть массив, созданный командой slist
Но есть необходимость добавить в него колонку с номером строки, чтобы впоследствии можно было к этой колонке обратится. Справку перерыл, но о нумерации ничегошеньки не нашел

Добавлено:
Решил. Через регулярку и параметр NUMBER
 
JKTДата: Пятница, 20.12.2019, 07:29 | Сообщение № 1837
Генерал-майор

На сайте с: 01.02.2012
Город: Харьков
Сообщений: 371
Награды: 7
Репутация: 7
Здравствуйте всем.
Кнопка скачки видео с ютуба в текущую панель
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
global cmdcm=[check=BOX_V01] dends=GLOBALCHECM1<1>??1||formt<sps109> sends=-1!!-1 slist=$GLOBALSENDS||formt<1,63,54,51> <FOR> 1 <TO> GLOBALSLIST<0> start=Youtub||-o||"%%(title)s-%%(upload_date)s-@%%(id)s.%%(ext)s"||--write-all-thumbnails||-f||GLOBALDENDS<1>||GLOBALSLIST<:INDEX:>||&&hide||&&wait pause=1s <NEXT> tcimg=$cm540
%COMMANDER_PATH%\MyFiles\PFP\ZELO\icons\!FavIcons\YouTube.ico
Скачать по ссылке из буфера видео с Youtube с диалогом выбора

-1

На выходе получается картинка-превью видео и сам видеофайл. Но название их, - дата+кусок ссылки. Что-то вроде:
_-20191219-@i7brQo30A-Q.jpg
_-20191219-@i7brQo30A-Q.mp4
При самой ссылке вида: https://www.youtube.com/watch?v=i7brQo30A-Q
Что сделать, чтоб на выходе получалось нормальное название.
Я смотрю, что в коде кнопки имеется параметр Youtube-dl "title", по видимому он и должен передавать название ролика, но у меня не работает.
И еще. Иногда ссылки бывают битые, т.е. превьюшка висит на странице, а ролик не скачивается. Плеер, при перетаскивании в него такой ссылки, пытается её подхватить, если не может - пишет в плейлисте "watch" и я знаю, что битая.
Тут-же, при наличии такой ссылки в буфере, при нажатии на кнопку - тишина, и непонятно, схватил или не схватил. Может какую обработку, чтоб ошибку вывел в панели, ну или пустой файл создал вроде "error_-_Адрес ссылки", если в самой YouTube-dl есть такая возможность?
 
asmadeusДата: Пятница, 20.12.2019, 18:43 | Сообщение № 1838
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Да, наверное вопрос с иконками мне не под силу - я застрял на замене иконок в файле wcmicons.inc - не могу совладать, как справится только с заменой ключей (которые могут еще и дублироваться), и при этом не трогать сами имена ключей
 
chip642Дата: Суббота, 21.12.2019, 20:59 | Сообщение № 1839
Генералиссимус

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


Обновите youtube-dl
 
MrakobesДата: Воскресенье, 22.12.2019, 12:17 | Сообщение № 1840
Полковник

На сайте с: 08.08.2014
Город: Москва
Сообщений: 175
Награды: 2
Репутация: 2
Всем привет. Я все еще учу английский язык по своей методике - перевод песен ))

Задача такая: есть текстовый файл, в нем построчно текст на английском, затем перевод на русский, очень неудобно искать строки, вот идея такова - перемешать строчки, ибо они совпадают в своей последовательности

было



Стало



В результате весь текст разбит на двустрочия с пустой строкой. Возможно это? Чтобы идентифицировать текст инглиш от рашен можно каким нибудь символом разделить портянку, это не важно, я могу в текстовый файл как угодно копировать перевод
 
JKTДата: Вторник, 24.12.2019, 13:04 | Сообщение № 1841
Генерал-майор

На сайте с: 01.02.2012
Город: Харьков
Сообщений: 371
Награды: 7
Репутация: 7
Цитата chip642 ()
Обновите youtube-dl

Обновил, но то-же самое. Ролик скачивается, а названия нет.
P/S
Нашел траблу. Если ролик на кирилице - названия нет. Если на латинице - всё нормально пишется.
Не любят русских. Сцуки. Вопрос снят. Как сие поправить.... Единственное это писать разрабам сей прожки, но как показывает опыт - бесполезно.
Спасибо за участие. Удачи.
 
MrakobesДата: Вторник, 24.12.2019, 14:34 | Сообщение № 1842
Полковник

На сайте с: 08.08.2014
Город: Москва
Сообщений: 175
Награды: 2
Репутация: 2
Еще - сто лет таскаю ссылки в активную панель, в папку из Firefox'а, может можно реализовать "сохранение ссылку (ярлык) в папку в активной панели" при этом ссылка берется из активной вкладки браузера, даже если браузер свернут... реально ли это? Под ярлыком мы понимаем

Код
[InternetShortcut]
URL=https://ultimae.com/artists/martin-nonstatic/
IDList=
HotKey=0
IconFile=C:\Portable App\Mozilla Firefox\profiles\shortcutCache\ZtR50IVOPCjKbqLxvq9CUw==.ico
IconIndex=0
 
Lord_NEVRДата: Вторник, 24.12.2019, 20:27 | Сообщение № 1843
Полковник

На сайте с: 24.06.2016
Город: Калининград
Сообщений: 210
Награды: 5
Репутация: 0
Цитата JKT ()
Обновил, но то-же самое. Ролик скачивается, а названия нет.
P/S
Нашел траблу. Если ролик на кирилице - названия нет. Если на латинице - всё нормально пишется.
Не любят русских. Сцуки.

Не подтверждаю.
Скачиваю нормально.
https://www.youtube.com/watch?v=Ao8XhAVHjRA


 
JKTДата: Среда, 25.12.2019, 10:32 | Сообщение № 1844
Генерал-майор

На сайте с: 01.02.2012
Город: Харьков
Сообщений: 371
Награды: 7
Репутация: 7
Lord_NEVR,
Да. И на старуху бывает проруха. Что-то у меня видимо было в с-ме. Винда это такое ещё. Сейчас попроверял - все нормально. Названия пишутся. А что это было - хз.
Благодарю, а то уже собрался эту кнопку с этой прожкой отправить в пешее эротическое путешествие.
 
chip642Дата: Четверг, 26.12.2019, 13:03 | Сообщение № 1845
Генералиссимус

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


Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
sends=%P%N??-5|=2 xends=GLOBALSENDS<x1>??-1 zends=GLOBALSENDS<x2>??-1 slist=$GLOBALXENDS||$$@CRLFGLOBALZENDS<:NUMBER:> bends=$GLOBALSLIST??-2||?T|p3#2#1|a,1:-1!!@CRLF pends=$GLOBALBENDS??1 textt=%P%N||##GLOBALPENDS<x1>
%COMMANDER_PATH%\WCMICONS.dll,19
Из файла под курсором получить два списк разделив строки файла на 2 равные части|объединить два списка путём строковой последовательности|после каждых двух строк вставить пустую строку

-1


Пустые строки в файле игнорируются.

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

Цитата alexostrov ()

Будем надеяться на Новогодний подарок под елочку!


Сделано.

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

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