Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 19 апр 2021 01:10

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 1159 ]  На страницу Пред.  1 ... 73, 74, 75, 76, 77, 78  След.
Автор Сообщение
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 25 янв 2021 17:17 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2218
Откуда: Vinnytsia
Alpha - (не)прозорість панелі, та відповідно й кнопок на ній. 255 - непрозора панель, 0 - прозора. Спробували прибирати прозорість коли курсор в межах панелі, видно не все ще працює добре.
Margin - відступ дочірньої кнопки від краю батьківської панелі. Ctrl-Shift-C в Гуглохромі покаже картинку з співвідношенням Margin, Padding, Border.
Anchor визначає сторону прив'язки дочірнього об'єкта, коли батьківській змінює розмір. Не зрозуміло звідки в tlb-файлі воно з'явилось) розмір панелі не змінюється курсором миші.

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 13 фев 2021 14:45 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 796
Откуда: Ліспроект Володимир Вовчанський
Доброго дня.
Є одне питання: як найпростіше у скрипті обробки події %Events.OnChange визначити, чи було редаговано геометрію об'єкта (переміщено окремі точки), чи було переміщено об'єкт? Це ж мабуть треба звірити вектор зміщення центру об'єкта з вектором зміщення кожної точки об'єкта?

В зв'язку з вказаним, хочу спитати розробників: чи можна окремо додати обробку події переміщення об'єкта/об'єктів EventOnMove?


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 14 фев 2021 12:57 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 762
Откуда: Львівська область
voha писал(а):
Є одне питання: як найпростіше у скрипті обробки події %Events.OnChange визначити, чи було редаговано геометрію об'єкта (переміщено окремі точки), чи було переміщено об'єкт? Це ж мабуть треба звірити вектор зміщення центру об'єкта з вектором зміщення кожної точки об'єкта?


Доброго дня!
В будь-якому разі треба до редагування (чи до можливого редагування) записати кудись координати об'єкта, щоб потім можна звірити.

Я б це зробив через
$SO=@Map.SelectedObject
$PointList=@Map.Object[$SO].PointList
@Map.TempString $PointList

А потім при обробці події зчитав ще раз цю інформацію
$PointList2=@Map.Object[$SO].PointList

і порівняв
$PointList=@Map.TempString $PointList
@if "$PointList"<>"$PointList2" then @Break Редаговано

_________________
додатково про скрипти Digitals на www.digitals.at.ua


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 14 фев 2021 21:34 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 796
Откуда: Ліспроект Володимир Вовчанський
fendak писал(а):
...В будь-якому разі треба до редагування (чи до можливого редагування) записати кудись координати об'єкта, щоб потім можна звірити...
і порівняв
$PointList=@Map.TempString $PointList
@if "$PointList"<>"$PointList2" then @Break Редаговано
Чемно дякую, Миколо.
Однак записати координати треба ж у скрипті обробки події селектування об'єкта на рівні карти. Крім того, об'єкт може виявитися позначеним в результаті роботи кожного, з десятка інших скриптів. Дописувати у кожному?
Не годиться також - просто звірити списки. Порівнювати треба всі точки об'єкта: якщо знайдеться перша ж не змінена - значить тягнули окремі точки; якщо змінилися координати всіх точок - значить перетягнули об'єкт за центр.
Можна ще звірити два вектора переміщення: центра об'єкта і - будь якої зміненої точки. В такому випадку вектори переміщення ще й будувати як об'єкти прийдеться!

Поки чекатиму на відповідь розробників: чи можна окремо додати обробку події переміщення об'єкта/об'єктів EventOnMove або як у скрипті обробки події відрізнити переміщення від зміни геометрії?


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 18 фев 2021 08:55 
Специалист
Специалист

Зарегистрирован:
18 июл 2011 09:16
Сообщения: 43
Доброго дня. Підкажіть будь-ласка. Мається змінна $N в якій записаний кадастровий номер, яким чином з неї можна витягнути останні 4 цифри (типу copy ($N,19,4)). Дякую.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 18 фев 2021 09:26 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 796
Откуда: Ліспроект Володимир Вовчанський
Vaho писал(а):
Доброго дня. Підкажіть будь-ласка. Мається змінна $N в якій записаний кадастровий номер, яким чином з неї можна витягнути останні 4 цифри (типу copy ($N,19,4)). Дякую.
Код:
$PathN=@Calc Copy("$N",19,4)
$PathN=@DequoteText $PathN


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 25 фев 2021 19:06 
Участник
Участник

Зарегистрирован:
25 фев 2021 19:01
Сообщения: 7
Dmitry_Zolotar писал(а):
Без проверки количества собственников и их типа (физособа или юрособа)
Код:
$SO=@Map.SelectedObject
$Props=@Map.Object[$SO].Parameter[ID7000520]
$LastName=@XML.XPath /Proprietors/ProprietorInfo[1]/Authentication/NaturalPerson/FullName/LastName $Props
$FirstName=@XML.XPath /Proprietors/ProprietorInfo[1]/Authentication/NaturalPerson/FullName/FirstName $Props
$MiddleName=@XML.XPath /Proprietors/ProprietorInfo[1]/Authentication/NaturalPerson/FullName/MiddleName $Props
$FullName=$LastName $FirstName $MiddleName
@Dialog.Message $FullName
$ROPNM=@Map.Object[$SO].CalculateFormula ROP($FullName)
@Dialog.Message $ROPNM



Добрый вечер! Подскажите новичку, так как не знаю откуда начать. С диджиталом начал работать как неделю. Сделал схему размещения, но не знаю как в неё "втулить" этот скрипт. Делаю как кнопку, в окне мне выдает проскланённое имя фамилию, но вот как это сделать дабы оно мне в тексте это сделало? Подскажите пожалуйста!


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 25 фев 2021 20:11 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 762
Откуда: Львівська область
Xoxol писал(а):
Добрый вечер! Подскажите новичку, так как не знаю откуда начать. С диджиталом начал работать как неделю. Сделал схему размещения, но не знаю как в неё "втулить" этот скрипт. Делаю как кнопку, в окне мне выдает проскланённое имя фамилию, но вот как это сделать дабы оно мне в тексте это сделало? Подскажите пожалуйста!


В шаблоні в текстовий блок вставте змінну $ROPNM, яку ви отримали скриптом.
А щоб шаблон перетворив її у значення згідно обмінника xml, використайте в тій самій кнопці такий код:

@Map.DeselectAll
@Map.SelectLayer id70005
$Papka=@ProgramFolder
@ExecuteDocumentFromFile $Papka\назва шаблону.dmt
@Map.ReplaceTableVariables

П.С.
@Map.ReplaceTableVariables - сканує текст таблиць і замінює змінні їх значеннями
Замість назва шаблону поставте свою назву шаблону (має знаходитися в папці Digitals)

_________________
додатково про скрипти Digitals на www.digitals.at.ua


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 25 фев 2021 21:12 
Участник
Участник

Зарегистрирован:
25 фев 2021 19:01
Сообщения: 7
fendak писал(а):
Xoxol писал(а):
Добрый вечер! Подскажите новичку, так как не знаю откуда начать. С диджиталом начал работать как неделю. Сделал схему размещения, но не знаю как в неё "втулить" этот скрипт. Делаю как кнопку, в окне мне выдает проскланённое имя фамилию, но вот как это сделать дабы оно мне в тексте это сделало? Подскажите пожалуйста!


В шаблоні в текстовий блок вставте змінну $ROPNM, яку ви отримали скриптом.
А щоб шаблон перетворив її у значення згідно обмінника xml, використайте в тій самій кнопці такий код:

@Map.DeselectAll
@Map.SelectLayer id70005
$Papka=@ProgramFolder
@ExecuteDocumentFromFile $Papka\назва шаблону.dmt
@Map.ReplaceTableVariables

П.С.
@Map.ReplaceTableVariables - сканує текст таблиць і замінює змінні їх значеннями
Замість назва шаблону поставте свою назву шаблону (має знаходитися в папці Digitals)


Проблема в том что после этого скрипта открывается ещё одно окно этого же шаблона и в него не вытягивает другие значения которые вытягивало до этого. А нельзя да бы при открытии шаблона сразу происходило склонение?
Простите под вечер немного натупил. Надо в первом же окне наживать кнопку.

Написал себе скрипт в эту же кнопку
$Pravo=@XML.XPath OwnershipInfo/Code
@if $Pravo=100 then $Info=власність else $Info=оренду
@Dialog.Message $Info

При указании в поле форма собствености 100 тянет значение "оренду". Что я делаю не так?


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 25 фев 2021 23:04 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 762
Откуда: Львівська область
fendak писал(а):
Написал себе скрипт в эту же кнопку
$Pravo=@XML.XPath OwnershipInfo/Code
@if $Pravo=100 then $Info=власність else $Info=оренду
@Dialog.Message $Info

При указании в поле форма собствености 100 тянет значение "оренду". Что я делаю не так?


В скриптах Digitals трохи інша мова програмування:

@Map.SelectLayer id70005
$I=@Map.SelectedObject
$Pravo=@Map.Object[$I].Parameter[id7000512]
$Pravo=@StringPart 1 $Pravo
$Info=оренду
@if $Pravo=100 then $Info=власність
@Dialog.Message $Info

_________________
додатково про скрипти Digitals на www.digitals.at.ua


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 26 фев 2021 13:25 
Участник
Участник

Зарегистрирован:
25 фев 2021 19:01
Сообщения: 7
fendak писал(а):
fendak писал(а):
$Pravo=@Map.Object[$I].Parameter[id7000512]

А почему параметр 12? Есть расшифровка параметров? Да и функций тоже?


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 01 мар 2021 21:23 
Гуру
Гуру

Зарегистрирован:
14 окт 2010 16:40
Сообщения: 225
Добрый день. Можно ли все-таки реализовать к скриптам комментарии, которые будут видны в панели скриптов, аналогично комментам для базовых функций. Может это будет спец коммент который начинается не с ";", а например с #. Voha уже просил, я тоже присоединяюсь к его просьбе.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 01 мар 2021 22:36 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 796
Откуда: Ліспроект Володимир Вовчанський
Доброї пори доби розробникам.
Є таке прохання: подивіться, будь-ласка, на скриптову функцію @Run ExeFilename
У збиранні від 19.01.21 - працює, а вже від 19.02.21 і до тепер - не працює.

Дуже дякую, за 40 нових скриптових функцій у збиранні 01.03.21. Є що досліджувати :D , особливо цікаві @Thread ScriptCommand, @ThreadActive Handle та @WaitForThread Handle.

Залишаю актуальним:
Denidz писал(а):
Добрый день. Можно ли все-таки реализовать к скриптам комментарии, которые будут видны в панели скриптов, аналогично комментам для базовых функций. Может это будет спец коммент который начинается не с ";", а например с #. Voha уже просил, я тоже присоединяюсь к его просьбе.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 02 мар 2021 17:15 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2218
Откуда: Vinnytsia
voha писал(а):
Є таке прохання: подивіться, будь-ласка, на скриптову функцію @Run ExeFilename
У збиранні від 19.01.21 - працює, а вже від 19.02.21 і до тепер - не працює.

Приклад, будь ласка, що саме перестало запускатись.
Повний шлях до егзешника вказаний? Чи є додатково параметри командної строки? Чи викликається функція для файлу зареєстрованого розширення? Містить шлях/ім'я пробіли?
Наступні строки - все різні випадки
@Run C:\Program Files (x86)\Google\Chrome\Application\chrome.exe http://vinmap.net/
@Run http://vinmap.net/
@Run C:\Windows\System32\notepad.exe d:\readme.txt
@Run notepad.exe d:\readme.txt
@Run d:\readme.txt

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 02 мар 2021 17:47 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2218
Откуда: Vinnytsia
voha писал(а):
особливо цікаві @Thread ScriptCommand, @ThreadActive Handle та @WaitForThread Handle.

Скрипт запускає обробку *.txt з папки в кількох потоках(максимальна одночасна кількість потоків визначена змінною $MaxThreadCount=5) та контролює завершення кожного. Для кожного потока викликається лише одна команда, для прикладу тут %Library.ProcessTxt $FileName

$WorkFolder=@Dialog.Ask Вкажіть папку з *.txt
@If $WorkFolder= then @Break
@Text[1].FolderList *.txt $WorkFolder
$FileCount=@Text[1].Count
$MaxThreadCount=5
@Text[2].Clear
$I=0
;
%Loop:
$ThCount=@Text[2].Count
@if $ThCount=$MaxThreadCount then @Goto %CheckThreads
$J=$ThCount
%LoopAddThread
$J=$J+1
@if $I=$FileCount then @Goto %CheckThreads
$I=$I+1
$FileName=@Text[1].Line[$I]
$Handle=@Thread %Library.ProcessTxt $Filename
@Text[2].Add $Handle
@if $J<$MaxThreadCount then @Goto %LoopAddThread
;
%CheckThreads:
$ThCount=@Text[2].Count
@If $ThCount=0 then @Goto %Finish
$J=$ThCount
%LoopThread
$Handle=@Text[2].Line[$J]
$IsActive=@ThreadActive $Handle
@if $IsActive=0 then @Text[2].Delete $J
$J=$J-1
@if $J>0 then @Goto %LoopThread
%Finish:
@if ($ThCount<>0) or ($I<$FileCount) then @Goto %Loop

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 1159 ]  На страницу Пред.  1 ... 73, 74, 75, 76, 77, 78  След.

Часовой пояс: UTC + 2 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB