Аналитика

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

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




Начать новую тему Ответить на тему  [ Сообщений: 1236 ]  На страницу Пред.  1 ... 45, 46, 47, 48, 49, 50, 51 ... 83  След.
Автор Сообщение
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 18 апр 2016 14:56 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Dmitry_Zolotar писал(а):
Кнопка
Код:
$S=%Library.NumberSelectedSequential ID4 100 2
@Dialog.Message Пронумеровано $S об'єкт(а/ів)
...
Доброго дня.
Ви маєте на увазі, що якщо у скрипті:
1) для кожного окремого полігона:
1.1) полігон почати з крайньої північної точки;
1.2) командою "вставити вузли" у вузлові точки - створити точкові об'єкти,
то послідовність номерів цих точкових об'єктів будуть відповідати напрямку межі полігона, причому найменший номер матиме точковий об'єкт розміщений на першій точці полігона?

Тобто: не використовувати CalcAlongContour, а перебрати кожен зі створених вставкою вузлів точкових об'єктів для присвоєння йому значення параметра? Варіант можливий, але тільки якщо правда те, що в першому абзаці.

Дякую.


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

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
Калькулятор-Последовательная нумерация пронумеровує помічені об'єкти карти у порядку слідування в карті, починаючи з заданого значення(1 за замовчуванням) з заданим кроком(1 за замовчуванням). Приведений раніше скрипт робить те саме.

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


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

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Dmitry_Zolotar писал(а):
Калькулятор-Последовательная нумерация пронумеровує помічені об'єкти карти у порядку слідування в карті, починаючи з заданого значення(1 за замовчуванням) з заданим кроком(1 за замовчуванням). Приведений раніше скрипт робить те саме.
Раз-два поправив свій скрипт. Чемно дякую за підказку.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 22 апр 2016 13:02 
Эксперт
Эксперт

Зарегистрирован:
09 сен 2014 19:26
Сообщения: 97
Підкажіть де помилка?

$Kad=@Dialog.Select Наявність кадастрового номеру|З кадастровим номером|Без
@if $Kad=З кадастровим номером @goto %Kad
@if $Kad=Без @goto %Gameover
%Kad
@Map.DeselectAll
@Map.SelectLayer ID70003
$P39=@Map.Selected.GetParameter ID7000301
@if $P39=00 @Break Невірно заповнено номер кадастрової зони
@Map.DeselectAll
@Map.SelectLayer ID70004
$P43=@Map.Selected.GetParameter ID7000401
@if $P43=000 @Break Невірно заповнено номер кадастрового кварталу
@Map.SelectLayer ID70005
$P53=@Map.Selected.GetParameter ID7000513
@if $P53=0000 @Break Невірно заповнено номер земельної ділянки
%Gameover
@Map.DeselectAll



Якщо вибрати "Без кад. номера" скрипт все одно виконується повністью.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 22 апр 2016 13:27 
Эксперт
Эксперт

Зарегистрирован:
21 мар 2013 14:12
Сообщения: 94
Міцного здоров'я всім!

Пане sergykydr а куди подівся then, котрий у комплексі з if?

"@if $Kad=З кадастровим номером then @goto %Kad"

Дякую.


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

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
sergykydr писал(а):
Підкажіть де помилка?...
Якщо вибрати "Без кад. номера" скрипт все одно виконується повністью.
Так якщо вибрати "Без кад. номера", чи якщо натиснути кнопку "Скасувати" або закрити діалог вибору "з хреста"?
Код:
$Kad=@Dialog.Select Наявність кадастрового номеру|З кадастровим номером|Без
@if $Kad<>З кадастровим номером then @goto %Gameover
@Map.DeselectAll
@Map.SelectLayer ID70003
$P39=@Map.Selected.GetParameter ID7000301
@if $P39=00 @Break Невірно заповнено номер кадастрової зони
@Map.DeselectAll
@Map.SelectLayer ID70004
$P43=@Map.Selected.GetParameter ID7000401
@if $P43=000 @Break Невірно заповнено номер кадастрового кварталу
@Map.SelectLayer ID70005
$P53=@Map.Selected.GetParameter ID7000513
@if $P53=0000 @Break Невірно заповнено номер земельної ділянки
%Gameover
@Map.DeselectAll


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 22 апр 2016 14:28 
Эксперт
Эксперт

Зарегистрирован:
09 сен 2014 19:26
Сообщения: 97
Всім дякую! розібрався. Це той випадок коли треба було ще раз вручну переписати той самий скрипт, і все запрацювало.


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

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
sergykydr писал(а):
Всім дякую! розібрався. Це той випадок коли треба було ще раз вручну переписати той самий скрипт, і все запрацювало.
Не правильний "діагноз" Ви ставите скрипту. Правильним буде "передбачити в скрипті всі варіанти вибору в діалозі". Я маю на увазі наступне:
Код:
$Kad=@Dialog.Select Наявність кадастрового номеру|З кадастровим номером|Без
@if $Kad=З кадастровим номером @goto %Kad
@if $Kad=Без @goto %Gameover
%Kad
виконання скрипта піде на мітку %Kad навіть тоді, коли користувач натисне на кнопку "Скасувати" в діалозі вибору, або закриє діалог з хреста. Тому краще
Код:
$Kad=@Dialog.Select Наявність кадастрового номеру|З кадастровим номером|Без
@if $Kad<>З кадастровим номером then @goto %Gameover
@Map.DeselectAll
Тут враховано два рішення:
-якщо не вибрано "З кадастровим номером", тоді на мітку %Gameover;
-лише якщо вибрано "З кадастровим номером", тоді виконати все що після після вибору.


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

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Dmitry_Zolotar писал(а):
...Тестовый проект TestFormDLL, показывающий способ вызывать формы, созданные в Delphi, из скрипта Digitals...

...Приклад немодальної форми...
Таким чином маємо два варіанти використання власних форм для автоматизації Digitals:

1) модальна форма - коли скрипт продовжить роботу лише після закриття форми з можливістю у тому ж таки скрипті далі оперувати результатом функції @DLLExec DLLPath.DLLFunction [Parameters] але без можливості оперування картою під час відображення форми на екрані;
2) звичайна форма - коли скрипт не чекає результату функції @DLLExec DLLPath.DLLFunction [Parameters] (власне тому ж таки скрипту результат функції і не потрібний) зате з можливістю оперувати картою після завершення скрипта під час відображення форми на екрані.

Обидві форми знаходять своє місце для використання і є корисними. Однак не вистачає ще однієї - аналогічної за поведінкою діалогу @Dialog.WaitBox Text. Цікавий діалог: за викликом у скрипті - модальна форма (скрипт очікує результат), за властивостями - звичайна форма (не модальна, можна переключатись між вікнами на екрані та оперувати картою).

Пане Дмитре. Шукав у властивостях форми Delphi - не один день часу витратив, не знайшов. Усе марно :cry: . Підкажіть, будь-ласка, черговий раз. Чи є описана вище можливість для власної форми?


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 16 май 2016 10:51 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
а такий варіант влаштує?
Код:
$Arg=Hello, world!!!
;Створюємо немодальну форму
@DLLExec TestFormDLL.CreateInputForm $Arg
;Чекаємо відредаговані дані
@Dialog.WaitBox Відредагуйте дані у вікні Form1
;Отримуємо результат
$Res=@DLLExec TestFormDLL.GetResult CLOSE
@Dialog.Message $Res


Вложения:
TestFormDLL2.zip [543.43 Кб]
Скачиваний: 284

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 17 май 2016 15:37 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Dmitry_Zolotar писал(а):
а такий варіант влаштує?
Код:
$Arg=Hello, world!!!
;Створюємо немодальну форму
@DLLExec TestFormDLL.CreateInputForm $Arg
;Чекаємо відредаговані дані
@Dialog.WaitBox Відредагуйте дані у вікні Form1
;Отримуємо результат
$Res=@DLLExec TestFormDLL.GetResult CLOSE
@Dialog.Message $Res
Дякую. Але гнітить наявність вікна очікування скрипта.
Скрипт AutoIt, запущений перед @Dialog.WaitBox, встановлює прозорість вікна очікування і мав би обробити натискання на кнопку форми - відновити непрозорість вікна очікування і симулювати натискання на кнопку <Продовжити>.

Так не тут-то було! Не відловлює AutoIt натискання на кнопку форми :cry: , мабуть може працювати лише зі створеними тільки ним самим вікнами і елементами управління.
Капєц. Замучився. Треба відкласти до кращих часів.


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

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
Постала необхідність витягнути функцією @XML.XPath повну інформацію про другого і наступних співвласників по суміжниках Як це можна реалізувати?
$FirstName=@XML.XPath NaturalPerson[2]/FullName/LastName $Param не працює чогось

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 27 май 2016 08:09 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
Скрипт формує список ПІБ і назв співвласників з/д

Код:
$EO=@Map.SelectedObject
$PP=@Map.Object[$EO].Parameter[ID7000520]
$PC=@XML.NodeCount /Proprietors ProprietorInfo $PP
@if $PC<1 then @Goto %Exit
$I=0
$Res=
%Loop
$I=$I+1
$IsLE=@XML.NodeCount ProprietorInfo[$I]/Authentication LegalEntity $PP
@if $IsLE=1 then @Goto %LegalEntity
$LN=@XML.XPath ProprietorInfo[$I]/Authentication/NaturalPerson/FullName/LastName $PP
$FN=@XML.XPath ProprietorInfo[$I]/Authentication/NaturalPerson/FullName/FirstName $PP
$MN=@XML.XPath ProprietorInfo[$I]/Authentication/NaturalPerson/FullName/MiddleName $PP
@if $LN= then @Goto %Continue
@if $Res<> then $Res=$Res,
$Res=$Res$LN $FN $MN
@Goto %Continue
%LegalEntity
$N=@XML.XPath ProprietorInfo[$I]/Authentication/LegalEntity/Name $PP
@if $N= then @Goto %Continue
@if $Res<> then $Res=$Res,
$Res=$Res$N
%Continue 
@if $I<$PC then @Goto %Loop
@if $Res= then @Goto %Exit
@Dialog.Message $Res
%Exit

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


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

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
Для співвласників земельної ділянки все працює. Не формує по суміжниках

$J=@Map.SelectedObject
$Param=@Map.Object[$J].Parameter[ID7001003]
$LastName=@XML.XPath NaturalPerson[2]/FullName/LastName $Param
@Dialog.Message $LastName

Мабуть, справа в тому, що в суміжниках користувачі-співвласники не мають спільного батьківського тегу.
<Proprietor><NaturalPerson>...</NaturalPerson></Proprietor><Proprietor><NaturalPerson>...</NaturalPerson></Proprietor>

Раніше користувався функцією $S=@Map.Object[$I].CalculateFormula XMP(Землі загального користування)
Але просто прізвищ та ініціалів не достатньо. Потрібно витягнути повну інформацію по кожному співвласнику (прописка і паспортні дані) по кожному суміжнику.

І як це зробити, не уявляю.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 29 май 2016 00:11 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
fendak писал(а):
Для співвласників земельної ділянки все працює. Не формує по суміжниках

$J=@Map.SelectedObject
$Param=@Map.Object[$J].Parameter[ID7001003]
$LastName=@XML.XPath NaturalPerson[2]/FullName/LastName $Param
@Dialog.Message $LastName

Мабуть, справа в тому, що в суміжниках користувачі-співвласники не мають спільного батьківського тегу.
<Proprietor><NaturalPerson>...</NaturalPerson></Proprietor><Proprietor><NaturalPerson>...</NaturalPerson></Proprietor>

Раніше користувався функцією $S=@Map.Object[$I].CalculateFormula XMP(Землі загального користування)
Але просто прізвищ та ініціалів не достатньо. Потрібно витягнути повну інформацію по кожному співвласнику (прописка і паспортні дані) по кожному суміжнику.

І як це зробити, не уявляю.

$J=@Map.SelectedObject
$Param=@Map.Object[$J].Parameter[ID7001003]
$LastName=@XML.XPath Proprietor[2]/NaturalPerson/FullName/LastName <root>$Param</root>
@Dialog.Message $LastName

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


Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 1236 ]  На страницу Пред.  1 ... 45, 46, 47, 48, 49, 50, 51 ... 83  След.

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


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

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 192


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

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