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

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7187
Награды: 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Дата: Среда, 27.11.2019, 12:06 | Сообщение № 3256
Генералиссимус

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

Тестовая версия 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 | Сообщение № 3257
Майор

На сайте с: 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 | Сообщение № 3258
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7187
Награды: 143
Репутация: 125
Аверин Андрей
Цитата 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 | Сообщение № 3259
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7187
Награды: 143
Репутация: 125
Аверин Андрей
Цитата 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 | Сообщение № 3260
Майор

На сайте с: 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 | Сообщение № 3261
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7187
Награды: 143
Репутация: 125
Аверин Андрей
Цитата 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 | Сообщение № 3262
Майор

На сайте с: 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 | Сообщение № 3263
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7187
Награды: 143
Репутация: 125
Аверин Андрей
Цитата 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 секунды остановить (окно таймера без кнопки для буфера обмена)



.


 
MatrosДата: Вторник, 03.12.2019, 22:39 | Сообщение № 3264
Генералиссимус

На сайте с: 03.03.2012
Город: Ставрополь
Сообщений: 2025
Награды: 167
Репутация: 95
Andrey_A, у некоторых пользователей,в силу их неопытности, иногда не установлены библиотеки Microsoft Visual C++... Redistributable
возможно ли средствами TCIMG добавить в функционал параметра info проверку на наличие этих библиотек...(особенно каких нужных для нормальной работы TCIMG)
возвращает 0 - не установлены
возвращает 1 - установлены
Ведь некоторые команды не работают без этих библиотек
Спасибо



Всё приходящее,а музыка Вечна !
 
Andrey_AДата: Вторник, 03.12.2019, 23:25 | Сообщение № 3265
Генералиссимус

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

Matros, Первый раз такое слышу..

Я дополнительно в систему ничего не устанавливаю - она как есть + 2-3 программы и кодеки. У меня ничего такого типа Microsoft Visual C++... Redistributable не установлено, никаких специальных пакетов DLL не установлено.

1. Если нужны специальные DLL, которые требуются в каких-то командах, то про них написано в самих командах... и они записываются в TCIMG.ini в секции [DLL]

Где их скачать известно: http://tcimg.dreamlair.net/TCIMG_ONLINE.html

2. Если что не работает - надо смотреть конкретную команду.

Если со стандартными системными DLL проблемы (типа user32.dll, kernel32.dll, setupapi.dll, comdlg32.dll, gdiplus.dll, gdi32.dll ... ), то в 90% случаях - это "обрезанная" Windows, где что-то сборщик убрал, (к примеру LiveCD, где убрано все, даже простые vbs не работают...)

Нужна конкретная команда...

Цитата Matros ()
у некоторых пользователей,в силу их неопытности


В сборке они есть, значит все должно работать, остальное, я так подозреваю, проблемы с системой, кто-то ещё и на XP "сидит"

---------------

О проверке можно подумать и добавить, если какая-то DLL не подгружается то выдавать сообщение...

.


 
MatrosДата: Среда, 04.12.2019, 00:29 | Сообщение № 3266
Генералиссимус

На сайте с: 03.03.2012
Город: Ставрополь
Сообщений: 2025
Награды: 167
Репутация: 95
Andrey_A, я предоставлю команды которые не работают без библиотек...[они точно имеются]
хотел сам реализовать по принципу присутствия ... искал, нашёл, в папке %ALLUSERSPROFILE%\Package Cache
если имеются то установлены
короче,если это поможет,у меня не срослось с пробелом в имени папки...
ещё короче ,если эта папка существует,значит,надо полагать и библиотеки в системе присутствуют...



Всё приходящее,а музыка Вечна !
 
Andrey_AДата: Среда, 04.12.2019, 00:37 | Сообщение № 3267
Генералиссимус

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

.


 
MatrosДата: Среда, 04.12.2019, 00:54 | Сообщение № 3268
Генералиссимус

На сайте с: 03.03.2012
Город: Ставрополь
Сообщений: 2025
Награды: 167
Репутация: 95
Andrey_A, если имеется в наличии моя крайняя сборка, то просто попробуй установить проги (как я рекомендую) с установленной в системе Visual C++
и без неё... всё будет понятно
и ясно какая команда
мы даже и не предполагаем



Всё приходящее,а музыка Вечна !
 
Andrey_AДата: Среда, 04.12.2019, 01:13 | Сообщение № 3269
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7187
Награды: 143
Репутация: 125
Аверин Андрей
Matros, к сожалению нет времени на установку и ..., кроме этого 550 команд и к ним тысячи параметров не осилить - это месяца 4 тестировать. Поэтому выявлять будем опытным путём (не работает - сообщаем..), и добавлю отдельную команду для тестирования всех DLL которые могут входить в команды... а там посмотрим что с этим делом деать
... повторюсь - ничего специально не устанавливал в систему, возможно это идёт с пакетом системы или с драйверами..
У меня Windows 7 SP1 Ultimate|6.1 (Build 7601)
В папке есть такое C:\ProgramData\Package Cache\:
Код
C:\ProgramData\Package Cache\{49697869-be8e-427d-81a0-c334d1d14950}\state.rsm
C:\ProgramData\Package Cache\{49697869-be8e-427d-81a0-c334d1d14950}\VC_redist.x86.exe
C:\ProgramData\Package Cache\{c6c5a357-c7ca-4a5f-9789-3bb1af579253}\state.rsm
C:\ProgramData\Package Cache\{c6c5a357-c7ca-4a5f-9789-3bb1af579253}\LauncherPrereqSetup_x64.exe
C:\ProgramData\Package Cache\{213668DB-2263-4E2D-ABB8-487FD539130E}v14.21.27702\packages\vcRuntimeAdditional_x86\vc_runtimeAdditional_x86.msi
C:\ProgramData\Package Cache\{213668DB-2263-4E2D-ABB8-487FD539130E}v14.21.27702\packages\vcRuntimeAdditional_x86\cab1.cab
C:\ProgramData\Package Cache\{19F7E289-17B8-44EC-A099-927507B6F739}v14.21.27702\packages\vcRuntimeMinimum_x86\vc_runtimeMinimum_x86.msi
C:\ProgramData\Package Cache\{19F7E289-17B8-44EC-A099-927507B6F739}v14.21.27702\packages\vcRuntimeMinimum_x86\cab1.cab
C:\ProgramData\Package Cache\{66C5838F-B854-4A55-89E6-A6138747A4DF}v1.0.0.0\LauncherPrereqSetup_x64.msi
C:\ProgramData\Package Cache\54050A5F8AE7F0C56E553F0090146C17A1D2BF8D\packages\Patch\x64\Windows6.1-KB2999226-x64.msu


.


 
Andrey_AДата: Среда, 04.12.2019, 04:46 | Сообщение № 3270
Генералиссимус

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

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

Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
infos=7||1
%COMMANDER_PATH%\Wcmicons.dll,1
Проверить существование DLL библиотек, используемых в TCIMG (0 - нет в системе, -1 - путь не найден)

0
-1


В секции [DLL]
Если -1, то это каждый пользователь поправить может, скачав нужную библиотеку отсюда http://tcimg.dreamlair.net/TCIMG_ONLINE.html и прописать путь в TCIMGU.ini в секции [DLL]
(Если есть желание использовать соответствующие команды, связанные с библиотекой ...dll)

Если 0 в системных библиотеках - пишите, будем посмотреть что можно сделать.

ЖЕЛАТЕЛЬНО ПРОВЕРИТЬ ВСЕМ



.


 
Поиск:

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