[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: Andrey_A, simup, ХарВик, chip642  
TCIMG - Мощное средство автоматизации
Andrey_AДата: Вторник, 12.06.2012, 04:41 | Сообщение № 1
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
TCIMG




Дата выпуска: 21.10.2024
Версия: 34.9
Автор: Averin Andrey
Скачать: Страница обновления TCIMG
Скачать 2 : Ссылка обновления TCIMG
Справка: TCIMG ONLINE

'=============================== Спасибо ================================
Выражаю искреннюю благодарность всем, кто напрямую или косвенно помогал и повлиял на развитие проекта, отдельное спасибо: Loopback, LonerD, GGG8, ХарВик, shveicar, Yashied, asmadeus, amel27, madmasles, CreatoR, Ward, thesittingbull, Metchnik, InnI, wakillon, Yaroslav, Abel11, chip642, Deus-V, inververs, sims, BezDNaU, Veosys, getaumy, UEZ, homer77, wpitty, JKT, vakula, boriska, =BD=, G.Sandler, Mrakobes, mopodede, Skif_off, wpitty, Rustamer, wpitty, Mchoff, iifoks447, Andarin, oshizelly, Egorkaru, coherent, Атос, yug78, vanhallen, mopodede, Афи, Axel, addhaloka, Matros, Finn, Aleks431, Zmy, Паразит, TarasBY, Userrr, Jury Abel', VikTor1985, HA3APET, alexxxxx, konuk2007, Lupo73, Prog@ndy, Avada, monoceres, авторам библиотеки MediaInfo, авторам Carl Worth и Behdad Esfahbod библиотек Cairo, авторам библиотеки librhash, авторам библиотеки Bass, авторам библиотеки FFmpeg, автору Zenden за утилиту ImgUpload, Slava10779, maK, zep, Rako1, zzzten, Nuker-Hoax, regist123, shusler, sibirnik, Romario, Lord_NEVR, Ли Чжицзюнь (李志军), ruizone (瑞), alexostrov, CaptainFlint, Thomasmolover, eukalyptus, Tuape, Helpmister, NIKZZZZ, smit0966, rediffusion, zybrevl, Rioran, I95, Vimann, And000010, VasRoman, MonarchLFV, jktgeorge, Mario Arhivario, Songbird, Malkey, Placetoload, ziabriev, Antonij72, weaponx, Angelfuze, Pendelgrast, smit0966, Jacob, Rakosvist, Karbucho, Karolinka69, SLIM, ogenry, VladMo, jentoso, Kindom, Megakrok, Altruumann, vaskamy, Alizadombej, Krasovskii, Kurolesova, Svetka99, AkulaBig, Proudhawk, Yymn7, vruzin, Xprajs, Danyfirex, Party Hu, Lost Zombie, derrikF, Karabush, aorist, o2candoo, goog0le, P8gonyajlo, destiny child, Alex Penguin, Broken_Brain, rupinskiy, FedorLashchenko, destiny_child, JenTOSO, моим близким друзьям и родственникам: одним спасибо, что поддерживали, другим - за то, что не мешали!
'=======================================================================
TCIMG - утилита для вызова различных команд Total Commander и выполнения дополнительных действий.
Мощное средство для расширения функциональности Total Commander и других программ.
Направлена на автоматизацию монотонных действий, связанных с файловыми, системными, программными, оконными операциями.
Полностью портабельна, т.е. не требует установки и не вносит в реестр или куда-либо ещё дополнительную информацию.
Утилита представляет из себя скомпилированный AutoIt3-скрипт.
Утилиту разрешено распространять только с указанием сайта поддержки: http://tc-image.3dn.ru




Кнопки для TCIMG

Регулярные выражения

Control Viewer - Просмотр информации элементов окна

Страница обновления TCIMG

Как правильно обновлять утилиту TCIMG?



В справке TCIMG.chm более 16.450 примеров применения.

Актуальная версия (бета версии) в последних сообщениях темы

Тема развития справки утилиты

Расширение функционала TCIMG

Помощь и советы ПОДКЛЮЧЕНИЕ ПРОГРАММ и СКРИПТОВ

Для запросов кнопок тема ЗАКАЗ КНОПОК

Дополнительное обсуждение TCIMG на forum.ru-board

Группа в Telegram


Сборки программ, в которых участвует утилита TCIMG, в них так же можно увидеть много интересных примеров:
AkelPad Image - сборка текстового редактора AkelPad (автор Andrey_A)
TC IMAGE - сборка файлового менеджера Total Commander (автор Andrey_A)
TC VIM - сборка файлового менеджера Total Commander (автор Matros)
TC Universal Edition - сборка файлового менеджера Total Commander (авторы Yaroslav & asmadeus)
TC Hot-Shot - сборка файлового менеджера Total Commander (автор ice_daemon)
TC Titan Portable - сборка файлового менеджера Total Commander (автор pcDenPro)
TC AkulaBig - сборка файлового менеджера Total Commander (автор AkulaBig)
TCnative - сборка файлового менеджера Total Commander (автор ziabriev)






 
Andrey_AДата: Среда, 19.11.2014, 23:27 | Сообщение № 631
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
Цитата Metchnik ()
В описании наверно ошибка:

Спасибо, поправлю!


 
Andrey_AДата: Четверг, 20.11.2014, 02:47 | Сообщение № 632
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
         E-Mail


...
Может ли Ваша, многоуважаемая утилита создать файлы, чтобы в них записывалась каждая строка отдельно из буфера обмена?
Пытался через цикл, но как разбить по строкам пока не догнал.
Хотелось бы, чтобы к имени LIST_ добавлялся номер строки, без нулей.
...
Василий Е.



Можно, с дуру в буфер заправил более 15.000 строк и выявились небольшие проблемы с многократным обновлением панели... подправил.

Тестовая версия TCIMG 91_b6, в последней версии замените соответствующие файл(ы)

Цитата
Пытался через цикл, но как разбить по строкам...

Буфер обмена и другое содержимое (к примеру файла) можно разбить построчно командой sends со 2-м параметром -1

Создать в активной панели файлы LIST_№.txt с содержимым буфера обмена (каждая строка в отдельном файле)
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
global sends=-1!!-1 forpgs <FOR> 1 <TO> GLOBALSENDS<0> creat="%p"||LIST_:INDEX:.txt||content<GLOBALSENDS<x:INDEX:>> <NEXT> tcimg=$cm540
%COMMANDER_PATH%\Wcmicons.dll,5
Создать в активной панели файлы LIST_№.txt с содержимым буфера обмена (каждая строка в отдельном файле)

0
-1


 
shveicarДата: Четверг, 20.11.2014, 17:04 | Сообщение № 633
Генерал-лейтенант

На сайте с: 18.05.2012
Город: Санкт-Петербург
Сообщений: 562
Награды: 10
Репутация: 23
Всем привет.
Если есть возможность, прошу реализовать в утилите обработку цикла в цикле. Сейчас, сложная команда (например разборка анимированного изображения)
возможно только с одним файлом, так как в ней используется цикл.
например команда для создания рамки с разложением выделенного изображения по кадрам
Доступно только для пользователей

Доступно только для пользователей
для TCIMGU.lng

сейчас она доступна только для одного файла, а хотелось бы обрабатывать сразу несколько.
То есть если выразиться простым языком, то эту команду нужно взять в цикл
Спасибо.


Сообщение отредактировал shveicar - Четверг, 20.11.2014, 17:20
 
asmadeusДата: Четверг, 20.11.2014, 19:58 | Сообщение № 634
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Привет всем!
Необходима правильная последовательность действий в реализации решения. Итак, задача - нужно подготовить список ссылок на картинки для последующей закачки. Ссылки должны помещаться в два разных файла. Как проще реализовать задуманное, чтобы не переключаться постоянно между браузером и редактором? У меня пока слаживается такое решение - вызов меню по горячим кнопкам (после того как ссылка помещена в буфер, а в этом меню -выбор файла, куда поместить ссылку? Или есть что попроще?
 
Andrey_AДата: Четверг, 20.11.2014, 23:03 | Сообщение № 635
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
shveicar, не знаю на счёт реализации вложенных циклов в одном процессе... возможно когда-нибудь...

Но можно в цикле вызвать секцию с многострочными командами:

Тестовая версия TCIMG 91_b8, в последней версии замените соответствующие файл(ы)

[helpquote][+] Добавлены теги ##param1##, ##param2##, .. ##paramN## в параметры вызова многострочных команд $pm, $tm, $sm, $am[/helpquote]

Пример:

Создаём секцию в файле .tcg

Код
[am_Test_Cycles]
imgpr=1 start=FFmpeg||-i||##param1##||-q||1||%TCIMG_TEMP%\Razbor%d.jpg||&&hide||&&wait
shape=V06 exect=$var_qual=##[combo=BOX_V07]||$var_ram=##[combo=BOX_V14]||$var_anim=##[combo=BOX_V19]||$var_cikl=##[combo=BOX_V20]
slist=PS<%TCIMG_TEMP%\!!1!!0!!jpg>||test<1n!!Razbor\d+>||sortnm<2>
<FOR>
   1
<TO>
   GLOBALSLIST<0>
   sends=x||##rndm<3|30>||#Hcrc32|1
   start=Magick||GLOBALSLIST<:INDEX:>||-mattecolor||$var_ram||-frame||10x10+3+3||-normalize||-quality||$var_qual||%TCIMG_TEMP%\sbor_:INDEX:.png ||&&hide||&&wait
<NEXT>
slist=PS<%TCIMG_TEMP%\!!1!!0!!png>||test<1n!!sbor_\d+>||formt<sps34,sps35>||sortnm<2>
start=Magick||-delay||$var_anim||GLOBALSLIST<1>||-normalize||-auto-level||-layers||OptimizeFrame||-loop||$var_cikl||"##param2##Anime-Frame-$ var_ram-GLOBALSENDS<1>".gif||&&hide||&&wait pause=500 tempxx


Вызов:

Код
imgpr=1 global slist=%L <FOR> 1 <TO> GLOBALSLIST<0> tcimg=$amam_Test_Cycles||GLOBALSLIST<:INDEX:>||"%p" <NEXT>


Комментарий:

1. При вызове команд $pm, $tm, $sm, $am могут быть переданы необходимые данные (кроме массивов) в многострочную команду

tcimg=$amam_Test_Cycles||param1||param2|| ... ||paramN

в данном случае:

Код
tcimg=$amam_Test_Cycles||GLOBALSLIST<:INDEX:>||"%p"

Передаётся путь файла (param1) и путь активной панели (param2)

2. В многострочной команде в тех местах ком. строки, где необходимо их получить прописываем теги ##param1##, ##param2##, .. ##paramN##

В данном случае в 1-й и в последней строке

[am_Test_Cycles]
imgpr=1 start=FFmpeg||-i||##param1##...
...

...##param2##Anime-Frame-$var_ram-GLOBALSENDS<1>".gif||&&hide||&&wait pause=500 tempxx


 
shveicarДата: Четверг, 20.11.2014, 23:55 | Сообщение № 636
Генерал-лейтенант

На сайте с: 18.05.2012
Город: Санкт-Петербург
Сообщений: 562
Награды: 10
Репутация: 23
Andrey_A
Спасибо, принцип ясен. Конечно это полностью не решает проблему, (нельзя вынести вызов shape с окнами из цикла, так что бы окно появлялось в самом начале один раз)
то есть вариант с Доступно только для пользователей не срабатывает
но это лучше чем ничего. Буду разбираться.



Сообщение отредактировал shveicar - Пятница, 21.11.2014, 12:36
 
Andrey_AДата: Пятница, 21.11.2014, 04:07 | Сообщение № 637
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
asmadeus, по ответу на заданный запрос:
Нужны дополнительные данные:
- сами картинки откуда они берутся?
- закачивать куда?
- 2 файла... что в них должно быть?


 
asmadeusДата: Пятница, 21.11.2014, 08:50 | Сообщение № 638
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Andrey_A, по вопросу:
-я путешествую по интернету, нахожу фото аверса и реверса монеты
-копирую ссылки на изображения, чтобы потом закачать все одним махом такой командой
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\Tcimg\TCIMG.exe
downl="%t"||%P%N
Wcmicons.dll,5
Закачать из списка ссылок в другую панель

-1

-в файлах и должны быть ссылки эти - в одном файле аверсы, в другом реверсы - закачиваться будут тоже в две папки.
Вроде так. Сама закачка работает классно, напрягает именно переключение между окнами браузера и акела (а в акеле еще и переключение между двумя файлами)
 
Andrey_AДата: Суббота, 22.11.2014, 19:50 | Сообщение № 639
Генералиссимус

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

Тогда зачем создавать файл с 2-мя ссылками... если потом он не нужен, а ссылки нужны в двух отдельных файлов

[+] Добавлена новая команда downh - закачивает ссылку (во 2-м параметре прописывается ссылка)

Тестовая версия TCIMG 91_b9, в последней версии замените соответствующие файл(ы)

Я бы решал так:

Скопировал ссылку, нажал

Закачать ссылку в активную панель в папку Avers, где создать тексовый файл со ссылкой
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
global sends=-1 downh="%pAvers\"||GLOBALSENDS<1> creat="%pAvers\"||Avers.txt||content<GLOBALSENDS<1>>
%COMMANDER_PATH%\Wcmicons.dll,1947
Закачать ссылку в активную панель в папку Avers, где создать тексовый файл со ссылкой   

0
-1


Для реверса сделал другую кнопку, и тоже, скопировал ссылку - нажал.

Цитата shveicar ()
не срабатывает

В таком варианте конечно не будет - необходимо переменные $var_qual, $var_ram... передать

Код
tcimg=$amam_Test_Cycles||GLOBALSLIST<:INDEX:>||"%p"||$var_qual||$var_ram...


А в секции am_Test_Cycles заменить их на ##param3##, ##param4## ...


 
Andrey_AДата: Воскресенье, 23.11.2014, 02:02 | Сообщение № 640
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
TCIMG 9.1 от 23.11.2014

Скачать Доступно только для пользователей





 
Andrey_AДата: Среда, 26.11.2014, 05:55 | Сообщение № 641
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
         E-Mail


...
Подскажите как в утилите узнать сколько передано параметров.
Так же хотелось при длинных командах посмотреть как они "разбились" (параметры) - это важно когда много пробелов и кавычек. Вдруг одна кавычка лишняя или наоборот их недостаточно
Спасибо за утилиту - настоящая находка!
ГРЭМ



В утилите, кроме глобальных переменных, которые используют пользователи, есть специальный массив $CmdLine, который содержит параметры командной строки, переданные утилите при запуске.
$CmdLine[0] - число переданных параметров.
Массив $CmdLine является константой и не доступен для изменения размерности или параметров полученных при запуске.

Чтобы просмотреть параметры, необходимо воспользоваться командой exect
Пример: Просмотр параметров командной строки, переданных утилите при запуске
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
exect=_ViewValues($CmdLine)
%COMMANDER_PATH%\Wcmicons.dll,4
Просмотр параметров командной строки, переданных утилите при запуске

0
-1


Просмотр параметров командной строки, переданных утилите при запуске + просмотр количества
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
exect=_ViewValues($CmdLine)||exect=_ViewValues($CmdLine[0]) параметр1 параметр2 параметр3
%COMMANDER_PATH%\Wcmicons.dll,4
Просмотр параметров командной строки, переданных утилите при запуске + просмотр количества

0
-1


Т.е. при тестах командной строки в начало вставляем exect=_ViewValues($CmdLine), после теста убираем

.


 
asmadeusДата: Четверг, 27.11.2014, 18:49 | Сообщение № 642
Генералиссимус

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

Наверное, я не совсем верно высказался. Я просто готовлю список ссылок на закачку, закачиваю в другое время. Использую обычный ярлык с параметром
Код
bufsr=^^||save<"$f06kopilka.txt"!!2!!@CRLF>||upd<1>

за что огромное спасибо участнику форума chip642
В принципе - все устраивает. Подготовил список - в свободное время закачал (100-200 изображений за раз). Саму кнопку закачки допилю позже - с оповещением, прогрессом и удалением файла со ссылками сделаю - и будет красота
 
Andrey_AДата: Понедельник, 01.12.2014, 19:55 | Сообщение № 643
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
         E-Mail



Здравствуйте, Андрей. Понравилась утилита, особенно команда exect, с которой можно писать небольшой скрипт прямо в командной строке TC
(а в большинстве случаев это то, что нужно, чтобы не плодить скрипты...)
Появилось несколько вопросов:
1. Планируется ли внесение в справку остальных команд Autoit с примерами (нужны особенно примеры)
2. Примера такого не нашёл, необходимо в одно из окон ввести текст, но хендл окна не передаётся, в чём может быть ошибка?
Код
exect=$var_h=WinWaitActive('[CLASS:Notepad]')||ControlSend($var_h),'','Edit1','привет')

...
Если нужна помощь, то можете рассчитывать на меня!
Егор H.



Цитата
1. Планируется ли

Да в следующей версии будет добавлено в справку более 100 html - встроенных функций Autoit
Так же тестируется работа с двумерными массивами...

Цитата
в чём может быть ошибка?


[helpquote]з) Переменных различных типов данных.
  • Есть особенности передачи переменных различного типа данных через команду exect.
  • Заключаются они в том, что при передаче через командную строку невозможно точно определить какого типа переменная передает данные.
  • В большинстве случаев это не принципиально, т.к. в основном передаются строковые или числовые данные.
  • Для точной передачи или определения типа данных необходимо воспользоваться командой Eval('имя_переменной').
  • Имя переменной прописывается БЕЗ знака $.
Примеры: [/helpquote]

Ещё выявился нюанс: при передачи пустого значения необходимо прописывать четыре апострофа ''''

Правильный вариант:

Запустить "Блокнот", дождаться активизации и ввести слово "привет"
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
exect=Run('notepad.exe')||$var_h=WinWaitActive('[CLASS:Notepad]')||ControlSend(Eval('var_h'),'''','Edit1','привет')
%COMMANDER_PATH%\Wcmicons.dll,39
Запустить "Блокнот", дождаться активизации и ввести слово "привет"

0
-1


Цитата
Если нужна помощь, то можете рассчитывать на меня!


Каждый может помочь, просто пользуясь утилитой и если будет найдена ошибка - сообщить.

.


 
Andrey_AДата: Понедельник, 01.12.2014, 21:31 | Сообщение № 644
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
Открыл тему TCIMG - Расширение функционала
Часть запросов будут направлены в эту тему. Сами понимаете, что за один день всё не реализуется...
Кроме того, для некоторых идей нужно вдохновение, так что складываем в копилку.
Если Вы не знаете реализовано это или нет, то смело можете писать в тему ЗАКАЗ КНОПОК, если "хотелка" будет реализована не сразу, то сообщение будет перемещено в эту тему.

.


 
Andrey_AДата: Вторник, 02.12.2014, 01:24 | Сообщение № 645
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
Цитата chip642 ()

Код
renms=%L||list<clpget>||rsmart<>||upd<1>

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


Если я правильно понял, то Тестовая версия TCIMG 92_b6, в версии 9.1. замените соответствующие файл(ы)

.


 
Поиск:

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