Аналитика
https://geosystema.net/forum/

Все про скрипти
https://geosystema.net/forum/viewtopic.php?f=1&t=2809
Страница 75 из 83

Автор:  fendak [ 15 дек 2020 13:05 ]
Заголовок сообщения:  Re: Все про скрипти

Тобто, Ви колір в панелі поставили просто вручну додавши у файл tlb тег Background= ?
В константах (Сервіс-Налашутвання) я перевіряв - нема там такого (звіряв два списки: коли наявна ця опція і коли відсутня - ідентичні)
Якогось пункту в контекстному меню кнопки, який би встановлював колір також немає. Пробував ставити нестандартний фон загального вікна (меню Вигляд) - нічого не змінює.
Якщо в Ged.ini також не фіксується, то це дуже дивно.
Бо я на комп'ютер користувача скидую свій файл tlb без тегу Background. І як тільки посуваю кнопку вбік в нього - зразу цей тег появляється. Отдже, десь воно в програмі таке включено.

Спробував додати в себе вручну чей тег. Тепер він у мене також став наявний і не можливо його стерти. Додався в кожний файл tlb. Видалення Ged.ini не допомагає. І куди ж воно прописалося, зараза така?

П.С. Закрив програму, видалив усі скрипти (усі файли tlb), видалив файл Ged.ini. Запустив програму, створив новий скрипт - а програма в нього зразу додала тег Background. Як це відключити? Як воно включилося? Де воно зберігається? :?:

П.П.С. Чи цей тег після оновлення програми тепер у всіх буде?

Автор:  voha [ 15 дек 2020 14:21 ]
Заголовок сообщения:  Re: Все про скрипти

fendak писал(а):
Тобто, Ви колір в панелі поставили просто вручну додавши у файл tlb тег Background= ?
Так. При закритій програмі Digitals в текстовому редакторі змінюєте/додаєте атрибут Background панелі інструментів у файлі TLB. Запускаєте програму - і маєте відповідний колір панелей.
fendak писал(а):
В константах (Сервіс-Налашутвання) я перевіряв - нема там такого (звіряв два списки: коли наявна ця опція і коли відсутня - ідентичні)
Якогось пункту в контекстному меню кнопки, який би встановлював колір також немає.
Я мав на увазі, що значення якоїсь константи є ознакою "змінювати, чи не змінювати атрибути панелі інструментів у файлі TLB при зміні їх в сеансі роботи програми", а не саме значення атрибута Background. Хто зна... . Для чого, наприклад, константа ToolbarOptions зі значенням 0 :?: Ніхто ж не питає! А розробники і не кажуть: хто замовив - той, мовляв, знає. Але ж це жлобство, знає і мовчить :wink:
fendak писал(а):
Якщо в Ged.ini також не фіксується, то це дуже дивно.
Бо я на комп'ютер користувача скидую свій файл tlb без тегу Background. І як тільки посуваю кнопку вбік в нього - зразу цей тег появляється. Отдже, десь воно в програмі таке включено.
Спробував додати в себе вручну чей тег. Тепер він у мене також став наявний і не можливо його стерти. Додався в кожний файл tlb. Видалення Ged.ini не допомагає. І куди ж воно прописалося, зараза така?
Чого це зразу - "зараза", це - корисна штука. Підозрюю, що такий атрибут пишеться у файл TLB самим модулем Ged.exe починаючи з якогось-там збирання.
А чому б Вам не переглянути скрипт, який дивним чином "перестав працювати" при наявному атрибуті Background в панелі інструментів? Хіба причина може бути в цьому?

Автор:  Dmitry_Zolotar [ 15 дек 2020 14:43 ]
Заголовок сообщения:  Re: Все про скрипти

У недавній версії ged.exe з'явилось збереження background-атрибута панелі інструментів. Старі версії його проігнорують і колір панелі лишиться таким як колір кнопки у поточній темі оформлення Windows (Background=-16777201)
Позитивні значення цього атрибуту - RGB-колір панелі.

Автор:  fendak [ 15 дек 2020 16:18 ]
Заголовок сообщения:  Re: Все про скрипти

Dmitry_Zolotar писал(а):
У недавній версії ged.exe з'явилось збереження background-атрибута панелі інструментів. Старі версії його проігнорують і колір панелі лишиться таким як колір кнопки у поточній темі оформлення Windows (Background=-16777201)
Позитивні значення цього атрибуту - RGB-колір панелі


І як користувачу змінити цей колір? Відкривати скрипт блокнотом чи що?

Кнопки мають окантовку довкола іконки, яку також було б добре змінювати, бо інакше це не гарно виглядає.

Як поставити білий колір фону кнопок?
RGB — 255,255,255 не підтримується, #ffffff також

Автор:  Dmitry_Zolotar [ 15 дек 2020 18:09 ]
Заголовок сообщения:  Re: Все про скрипти

fendak писал(а):
І як користувачу змінити цей колір? Відкривати скрипт блокнотом чи що?

Кнопки мають окантовку довкола іконки, яку також було б добре змінювати, бо інакше це не гарно виглядає.

Як поставити білий колір фону кнопок?
RGB — 255,255,255 не підтримується, #ffffff також

підтримуються лише десяткові значення (R+G*256+B*256*256), де R,G,B - кольорова тріада 0..255
білий: Background=16777215
червоний: Background=255
чорний: Background=0
від'ємні значення - деякі константи Delphi

Колір кнопок змінити можна лише для усіх застосунків ОС, у Віндовс 7 і нижче був відповідний інструмент
Изображение
У Віндовс 10 змінити окремо колір кнопки не можна, тільки разом з темою.

Панель завантажується з tlb-файлу під час запуску програми, змінювати колір відповідно можна до цього. Принаймі поки що.

Автор:  voha [ 15 дек 2020 19:04 ]
Заголовок сообщения:  Re: Все про скрипти

fendak писал(а):
І як користувачу змінити цей колір? Відкривати скрипт блокнотом чи що?
Кнопки мають окантовку довкола іконки, яку також було б добре змінювати, бо інакше це не гарно виглядає.
Як поставити білий колір фону кнопок?
RGB — 255,255,255 не підтримується, #ffffff також
Або ще так: коди кольорів звідси в стандартному калькуляторі
Вложение:
Code.png
Code.png [ 32.76 Кб | Просмотров: 5855 ]

Автор:  voha [ 16 дек 2020 13:48 ]
Заголовок сообщения:  Re: Все про скрипти

І знову я, зі своїми висотами!

Запускайте скрипт
Код:
$X1=5347300,35
$Y1=1349511,33
$X2=5347299,72
$Y2=1349510,12
$Z1=@Map.CalculateZ $X1 $Y1
@Wait 500
$Z2=@Map.CalculateZ $X2 $Y2
@Dialog.WaitBox Перша точка:|$X1 $Y1 $Z1|Друга точка:|$X2 $Y2 $Z2|Перевірте висоту другої точки!!
;
$Z2=@Map.CalculateZ $X2 $Y2
@Dialog.WaitBox Перша точка:|$X1 $Y1 $Z1|Друга точка:|$X2 $Y2 $Z2|Перевірте тепер, висоту другої точки!!
у карті
Вложение:
Demo.dmf [11.7 Кб]
Скачиваний: 247

Шановні розробники! То ж "криша" може поїхати. Невже проблема мого комп'ютера лише в тому, що корпус в нього чорного кольору?
Подивіться, будь-ласка.

Автор:  Dmitry_Zolotar [ 16 дек 2020 18:01 ]
Заголовок сообщения:  Re: Все про скрипти

Оновіть програму, скриптова функція @Map.CalculateZ завжди буде інтерполювати висоту. Раніше використовувався попередній результат інтерполяції, якщо відстань від попередньої точки не перевищувала точності карти (залежить від масштабу карти та точності карти на папері) для прискорення інтерполяції позиції курсора.

Автор:  voha [ 16 дек 2020 18:21 ]
Заголовок сообщения:  Re: Все про скрипти

Dmitry_Zolotar писал(а):
Оновіть програму, скриптова функція @Map.CalculateZ завжди буде інтерполювати висоту. Раніше використовувався попередній результат інтерполяції, якщо відстань від попередньої точки не перевищувала точності карти (залежить від масштабу карти та точності карти на папері) для прискорення інтерполяції позиції курсора.
Тепер все зрозуміло. Дуже дякую за вдосконалення :D

Автор:  voha [ 29 дек 2020 16:16 ]
Заголовок сообщения:  Re: Все про скрипти

Доброго дня розробникам.

Чи можна трішки, детальніше про @Map.ObjectLabel Formula - "Изменяет формулу метки объекта, заданную в Константах" і @Map.Object[N].GetPublicMapInfo - "Заполняет атрибуты участка с ПКК"?
Цікавить про мітку об'єкта та її формулу.

Дякую.

Автор:  Dmitry_Zolotar [ 29 дек 2020 17:43 ]
Заголовок сообщения:  Re: Все про скрипти

ObjectLabel використовується поки що тільки у вікні зі списком об'єктів, знайдених в місці подвійного кліку. Раніше у цьому списку відображалась назва шару. Зараз відображається в цьому списку саме ObjectLabel, його значення вираховується по формулі, яка вказана у константі(Сервіс-Налаштування-Головна-Константи) з тим самим ім'ям. Скриптова функція @Map.ObjectLabel <NewFormula> перепризначує поточній карті на поточний сеанс роботи значення ObjectLabel. Зручно задавати особливу формулу для ObjectLabel в обробнику події %Events.OnFileOpen. У цих формулах можна використати функцію P[*], яка повертає список значень усіх непустих неслужбових доступних параметрів.

Автор:  voha [ 10 янв 2021 12:38 ]
Заголовок сообщения:  Re: Все про скрипти

voha писал(а):
2. Скриптова функція @Map.Object[N].Parameter[N], застосована до першого об'єкта карти (номер об'єкта 1), якщо параметр N містить функцію SlopeDir, повертає 0. Застосована до всіх інших об'єктів карти - повертає значення, застосована до першого об'єкта - повертає 0.
P.S. Друге питання вирішив вставкою @Wait 5000 між командою ЦМР | Перепризначити висоти і @Map.Object[N].Parameter[N].
Мабуть дві секунди мало, щоб розрахувалась SlopeDir по всім об'єктам. Тоді, якщо об'єктів буде тисячі, розрахунок може тривати довше, а тривалість залежить ще й від "моторності" системи? Необхідний той самий "аналіз карти" в синхронному режимі, як і з функцією Parent?

Розрахунок SlopeDir в параметрі - не питання тривалості розрахунку, а питання старту (ініціювання) розрахунку: якщо в скрипті подати перший раз після перепризначення висот@Map.Object[N].Parameter[N] - повернеться результат 0 і запуститься розрахунок параметра; наступна команда в скрипті @Map.Object[N].Parameter[N] - для того ж об'єкта поверне вже розраховане значення. Такий "нюанс" треба знати. Отже питання 2 знімається.
Доброго дня розробникам.
Повертаюся знову до функції параметра SlopeDir, що повертає дирекційний кут напрямку схилу.

Не вирішена проблема розрахунку значення параметра з цією функцією :!: Не можу знайти якоїсь залежності нульового результату. Ще раз даю скріншот
Вложение:
SlopeDir.png
SlopeDir.png [ 54.29 Кб | Просмотров: 5672 ]
Скрипт відпрацьовує і... лог-файл свідчить про наявність значення 0 :!:

Питання:
- чому значення параметра з функцією SlopeDir на вкладці "Інфо" завжди 0,00 в той час, як список значень параметра не містить 0,00?
- як у скрипті дочекатися розрахунку параметра з функцією SlopeDir у всіх об'єктів?
- чи є скриптова функція, яка розрахує значення параметра з його функцією?
- для чого скриптова функція @Map.Object[N].CalculateFormula?

І нарешті, мо простіше додати скриптову функцію Map.Object[N].SlopeDir :?:

Автор:  Dmitry_Zolotar [ 11 янв 2021 11:59 ]
Заголовок сообщения:  Re: Все про скрипти

voha писал(а):
- чому значення параметра з функцією SlopeDir на вкладці "Інфо" завжди 0,00 в той час, як список значень параметра не містить 0,00?
- як у скрипті дочекатися розрахунку параметра з функцією SlopeDir у всіх об'єктів?
- чи є скриптова функція, яка розрахує значення параметра з його функцією?
- для чого скриптова функція @Map.Object[N].CalculateFormula?

І нарешті, мо простіше додати скриптову функцію Map.Object[N].SlopeDir :?:

Виправили у новій версії глюк, який пов'язаний з функцією SlopeDir. Раніше дещо випадковим чином поверталось значення 0,00.
Скриптова функція @Map.Object[N].CalculateFormula не допоможе, вона лише строкові функції розраховує, а функція SlopeDir - функція параметрів типу "Число з комою".

Автор:  voha [ 11 янв 2021 12:47 ]
Заголовок сообщения:  Re: Все про скрипти

Чемно дякую. Буду пробувати.

Автор:  fendak [ 24 янв 2021 15:37 ]
Заголовок сообщения:  Re: Все про скрипти

Добрий день!
Бачу, якісь нові цікаві опції появилися у властивостях скриптів.
Можна отримати їхній опис?

ShowHeader=0
Left=0
Top=83
Width=40
Height=640
FontSize=6
Background=-16777201
Margin=1
Alpha=255

Visible=0
Anchor=1

Margin, на скільки я зрозумів, це відстань між кнопками. Тільки не розумію, чому чим більше там число - тим менший відступ?
Alpha - це якийсь типу лічильник, за який час панель сама закривається? Ставлю там 0, то при наведенні панель починає блимати і автоматично закриваєтсья за секунду.
Anchor - якір, який чомусь наявний тільки в одному скрипті - в тому, який при запуску програми закритий. Це якась прив'язка положення на екрані? Чи що?

Страница 75 из 83 Часовой пояс: UTC + 2 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/