Аналитика http://geosystema.net/forum/ |
|
Все про скрипти http://geosystema.net/forum/viewtopic.php?f=1&t=2809 |
Страница 57 из 83 |
Автор: | fendak [ 23 ноя 2017 00:33 ] |
Заголовок сообщения: | Re: Все про скрипти |
YuretsGr писал(а): Як намалювати рамку реквізитів ОФ скриптами? @Map.SelectAll $S=@Map.Selected.GetMinMax $X1=@StringPart 1 $S $Y1=@StringPart 2 $S $X2=@StringPart 4 $S $Y2=@StringPart 2 $S $X3=@StringPart 4 $S $Y3=@StringPart 5 $S $X4=@StringPart 1 $S $Y4=@StringPart 5 $S $FrameObj=@Map.NewObject ID70000 @Map.Object[$FrameObj].Point[1] $X1 $Y1 @Map.Object[$FrameObj].AddPoint $X2 $Y2 @Map.Object[$FrameObj].AddPoint $X3 $Y3 @Map.Object[$FrameObj].AddPoint $X4 $Y4 @Map.Object[$FrameObj].AddPoint $X1 $Y1 @Map.RefreshObject $FrameObj @Map.DeselectAll @Map.SelectObject $FrameObj @SendChars 5<CR> [ Операції з об'єктами.Розширити/стиснути ] @Map.DeselectAll @Map.SelectObject $FrameObj @Map.Selected.Delete Щоб передати значення параметрів в ексель можна використовувати меню Сервіс - Звіт. Але там буде експортуватися разом з тегами. можна використовувати спец. скрипт-модуль "Документація" (див. відео Модуль Документація та MS Word) |
Автор: | fendak [ 25 дек 2017 22:22 ] | ||
Заголовок сообщения: | Re: Все про скрипти | ||
Доброго дня. Чи не можна зробити так, щоб функція @Map.GetPublicMapQuarterInfo $X $Y, коли відсутній доступ до інтернету, не працює Публічна кадастрова карта чи просто ділянка виходить за межі України, не виводила помилку, а повертала значення "0"? Чи інший варіант - додати функцію, яка б перевіряла наявність доступу до ПКК
|
Автор: | voha [ 25 дек 2017 23:00 ] |
Заголовок сообщения: | Re: Все про скрипти |
fendak писал(а): Доброго дня. Чи не можна зробити так, щоб функція @Map.GetPublicMapQuarterInfo $X $Y, коли відсутній доступ до інтернету, не працює Публічна кадастрова карта чи просто ділянка виходить за межі України, не виводила помилку, а повертала значення "0"? Як варіант - обробка помилки:Код: @CheckErrors 0
$Res=@Map.GetPublicMapQuarterInfo $X $Y @CheckErrors 1 ;;перевірка, чи отримані дані з сервіса ПКК $YesError=@Calc Pos("<ERROR>","$Res") @If $YesError=0 then @Goto %BeingLoadedInfo ;;інформація про кадквартал не отримана з сервісу ПКК @Break Відсутнє з'єднання з мережею Internet або сервіс ПКК не працює ;;отримана інформація з ПКК %BeingLoadedInfo |
Автор: | fendak [ 28 дек 2017 19:33 ] |
Заголовок сообщения: | Re: Все про скрипти |
Дякую, voha. Це дійсно варіант! |
Автор: | Sergey Oleynik [ 29 дек 2017 11:03 ] |
Заголовок сообщения: | Re: Все про скрипти |
fendak писал(а): Доброго дня. Чи не можна зробити так, щоб функція @Map.GetPublicMapQuarterInfo $X $Y, коли відсутній доступ до інтернету, не працює Публічна кадастрова карта чи просто ділянка виходить за межі України, не виводила помилку, а повертала значення "0"? Переробили функції так, щоб вони повертали не помилку а пусту строку. |
Автор: | voha [ 29 дек 2017 14:03 ] |
Заголовок сообщения: | Re: Все про скрипти |
Приємно, коли підтримка в живому режимі. Чемно дякуємо за підтримку. |
Автор: | cvchiz [ 05 янв 2018 18:55 ] |
Заголовок сообщения: | Re: Все про скрипти |
Очередной вопрос. Необходимо установить в скрипте условие - "если датум in4 - msk 73, то ...." Какой командой это можно сделать? |
Автор: | fendak [ 05 янв 2018 19:35 ] |
Заголовок сообщения: | Re: Все про скрипти |
cvchiz писал(а): Необходимо установить в скрипте условие - "если датум in4 - msk 73, то ...." Какой командой это можно сделать? $D=@Map.Datum @if $D=SK63 then ... @if $D=MSK-73 then ... |
Автор: | cvchiz [ 05 янв 2018 20:08 ] |
Заголовок сообщения: | Re: Все про скрипти |
fendak писал(а): cvchiz писал(а): Необходимо установить в скрипте условие - "если датум in4 - msk 73, то ...." Какой командой это можно сделать? $D=@Map.Datum @if $D=SK63 then ... @if $D=MSK-73 then ... Благодарю. |
Автор: | Denidz [ 31 янв 2018 21:50 ] |
Заголовок сообщения: | Re: Все про скрипти |
Добрый день. Можно ли с помощью скрипта делать подписи длин сторон полигона, только те которые отвечают какому-либо условию? например выводить только те длины которые больше 1 м. В командах связанных с caption вроде бы ничего подобного нет. |
Автор: | Руслан Пархуць [ 01 фев 2018 18:58 ] |
Заголовок сообщения: | Re: Все про скрипти |
Denidz писал(а): Добрый день. Можно ли с помощью скрипта делать подписи длин сторон полигона, только те которые отвечают какому-либо условию? например выводить только те длины которые больше 1 м. В командах связанных с caption вроде бы ничего подобного нет. Можна, але iз застосуванням всiх вiдомих менi можливостей програми В даному випадку лiнiї L < 20 не пiдписуються. Код: $Sel=@Map.SelCount
@if $Sel=0 then @break Виберiть елементи $Obj=@Map.NextSelected $C1=@Calc Char(1) $C2=@Calc Char(2) $C3=@Calc Char(3) $C1=@DequoteText $C1 $C2=@DequoteText $C2 $C3=@DequoteText $C3 ; $Buf=@Map.GetObjectParamBuf $Obj ; пошук шару для довжин лiнiй -10 $Pos=@Calc Pos($C1-10$C3,"$Buf") @If $Pos=0 Then @Goto %ErrCaptionShow $BufS=@Calc Copy("$Buf",1,$Pos-1) $Buf=@Calc Delete("$Buf",1,$Pos-1) $BufS=@DequoteText $BufS $Buf=@DequoteText $Buf ; $Pos=@Calc Pos("L257","$Buf") $Pos=@DequoteText $Pos @If $Pos=0 Then @Goto %ErrCaptionShow $Pos=$Pos+1 ; $Count=@Map.Object[$Obj].Count $I=1 %Cycle $LineLen=@Map.Object[$Obj].LineLength[$I] ;------------------------------------------------------------------------------- ; умова(и) ;------------------------------------------------------------------------------- @If ($LineLen>20) Then @Goto %Next ;------------------------------------------------------------------------------- $Buf=@Calc Insert(Delete("$Buf",$Pos,3),"385",$Pos) $Buf=@DequoteText $Buf %Next $Pos=$Pos+4 ; $I=$I+1 @If $I<$Count Then @Goto %Cycle $Buf=@Calc <addword>$BufS$Buf$C2 $Buf=@Calc Replace("$Buf","<addword>","$C1") ; $Buf=@DequoteText $Buf ; @Map.SetObjectParamBuf $Obj|$Buf @Map.RefreshObject $Obj @Goto %End ; %ErrCaptionShow @Dialog.Message Створiть пiдписи довжин лiнiй для об'єкту %End |
Автор: | Denidz [ 02 фев 2018 14:22 ] |
Заголовок сообщения: | Re: Все про скрипти |
Вот спасибо огромное за труд, но не работает может версия у меня старая (от 15.06.2016 г.). Зато мне такие возможности программы были не известны, сам бы я такое не написал! |
Автор: | Руслан Пархуць [ 02 фев 2018 21:51 ] |
Заголовок сообщения: | Re: Все про скрипти |
Denidz писал(а): Вот спасибо огромное за труд, но не работает может версия у меня старая (от 15.06.2016 г.). Зато мне такие возможности программы были не известны, сам бы я такое не написал! Це як варіант, але потребує додаткових перевірок, бо зачіпає структуру документу і при неправильних діях може пошкодити документ. Працює, коли немає в параметрах слів з лапками, що також можна перевірити перед застосуванням. Попробуйте з пустим об'єктом, застосувавши відображення довжин ліній. |
Автор: | aisa-soft [ 05 фев 2018 21:09 ] |
Заголовок сообщения: | Re: Все про скрипти |
Доброго дня! //----------------- @Map.AddNodes ID70001 1 Добавляет пикеты в узлы помеченных объектов. Mode соответствует выбору в окне Добавить узлы (1-7). Было бы не плохо, если бы была возможность добавить только отсутствующие пикеты в слое (допустим в ID70001) [@Map.SelectLayer ID70001 (1-8) (0/1)]. |
Автор: | aisa-soft [ 05 фев 2018 21:35 ] | ||
Заголовок сообщения: | Re: Все про скрипти | ||
Как, с помощью скрипта разбить линию?
|
Страница 57 из 83 | Часовой пояс: UTC + 2 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |