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

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




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


Группа TCIMG в Telegram

.
 
MrakobesДата: Вторник, 11.12.2018, 11:09 | Сообщение № 1396
Полковник

На сайте с: 08.08.2014
Город: Москва
Сообщений: 175
Награды: 2
Репутация: 2
Цитата chip642 ()
нужно знать какой тип аудио содержит видеофайл
понятно, тогда пускай лучше извлекает в эмпэ3, все равно битрейт 320 вряд ли бывает в ютубовских роликах, там и есть 128 преимущественно.

Строки работают, все ок. Обработал 3500 строчный файл, руками бы удалял до вечера)))
 
sibirnikДата: Воскресенье, 16.12.2018, 17:20 | Сообщение № 1397
Генерал-лейтенант

На сайте с: 27.08.2014
Сообщений: 742
Награды: 26
Репутация: 10
Помогите пожалуйста с кнопкой для объединения нескольких выделенных видеофайлов в один видеофайл. Спасибо.
 
veosysregДата: Вторник, 18.12.2018, 10:47 | Сообщение № 1398
Рядовой

На сайте с: 15.12.2018
Сообщений: 5
Награды: 0
Репутация: 0
Подскажите, пожалуйста, как создать кнопку для такой операции: перенос файла под курсором в определенную папку (локальную папку Яндекс.Диска, которая синхронизируется с облаком) и далее получение в буфер ссылки на этот файл в облаке (Яндекс.Диске). В принципе можно, конечно, делать это через контекстное меню, но при этом файл копируется в корень файловой структуры на облаке, что мне не подходит. А вот если сначала переносить файл в соответствующую подпапку локальной папку Яндекс.Диска то тогда при выборе уже там из контекстного меню пункта "Скопировать ссылку на Яндекс.Диске" то он уже просто дает ссылку и файл оставляет там где он уже лежит. Т.е. после операции переноса файла нужно перенести фокус на него и далее из его контекстного меню выбрать соответствующий пункт.

У меня пока получилось вот так:
Код
copys=%L||"d:\Yandex\YandexDisk\Work" lists=%Z%UL||##D:\Yandex\YandexDisk\Work\path<6> patha=clpget focusp pause=500 buttn=#32768||x|$l{APPSKEY}{DOWN~~12}{ENTER}

Но мне кажется это не оптимальный вариант. Как минимум контекстное меню бывает разным для разных типов файлов и смещение вниз не всегда на 12 шагов.


Сообщение отредактировал veosysreg - Вторник, 18.12.2018, 14:13
 
asmadeusДата: Среда, 02.01.2019, 12:38 | Сообщение № 1399
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1376
Награды: 29
Репутация: 32
Andrey_A, пошел по твоим рекомендациям
Цитата Andrey_A ()
1. Разбиваем выделенное в 2D массив по регулярке, к примеру такой:

Имеем, вместо полного пути потом будет считка с ини файла
Код
anf2d=PS<"D:\Update"!!1!!0!!*.zip>||2||(?:[^\\]+\\)([^\\]+_)([^\\_]+)\.[^\\._]+ GLOBALANF2D<a>
arr2d=$GLOBALANF2D||1|2||4|1 GLOBALARR2D0<a>

Здесь идет замена D:\Update на пустоту, или говоря проще - просто получение имен файлов и вставка в конец каждого элемента "|"
Код
aends=$GLOBALARR2D0??1||==D:\Update\!!||eline<!!|> GLOBALAENDS<a>

Здесь я удаляю последнюю "трубу" со строки предыдущего массива
Код
bends=$GLOBALAENDS??1||?R1 GLOBALBENDS<a>

И хочу подсунуть результат как маску в команду удаления, удаляя все, кроме указанного. Но удаляется абсолютно все
Код
delss=PS<"D:\Update"!!1!!0!!$GLOBALBENDS!!1>||1
 
chip642Дата: Среда, 02.01.2019, 16:05 | Сообщение № 1400
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1512
Награды: 62
Репутация: 59
asmadeus

С проверками.

Код
anf2d=PS<"D:\Update"!!1!!0!!*.zip>||2||(?:[^\\]+\\)([^\\]+_)([^\\_]+)\.[^\\._]+ GLOBALANF2D<a> arr2d=$GLOBALANF2D||1|2||4|1 GLOBALARR2D0<a> slist=$GLOBALARR2D0||##path<6> GLOBALSLIST<a> bends=$GLOBALSLIST??-1||?B58!!Chr(124)||@CRLF!! GLOBALBENDS<a> delss=PS<"D:\Update"//1//0//GLOBALBENDS<1>//1>||1


Без проверок.

Код
anf2d=PS<"D:\Update"!!1!!0!!*.zip>||2||(?:[^\\]+\\)([^\\]+_)([^\\_]+)\.[^\\._]+ arr2d=$GLOBALANF2D||1|2||4|1 slist=$GLOBALARR2D0||##path<6> bends=$GLOBALSLIST??-1||?B58!!Chr(124)||@CRLF!! delss=PS<"D:\Update"//1//0//GLOBALBENDS<1>//1>||1


Замыкающую "трубу" (|) в строковой последовательности списка файлов можно не удалять.
 
asmadeusДата: Среда, 02.01.2019, 19:45 | Сообщение № 1401
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1376
Награды: 29
Репутация: 32
chip642, интересно... Работает, только как всегда - мысли "и как я не додумался"))
 
sibirnikДата: Среда, 02.01.2019, 20:16 | Сообщение № 1402
Генерал-лейтенант

На сайте с: 27.08.2014
Сообщений: 742
Награды: 26
Репутация: 10
Имеется рабочая кнопка:
Цитата
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
beepss imgpr=1 slist=%UL mp3ws=$GLOBALSLIST||<info=f15::>//1||-7 mp3ws=$GLOBALSLIST||"%p"//1||1//##::;;?Fmp3.2||2//##::;;?Fmp3.1||61//##::;;?Fmp3.1||50//##::;;?Fmp3.2||upd<1> moves=$GLOBALSLIST||"D:\Досуг\Музыка\//4" beepss
%COMMANDER_PATH%\Wcmicons.dll,63
В выделенных файлах запись MP3-тегов взятых из базовых имён файлов + Перемещение в папку "Музыка" при совпадении имён, не заменять имеющие.

Помогите пожалуйста допилить кнопку так, чтобы она сделала, так:
В выделенных файлах запись MP3-тегов взятых из базовых имён файлов + Переместить выделенные файлы в папку "Музыка" при совпадении имён, заменить меньший файл в ДП большим по размеру файлом из АП, а файлы с одинаковым именем и размером или меньшим размером в АП, чем в ДП удалить. Оставив в ДП аналогичные файлы без изменений.


Сообщение отредактировал sibirnik - Четверг, 03.01.2019, 10:10
 
alexostrovДата: Четверг, 03.01.2019, 00:34 | Сообщение № 1403
Полковник

На сайте с: 22.11.2017
Сообщений: 179
Награды: 0
Репутация: 0
Уважаемые форумчане, поздравляю всех с наступившим Новым Годом и наступающим Рождеством Христовым!
Желаю Вам крепкого здоровья, мира, благополучия и творческих успехов в новом году.

chip642
Помогите решить следующую проблему: у меня библиотека Wcmicons ~ 4000 значков. использую реально 15-20%.
Я хочу ее как-то привести в порядок.
Как получить (может быть в текстовом файле или в другом формате), информацию о том, какие значки , с какой библиотеки
используются в сборке ТС. Это значки главного меню - Wcmd_Rus.mnu, значки панелей инструментов - все файлы *.bar с папки BAR и
значки, прописанные в пользовательских командах em_xxx_zzz, но только те, которые используются в файлах allprograms.mnu и allprograms.tcm.
Желательно что-бы это было как-то так: имя библиотеки, № значка, программа или функция (кнопка). Может быть конечно и другое представление информации. Это на Ваше усмотрение.


Сообщение отредактировал alexostrov - Четверг, 03.01.2019, 00:36
 
asmadeusДата: Четверг, 03.01.2019, 19:03 | Сообщение № 1404
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1376
Награды: 29
Репутация: 32
alexostrov, прям читаете мои мысли - проблема примерно такая же, только значков меньше, а мест больше - еще файлы tcm и различные конфиги утилиты tcimg. Но получить - это еще цветочки. А вот создать новую библиотеку из только исапользуемых значков, выполнить замену на новые номера во всех файлах - это уже проблема, и немалая
chip642, по поводу кнопки - если вдруг дубликатов нет, то удаление происходить не должно, а происходит
Пробовал вставить условие
Код
exect=$var_file=IniRead(EnvGet('COMMANDER_PATH')&'\Files_VOG\INI\TC_VOG.ini','TC_VOG','PathApps','#')
anf2d=PS<$var_file//1//0//*.zip>||2||(?:[^\\]+\\)([^\\]+_)([^\\_]+)\.[^\\._]+
arr2d=$GLOBALANF2D||1|2||4|1
slist=$GLOBALARR2D0||##path<6>
sends=$GLOBALSLIST??-1||?B58!!Chr(124)||@CRLF!!||?R1
<IF> <info=d7$var_file//> > GLOBALSLIST<0> <THEN> delss=PS<$var_file//1//0//$GLOBALSENDS<1>//1>||1 <ENDIF>

Типа "если количество файлов больше чем элементов для маски, то выполнить команду удаления". Но реакции никакой
 
alexostrovДата: Четверг, 03.01.2019, 19:46 | Сообщение № 1405
Полковник

На сайте с: 22.11.2017
Сообщений: 179
Награды: 0
Репутация: 0
asmadeus
Цитата asmadeus ()
Но получить - это еще цветочки. А вот создать новую библиотеку из только исапользуемых значков, выполнить замену на новые номера во всех файлах - это уже проблема, и немалая

Я тоже об этом думал, но здесь придется очень корректно переделать wcmicons.inc, что-бы не слетело все к фене-бене. Это было-бы очень круто.
Будем надеяться что Маэстро или chip642 что-то придумают.

Добавлено (03.01.2019, 20:17)
---------------------------------------------
P.S.
Как Вам такая идея: есть библиотека Wcmicons_1.dll (в которой скажем 1000 значков) и к ней файл wcmicons_1.inc.
Определяем какие значки, из этой библиотеки используются в ТС, и из них создаем новую библиотеку Wcmicons_2.dll, скажем из 300 значков.
Дальше извлекаем значки из этих библиотек в разные папки. Сравнить между собой эти папки и найти дубли изображений (значков).
Эти дубли значков будут иметь разные номера. Осталось по этим номерам переделать файл wcmicons_1.inc в wcmicons_2.inc.

Сообщение отредактировал alexostrov - Четверг, 03.01.2019, 19:48
 
chip642Дата: Четверг, 03.01.2019, 20:26 | Сообщение № 1406
Генералиссимус

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


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

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


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

-----------

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

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1376
Награды: 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 | Сообщение № 1408
Полковник

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

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

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

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

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


Сообщение отредактировал alexostrov - Пятница, 04.01.2019, 14:24
 
Поиск:

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