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

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




Дата выпуска: 18.08.2025
Версия: 35.5
Автор: 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.850 примеров применения.

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

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

Расширение функционала 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Дата: Пятница, 22.11.2019, 01:36 | Сообщение № 3241
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7212
Награды: 144
Репутация: 132
Аверин Андрей
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

TCIMG 26.5 от 22.11.2019

Скачать TCIMG 26.5





.


 
MonarchLFVДата: Пятница, 22.11.2019, 10:51 | Сообщение № 3242
Майор

На сайте с: 04.06.2015
Сообщений: 81
Награды: 1
Репутация: 3
Andrey_A,
Цитата
можно сделать отдельную команду в TCIMG для переключения

Было бы неплохо иметь такую команду, а то команда start действительно не работает из архивов. Хотя пока жить не мешает, очень удобно стало переключать оперативно ТС32-ТС64.
Для себя сделал 2 гоячие клавиши: Alt+Pause - просто перезапустить ТС (restart), а Alt+Shift+Pause - переключить версию ТС 32-64.
 
Andrey_AДата: Пятница, 22.11.2019, 20:34 | Сообщение № 3243
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7212
Награды: 144
Репутация: 132
Аверин Андрей
Цитата
Как округлить число к ближайшему чётному числу

Реализовано в параметрах info "n51", "n52"
Цитата MonarchLFV ()
переключать оперативно ТС32-ТС64

Реализовано в команде tc3264

Тестовая версия TCIMG 266_b1, в версии TCIMG 26.5 замените соответствующие файл(ы)

[helpquote]
[+] Добавлены новые команды
"tc3264"
[+] Оптимизирован функционал параметра info (см. Дополнение №10#n12)
- добавлены режимы "n51", "n52"
[/helpquote]

Последние примеры:
Код

"exect=$var_i=Number(ClipGet())||$var_n=Round($var_i)+Mod(Round($var_i),2)||_ViewValues($var_n)" - если в буфере обмена число нечётное или с плавающей точкой, то округлить его до ближайшего чётного числа в большую сторону
"exect=$var_i=Number(ClipGet())||$var_n=Floor($var_i)-Mod(Floor($var_i),2)||_ViewValues($var_n)" - если в буфере обмена число нечётное или с плавающей точкой, то округлить его до ближайшего чётного числа в меньшую сторону

"tc3264" - перезапускает Total Commander с переключением x32/x64

"sends=@<info=n51|115234|1000> GLOBALSENDS<a>" - округлить в большую сторону до ближайшего целого (кратность 1000)
"sends=@<info=n51|115234|-1000> GLOBALSENDS<a>" - округлить в меньшую сторону до ближайшего целого (кратность 1000)
"sends=@<info=n51|11.5235|2> GLOBALSENDS<a>" - округлить в большую сторону до ближайшего чётного числа
"sends=@<info=n51|11.5235|-2> GLOBALSENDS<a>" - округлить в меньшую сторону до ближайшего чётного числа



.


 
Andrey_AДата: Воскресенье, 24.11.2019, 14:11 | Сообщение № 3244
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7212
Награды: 144
Репутация: 132
Аверин Андрей
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_

Тестовая версия TCIMG 266_b2, в версии TCIMG 26.5 замените соответствующие файл(ы)

[helpquote]
[+] Добавлены новые команды
"tc3264"
[+] Оптимизирован функционал параметра info (см. Дополнение №10#n12)
- добавлены режимы "n51", "n52", "c236", "c237"
[+] В параметр <xfolder> добавлен параметр, позволяющий получать несколько объектов "Number:Count" (см. Дополнение №11)
[+] В команды sends в режим вывода Output добавлен параметр "~0!!RegExp", позволяющий разбивать текст по регулярному выражению
[+] Оптимизирована команда color
- исправлена ошибка при определении цвета (вида #EFC, #B03, 0x003) при Drag & Drop
- добавлен в команду color вывод цвета в формате #WEB, 0xWEB
[±] Исправлена ошибка в команде icoft при извлечении значка из файла
[/helpquote]

Последние примеры:
Код

"exect=$var_i=Number(ClipGet())||$var_n=Round($var_i)+Mod(Round($var_i),2)||_ViewValues($var_n)" - если в буфере обмена число нечётное или с плавающей точкой, то округлить его до ближайшего чётного числа в большую сторону
"exect=$var_i=Number(ClipGet())||$var_n=Floor($var_i)-Mod(Floor($var_i),2)||_ViewValues($var_n)" - если в буфере обмена число нечётное или с плавающей точкой, то округлить его до ближайшего чётного числа в меньшую сторону

"tc3264" - перезапускает Total Commander с переключением x32/x64

"sends=@<info=n51|115234|1000> GLOBALSENDS<a>" - округлить в большую сторону до ближайшего целого (кратность 1000)
"sends=@<info=n51|115234|-1000> GLOBALSENDS<a>" - округлить в меньшую сторону до ближайшего целого (кратность 1000)
"sends=@<info=n51|11.5235|2> GLOBALSENDS<a>" - округлить в большую сторону до ближайшего чётного числа
"sends=@<info=n51|11.5235|-2> GLOBALSENDS<a>" - округлить в меньшую сторону до ближайшего чётного числа

"sends=<xfolder=24:2//"%P">??-1 GLOBALSENDS<a>" - получить 2 новейших файла в текщей папке (первый - самый новый)
"sends=<xfolder=21:2//"%P">??-1 GLOBALSENDS<a>" - получить 2 старейших файла в текщей папке (первый - самый старый)

"sends=aaa_bbb_ccc555zzz??~0!![^_\d]+ GLOBALSENDS<a>" - пример разделения строки по регулярному выражению
"sends=aaa_bbb_ccc555zzz??~0!![^_\d]+|[_\d]+ GLOBALSENDS<a>" - пример разделения строки по регулярному выражению включая разделители в результат
"sends=123456789123456789??~0!!(...)... GLOBALSENDS<a>" - пример разделения строки по регулярному выражению по 3 через раз
"sends=123456789123456789??~0!!(.)(..)(...) GLOBALSENDS<a>" - пример разделения строки по регулярному выражению по 1, 2, 3 символа
"sends=123456??~0!!((((((.).).).).).) GLOBALSENDS<a>" - пример разделения строки по регулярному выражению по уменьшению символов с конца
"sends=ПОБЕДА??~0!!(.(.(.(.(.(.)))))) GLOBALSENDS<a>" - пример разделения строки по регулярному выражению по уменьшению символов с начала
"sends=12345654321??~0!!(.(.(.(.(.(.).).).).).) GLOBALSENDS<a>" - пример разделения строки по регулярному выражению по уменьшению символов с по краям
"sends=%P%N??~0!!(?m)^([^=;]+=.+)$ GLOBALSENDS<a>" - пример получения всех ключей имеющих значения в INI файле под курсором
"sends=%P%N??~0!!(?m)^(\[.+\])$ GLOBALSENDS<a>" - пример получения имен секций в INI файле под курсором
"sends=%P%N??~0!!?U1 GLOBALSENDS<a>" - пример получения всех строк файла под курсором, обрезав каждую до 4-х символов



.


 
shveicarДата: Понедельник, 25.11.2019, 18:50 | Сообщение № 3245
Генерал-лейтенант

На сайте с: 18.05.2012
Город: Санкт-Петербург
Сообщений: 570
Награды: 10
Репутация: 23
Спасибо за новый функционал.
Здорово что такие Большие команды работают без запинки up
[img640]http://s8.hostingkartinok.com/uploads/images/2019/11/00b2661b56adee2ea89e8beb4113ad31.png[/img640]



Сообщение отредактировал shveicar - Понедельник, 25.11.2019, 19:02
 
Andrey_AДата: Понедельник, 25.11.2019, 19:53 | Сообщение № 3246
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7212
Награды: 144
Репутация: 132
Аверин Андрей
Цитата shveicar ()
работают без запинки

shveicar, Ух-ты, никогда не подозревал, что может дорасти до таких листов!
Главное, чтобы работало! И быстро!
За год переписано более сотни функций в сторону скорости... Спасибо всем пользователям, что пользуетесь TCIMG!

.


 
MonarchLFVДата: Вторник, 26.11.2019, 06:01 | Сообщение № 3247
Майор

На сайте с: 04.06.2015
Сообщений: 81
Награды: 1
Репутация: 3
Andrey_A,
Цитата
Реализовано в команде tc3264

Круто, спасибо огромное! good
Хотелось бы пойти дальше - переключение на ТС64 с сохранением: фокуса активной панели, файла под курсором, курсора в панели получателя, восстановление выделения (если оно было). То есть, чтобы для конечного пользователя вообще незаметно проходило переключение.
 
Andrey_AДата: Среда, 27.11.2019, 12:06 | Сообщение № 3248
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7212
Награды: 144
Репутация: 132
Аверин Андрей
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

Тестовая версия TCIMG 266_b5, в версии TCIMG 26.5 замените соответствующие файл(ы)

Описания:

http://tcimg.dreamlair.net/TCIMG_ONLINE/html/html/com_clipb.htm
http://tcimg.dreamlair.net/TCIMG_ONLINE/html/html/com_sends.htm
http://tcimg.dreamlair.net/TCIMG_ONLINE/html/html/com_tc3264.htm

Последние изменения:

[helpquote]
[+] Добавлены новые команды
"tc3264"
"clipb"
[+] Оптимизирован функционал параметра info (см. Дополнение №10#n12)
- добавлены режимы "n51", "n52", "c236", "c237"
[+] В параметр <xfolder> добавлен параметр, позволяющий получать несколько объектов "Number:Count" (см. Дополнение №11)
[+] В команды sends в режим вывода Output добавлен параметр "~0!!RegExp", позволяющий разбивать текст по регулярному выражению
[+] Оптимизирована команда color
- исправлена ошибка при определении цвета (вида #EFC, #B03, 0x003) при Drag & Drop
- добавлен в команду color вывод цвета в формате #WEB, 0xWEB
[±] Исправлена ошибка в команде icoft при извлечении значка из файла
[±] Исправлена ошибка в команде exics при передачи информации в глобальные переменные
[/helpquote]

Последние примеры:
Код

"exect=$var_i=Number(ClipGet())||$var_n=Round($var_i)+Mod(Round($var_i),2)||_ViewValues($var_n)" - если в буфере обмена число нечётное или с плавающей точкой, то округлить его до ближайшего чётного числа в большую сторону
"exect=$var_i=Number(ClipGet())||$var_n=Floor($var_i)-Mod(Floor($var_i),2)||_ViewValues($var_n)" - если в буфере обмена число нечётное или с плавающей точкой, то округлить его до ближайшего чётного числа в меньшую сторону

"tc3264" - перезапускает Total Commander с переключением x32/x64

"sends=@<info=n51|115234|1000> GLOBALSENDS<a>" - округлить в большую сторону до ближайшего целого (кратность 1000)
"sends=@<info=n51|115234|-1000> GLOBALSENDS<a>" - округлить в меньшую сторону до ближайшего целого (кратность 1000)
"sends=@<info=n51|11.5235|2> GLOBALSENDS<a>" - округлить в большую сторону до ближайшего чётного числа
"sends=@<info=n51|11.5235|-2> GLOBALSENDS<a>" - округлить в меньшую сторону до ближайшего чётного числа

"sends=<xfolder=24:2//"%P">??-1 GLOBALSENDS<a>" - получить 2 новейших файла в текущей папке (первый - самый новый)
"sends=<xfolder=21:2//"%P">??-1 GLOBALSENDS<a>" - получить 2 старейших файла в текущей папке (первый - самый старый)

"sends=aaa_bbb_ccc555zzz??~0!![^_\d]+ GLOBALSENDS<a>" - пример разделения строки по регулярному выражению
"sends=aaa_bbb_ccc555zzz??~0!![^_\d]+|[_\d]+ GLOBALSENDS<a>" - пример разделения строки по регулярному выражению включая разделители в результат
"sends=123456789123456789??~0!!(...)... GLOBALSENDS<a>" - пример разделения строки по регулярному выражению по 3 через раз
"sends=123456789123456789??~0!!(.)(..)(...) GLOBALSENDS<a>" - пример разделения строки по регулярному выражению по 1, 2, 3 символа
"sends=123456??~0!!((((((.).).).).).) GLOBALSENDS<a>" - пример разделения строки по регулярному выражению по уменьшению символов с конца
"sends=ПОБЕДА??~0!!(.(.(.(.(.(.)))))) GLOBALSENDS<a>" - пример разделения строки по регулярному выражению по уменьшению символов с начала
"sends=12345654321??~0!!(.(.(.(.(.(.).).).).).) GLOBALSENDS<a>" - пример разделения строки по регулярному выражению по уменьшению символов с по краям
"sends=%P%N??~0!!(?m)^([^=;]+=.+)$ GLOBALSENDS<a>" - пример получения всех ключей имеющих значения в INI файле под курсором
"sends=%P%N??~0!!(?m)^(\[.+\])$ GLOBALSENDS<a>" - пример получения имен секций в INI файле под курсором
"sends=%P%N??~0!!?U1 GLOBALSENDS<a>" - пример получения всех строк файла под курсором, обрезав каждую до 4-х символов

"clipb=D:\Name.txt||g1||24" - для строк небольшого текстового файла создать окно с кнопками для записи их в буфер обмена (горизонтальное распределение, размер кнопок 24)
"clipb=D:\Name.txt||v1||32" - для строк небольшого текстового файла создать окно с кнопками для записи их в буфер обмена (вертикальное распределение, размер кнопок 32)
"clipb=%WL||v2||60x32||5|5||FFFFFF||set<Path~~#>" - для выделенных объектов создать окно с кнопками для записи путей в буфер обмена (вертикальное распределение, размер кнопок 32)



Скрины команды clipb





.


 
MonarchLFVДата: Четверг, 28.11.2019, 11:15 | Сообщение № 3249
Майор

На сайте с: 04.06.2015
Сообщений: 81
Награды: 1
Репутация: 3
Всем доброго времени суток!
Пытаюсь написать код на кнопку - экранная линейка, в общем суть такая: по долгу службы приходится часто определять размеры объектов на фотографии, заведомо зная какой-то один размер (например высоту здания, зная размер окна).
Постоянно приходится масштабировать в графических программах, но было бы круто прям на фото в соседней панели ТС (ctr+Q) нажав на кнопку: кликнуть мышкой в первой точке (например верх окна) и записать координаты x1 и y1, далее кликнуть еще и получить x2 и y2 (например низ окна). Далее вычесть по модулю и получить дельты dx и dy, далее с помощью Пифагора получить длину отрезка (=SQRT(dx^2+dy^2)). Далее сказать, что этот полученный отрезок напрмер в 120 пикселей - это есть 1000 мм, то есть получить коэффициент масштаба (=1000/120). И далее, применяя этот коэффициент, можно будет измерять любые объекты на фото, кликая также мышкой (понятно, что весьма приблизительно, с учетом искажений фото и перспективы).
Задача достаточно сложная. Пока в самом начале, но уже ничего не получается:
Код
<PRESS=12,01> exect=$var_x1=MouseGetPos(0) exect=$var_y1=MouseGetPos(1) <PRESS=12,02> exect=$var_x2=MouseGetPos(0) exect=$var_y2=MouseGetPos(1) exect=$var_dx=ABS($var_x1-$var_x2)||_ViewValues($var_dx) <PRESS=1B> :EXIT:

Может кто захочет озадачиться :D


Сообщение отредактировал MonarchLFV - Пятница, 29.11.2019, 03:42
 
Andrey_AДата: Четверг, 28.11.2019, 12:26 | Сообщение № 3250
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7212
Награды: 144
Репутация: 132
Аверин Андрей
Цитата MonarchLFV ()
Хотелось бы пойти дальше - переключение на ТС64 с сохранением: фокуса активной панели, файла под курсором, курсора в панели получателя, восстановление выделения (если оно было). То есть, чтобы для конечного пользователя вообще незаметно проходило переключение


Вы сами можете сами контролировать что запоминать до перезапуска и что восстанавливать, добавил команды

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

Один из примеров:

Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
sends=@<info=x*1,20,42,30,21,43,31*@CRLF*>??-2 tc3264 gotoc=0||GLOBALSENDS<2> markn=0||GLOBALSENDS<3> posin=0||GLOBALSENDS<4> gotoc=1||GLOBALSENDS<5> markn=1||GLOBALSENDS<6> posin=1||GLOBALSENDS<7> focus=GLOBALSENDS<1>
%COMMANDER_PATH%\Wcmicons.dll,1
Перезапустить Total Commander с переключением x32/x64 с сохранением позиций курсора, выделения,  позиции горизонтальных прокруток в обеих панелях

0
-1


Описания:

http://tcimg.dreamlair.net/TCIMG_ONLINE/html/html/com_focus.htm
http://tcimg.dreamlair.net/TCIMG_ONLINE/html/html/com_gotoc.htm
http://tcimg.dreamlair.net/TCIMG_ONLINE/html/html/com_markn.htm
http://tcimg.dreamlair.net/TCIMG_ONLINE/html/html/com_posin.htm

[helpquote]
[+] Добавлены новые команды
"tc3264"
"clipb"
"markn"
"gotoc"
"focus"
"posin"
[+] Оптимизирован функционал параметра info (см. Дополнение №10#n12)
- добавлены режимы "n51", "n52", "c236", "c237"
- добавлена конструкция *SymbolLines*Delimeter*
[+] В параметр добавлен параметр, позволяющий получать несколько объектов "Number:Count" (см. Дополнение №11)
[+] В команды sends в режим вывода Output добавлен параметр "~0!!RegExp", позволяющий разбивать текст по регулярному выражению
[+] Оптимизирована команда color
- исправлена ошибка при определении цвета (вида #EFC, #B03, 0x003) при Drag & Drop
- добавлен в команду color вывод цвета в формате #WEB, 0xWEB
[±] Исправлена ошибка в команде icoft при извлечении значка из файла
[±] Исправлена ошибка в команде exics при передачи информации в глобальные переменные
[+] В команду rstart добавлена дополнительная активация окна (передача фокуса после перезапуска)
[/helpquote]

Последние примеры:
Код

"clipb=D:\Name.txt||g1||24" - для строк небольшого текстового файла создать окно с кнопками для записи их в буфер обмена (горизонтальное распределение, размер кнопок 24)
"clipb=D:\Name.txt||v1||32" - для строк небольшого текстового файла создать окно с кнопками для записи их в буфер обмена (вертикальное распределение, размер кнопок 32)
"clipb=%WL||v2||60x32||5|5||FFFFFF||set<Path~~#>" - для выделенных объектов создать окно с кнопками для записи путей в буфер обмена (вертикальное распределение, размер кнопок 32)

"gotoc=0||5" - в левой панели установить курсор на 5-й объект
"gotoc=1||-1" - в правой панели установить курсор на последний объект
"gotoc=2||10" - в активной панели установить курсор на 10-й объект
"gotoc=4||10" - в обеих панелях установить курсор на 10-й объект
"gotoc=4||-2" - в обеих панелях установить курсор на предпоследний объект

"posin=0||-1" - установить в левой панели вертикальную прокрутку на нижнюю позицию
"posin=0||1" - установить в левой панели вертикальную прокрутку на первую позицию

"focus=0" - переход в левую панель Total Commander
"focus=1" - переход в правую панель Total Commander

"markn=0||1,5,8" - выделить в левой панели заданные позиции объектов
"markn=1||1,5,8" - выделить в правой панели заданные позиции объектов

"markn=2||1:5,-5:-1" - выделить в активной панели 5 объектов сверху и 5 объектов снизу
"markn=2||1:5,-5:-1||mshoot<>" - снять выделение в активной панели с 5-ти объектов сверху и с 5-ти объектов снизу

"hends=<info=x44>??-8, markn=3||$GLOBALHENDS" - выделить в другой панели такие же позиции объектов, как и в активной панели
"hends=<info=x44> markn=3||GLOBALHENDS<1>" - выделить в другой панели такие же позиции объектов, как и в активной панели
"markn=3||<info=x44>" - выделить в другой панели такие же позиции объектов, как и в активной панели

"markn=4||1,5,8" - выделить в обеих панелях заданные позиции объектов

"sends=@<info=x*1,20,42,21,43*@CRLF*>??-2 GLOBALSENDS<a>" - получить заданную информацию Total Commander
"sends=@<info=x*1,20,42,21,43*@CRLF*>??-2 tc3264 gotoc=0||GLOBALSENDS<2> markn=0||GLOBALSENDS<3> gotoc=1||GLOBALSENDS<4> markn=1||GLOBALSENDS<5> focus=GLOBALSENDS<1>" - перезапустить Total Commander с переключением x32/x64 с сохранением позиций курсора, выделения в обеих панелях

"sends=@<info=x*1,20,42,30,21,43,31*@CRLF*>??-2 GLOBALSENDS<a>" - получить заданную информацию Total Commander
"sends=@<info=x*1,20,42,30,21,43,31*@CRLF*>??-2 tc3264 gotoc=0||GLOBALSENDS<2> markn=0||GLOBALSENDS<3> posin=0||GLOBALSENDS<4> gotoc=1||GLOBALSENDS<5> markn=1||GLOBALSENDS<6> posin=1||GLOBALSENDS<7> focus=GLOBALSENDS<1>" - перезапустить Total Commander с переключением x32/x64 с сохранением позиций курсора, выделения,  позиции горизонтальных прокруток в обеих панелях
"sends=@<info=x*1,20,42,30,21,43,31,50*@CRLF*>??-2 tc3264 tcprm=OPENBAR~~''GLOBALSENDS<8>'' gotoc=0||GLOBALSENDS<2> markn=0||GLOBALSENDS<3> posin=0||GLOBALSENDS<4> gotoc=1||GLOBALSENDS<5> markn=1||GLOBALSENDS<6> posin=1||GLOBALSENDS<7> focus=GLOBALSENDS<1>" - перезапустить Total Commander с переключением x32/x64 с сохранением позиций курсора, выделения, позиции горизонтальных прокруток в обеих панелях и активной панели инструментов
"sends=@<info=x*1,20,42,30,21,43,31,50*@CRLF*>??-2 rstart tcprm=OPENBAR~~''GLOBALSENDS<8>'' gotoc=0||GLOBALSENDS<2> markn=0||GLOBALSENDS<3> posin=0||GLOBALSENDS<4> gotoc=1||GLOBALSENDS<5> markn=1||GLOBALSENDS<6> posin=1||GLOBALSENDS<7> focus=GLOBALSENDS<1>" - перезапустить Total Commander с сохранением позиций курсора, выделения, позиции горизонтальных прокруток в обеих панелях и активной панели инструментов

"sends=@<info=x*;1;20;42;30;21;43;31;50;50|1*@CRLF*>??-2 GLOBALSENDS<a>" - получить заданную информацию Total Commander



.


 
Andrey_AДата: Суббота, 30.11.2019, 07:18 | Сообщение № 3251
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7212
Награды: 144
Репутация: 132
Аверин Андрей
Цитата MonarchLFV ()
Может кто захочет озадачиться

Посмотрю, что можно сделать, но это не сработает, т.к. PRESS запускает команды в отдельном процессе и $var_x1 и $var_x2 никогда не встретятся.
Код
<PRESS=12,01> exect=$var_x1= ... <PRESS=12,02> exect=$var_x2= ...


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

TCIMG 26.6 от 30.11.2019

Скачать TCIMG 26.6





.


 
MonarchLFVДата: Понедельник, 02.12.2019, 03:57 | Сообщение № 3252
Майор

На сайте с: 04.06.2015
Сообщений: 81
Награды: 1
Репутация: 3
Andrey_A, спасибо за tc3264 с сохранением состояния панелей, курсора и т.п. круто получилось!
Цитата
PRESS запускает команды в отдельном процессе и $var_x1 и $var_x2 никогда не встретятся.

Может тогда эти переменные во временные файлы записывать? Но почему-то не работает команда
Код
exect=$var_a=MouseGetPos(0) asave=var_a||"%px1.txt"|1

хотя работает код, сохраняющий обе координаты в файл:
Код
exect=$var_a=MouseGetPos() asave=var_a||"%px1.txt"|1


Сообщение отредактировал MonarchLFV - Понедельник, 02.12.2019, 04:50
 
Andrey_AДата: Вторник, 03.12.2019, 00:13 | Сообщение № 3253
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7212
Награды: 144
Репутация: 132
Аверин Андрей
Цитата MonarchLFV ()
почему-то не работает команда

Она записывает только массивы, для обычного текста есть команда creat

Цитата MonarchLFV ()
Пытаюсь написать код на кнопку - экранная линейка


Добавил команду xypos, возвращает X и Y левого верхнего угла, X и Y правого нижнего угла и ширину с высотой в GLOBALXYPOS

Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
xypos=x GLOBALXYPOS<a>
%COMMANDER_PATH%\Wcmicons.dll,1
Получение координат выбранной области

0
-1


Тестовая версия TCIMG 267_b4, в версии TCIMG 26.6 замените соответствующие файл(ы)

[helpquote]
30.11.2019 [26.7]
[±] Исправлена ошибка в отображении переменных в GLOBALEXECT<$var_array>
[+] Оптимизирован функционал параметра info (см. Дополнение №10#n98)
- в режимах "x98", ..., "x101" исправлена ошибка
[+] Оптимизирована команда infos
- в режим "3||15" (PDF) добавлена дополнительная информация: Linearized
--- ускорено получение информации из больших файлов
- добавлен режим "infos=6||1"
[+] В UDF функцию _ArrayDisplay() добавлены возможность устанавливать различные значки для заголовка колонок Header,N
[+] Добавлены новые команды
"xypos"
- в TCIMG_Russian.lng в ключ Translite6 добавлено описание
[/helpquote]

Последние примеры:
Код

"infos=6||1" - таблица форматов стандартизованных размеров бумажного листа

"xypos=x GLOBALXYPOS<a>" - получение координат выбранной области


.


 
MonarchLFVДата: Вторник, 03.12.2019, 10:26 | Сообщение № 3254
Майор

На сайте с: 04.06.2015
Сообщений: 81
Награды: 1
Репутация: 3
Andrey_A, новая команда xypos очень хорошая, но она больше для других целей - создания скриншотов.
Но еще нужно получить количество пикселей и умножить на коэффициент масштаба.
Примерно как здесь: GIF

То есть высота антенны на фото 59 пикселей, зная ее реальный размер 2 м, можем получить высоту мачты 334 пикселя (=334*2/59 = примерно 11,3м).
Но для каждого обмера постоянно геморройно считать, возможно ли один раз указать коэффициент масштаба и постоянно программа на него будет умножать?

И может получится добавить линию, а не полигон, так как на фото изображение может быть немного наклоненым. Было бы классно измерять, как инструментом линейка в ГИС программах (Google Earth например), только с запросом изначального размера. Клик мышкой - начало линии, клик еще раз - конец линии, далее запрос на ввод заведомо известного размера этой линии (один раз на сессию до ESC) и далее другими линиями получать уже не пиксели, а пересчитанные размеры.
Как все это воплотить пока представления не имею, если у вас будет время, может посмотрите?
PS. Спасибо за вашу утилиту и время, которое вы тратите на разработку нового функционала! Утилита просто незаменимая, в связке с ТС - я БОГ на своем ПК
 
Andrey_AДата: Вторник, 03.12.2019, 16:59 | Сообщение № 3255
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7212
Награды: 144
Репутация: 132
Аверин Андрей
Цитата MonarchLFV ()
То есть высота антенны на фото 59 пикселей, зная ее реальный размер 2 м, можем получить высоту мачты 334 пикселя


Добавил: по нажатию "ПРОБЕЛА" в полигоне идёт запись в переменные GLOBALXYPOS1, GLOBALXYPOS2, ...
Добавил: в 7-ю ячейку гипотенузу
[ps]
Далее вы сами оперируете данными и математическими действиями, вставляя нужное в exect ..., диалог с костантой вы тоже можете организовать...
GLOBALXYPOS<1>, GLOBALXYPOS<2>, ... , GLOBALXYPOS<7>
GLOBALXYPOS1<1>, GLOBALXYPOS1<2>, ... , GLOBALXYPOS1<7>
GLOBALXYPOS2<1>, GLOBALXYPOS2<2>, ... , GLOBALXYPOS2<7>[/ps]

Цитата chip642 ()
Хотелось бы убрать в команде watch кнопку/кнопки...


Реализовано: Тестовая версия TCIMG 267_b5, в версии TCIMG 26.6 замените соответствующие файл(ы)

[helpquote]
[±] Исправлена ошибка в отображении переменных в GLOBALEXECT<$var_array>
[+] Оптимизирован функционал параметра info (см. Дополнение №10#n98)
- в режимах "x98", ..., "x101" исправлена ошибка
[+] Оптимизирована команда infos
- в режим "3||15" (PDF) добавлена дополнительная информация: Linearized
--- ускорено получение информации из больших файлов
- добавлен режим "infos=6||1"
[+] В UDF функцию _ArrayDisplay() добавлены возможность устанавливать различные значки для заголовка колонок Header,N
[+] Добавлены новые команды
"xypos"
- добавлены глобальные переменные GLOBALXYPOS, GLOBALXYPOS1, GLOBALXYPOS2, ...
- в TCIMG_Russian.lng в ключ Translite6 добавлено описание
[±] Исправлена ошибка в команде infow
[+] Оптимизирована команда watch
- в секцию [Watch] добавлен ключ ColorTextPause
- добавлен параметр delbut<>
[/helpquote]

Последние примеры:
Код

"infos=6||1" - таблица форматов стандартизованных размеров бумажного листа

"xypos=1 GLOBALXYPOS<a>" - получение координат выбранной области
"xypos=0 GLOBALXYPOS<a>" - получение координат выбранной области (без zoom)

"xypos=0 GLOBALXYPOS<a> GLOBALXYPOS1<a> GLOBALXYPOS2<a>" - получение координат выбранных областей (при нажатии ПРОБЕЛА)
"xypos=0 GLOBALXYPOS<a> GLOBALXYPOS1<a> GLOBALXYPOS2<a> exect=$var_i=Round(GLOBALXYPOS1<7>*2/59,2)||_ViewValues($var_i)" - пример получения координат выбранных областей (при нажатии ПРОБЕЛА) и вычисление данных

"watch=0||countdown<20s>||delbut<1>" - запустить секундомер с обратным отсчётом на 20 секунд (окно таймера без дополнительных кнопок)
"watch=3||delbut<2> pause=3s watch=24" - запустить секундомер, через 3 секунды остановить (окно таймера без кнопки для буфера обмена)



.


 
Поиск:

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