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

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

Автор:  fendak [ 29 авг 2017 20:04 ]
Заголовок сообщения:  Re: Все про скрипти

Скрипт для виділення ділянок по списку кадастрових номерів - http://digitals.at.ua/load/vidilennja_d ... v/1-1-0-14

Автор:  VictorR [ 09 сен 2017 14:35 ]
Заголовок сообщения:  Re: Все про скрипти

Подскажите функцию которая выполняет команду "Добавить узлы", и еще как менять размер кнопок скриптов?

Автор:  fendak [ 09 сен 2017 14:47 ]
Заголовок сообщения:  Re: Все про скрипти

VictorR писал(а):
Подскажите функцию которая выполняет команду "Добавить узлы"

@Map.AddNodes LayerNumber Mode - додає точки у вузли виділених об'єктів. Mode відповідає вибору у вікні Добавити вузли (1-7) (аналогічно кнопці на закладці Правка)

VictorR писал(а):
как менять размер кнопок скриптов

у папці Digitals по назві знайдіть потрібну панель інструментів. Це файли з розширенням tlb. Відкрийте такий файл блокнотом. Він має починатися з рядків типу цього:
ShowHeader=0
Left=1182
Top=58
Width=30
Height=30
Visible=1
Names=


де
Left - позиція на екрані від від лівого краю
Top - позиція на екрані згори
Width - ширина панелі інструментів
Height - висота панелі інструментів
Visible - чи панель активна (видима)
Names - назва.

Відредагуйте пункти Width та Height

Для того, щоб всі наступні нові панелі інструментів створювалися з розмірами, які ви хочете, зайдіть в Сервіс-Налаштування-Загальне. Знайдіть у вікні констант:
ToolbarSize=30
Задайте потрібне значення.

Автор:  shyrko [ 15 ноя 2017 10:09 ]
Заголовок сообщения:  Re: Все про скрипти

$Name=@Map.Filename
$Path=@GetFilePath $Name
$Kadnum=@Map.XMLCadastralNumber
@Dialog.SaveFile *.xml $Path\$Kadnum

Щось не хоче зберігати, не підкажете в чому може бути причина

Автор:  Руслан Пархуць [ 15 ноя 2017 10:34 ]
Заголовок сообщения:  Re: Все про скрипти

shyrko писал(а):
$Name=@Map.Filename
$Path=@GetFilePath $Name
$Kadnum=@Map.XMLCadastralNumber
@Dialog.SaveFile *.xml $Path\$Kadnum

Щось не хоче зберігати, не підкажете в чому може бути причина

Який формат кадастрового номера? З двокрапкою?
...
@Dialog.SaveFile Filter Filename викликає стандартний діалог збереження (створення) файлу, повертаючи певній перемінній шлях до файлу.

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

shyrko писал(а):
Щось не хоче зберігати, не підкажете в чому може бути причина


$Name=@Map.Filename
$Path=@GetFilePath $Name
$Kadnum=@Map.XMLCadastralNumber
$FN=@Dialog.SaveFile *.xml $Path\$Kadnum
@if $FN= then @Break
@Map.SaveToFile $FN

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

Допоможіть створити скрипт який би виділяв 3 найближчі обєкти відповідно до поміченого. :!: І якщо це можливо: щоб помічались обєкти певного шару.

Автор:  Руслан Пархуць [ 15 ноя 2017 15:20 ]
Заголовок сообщения:  Re: Все про скрипти

VictorR писал(а):
Допоможіть створити скрипт який би виділяв 3 найближчі обєкти відповідно до поміченого. :!: І якщо це можливо: щоб помічались обєкти певного шару.

1. Помітити об'єкти певного шару @Map.selectlayer
2. Пошук мінімальної довжини між об'єктами @Map.minobjectdistance
Сам алгоритм - цикл з пошуком довжин+запис в текстовий масив (довжина ID_об'єкту+сортування=перші три об'єкти і є найближчими до поміченого

Автор:  13vp [ 15 ноя 2017 18:04 ]
Заголовок сообщения:  Re: Все про скрипти

Планую за допомогою скрипта розбити лінію на рівні відрізки. Яка функція відповідає за це?

Вложения:
-линии-на-отрезки.jpg
-линии-на-отрезки.jpg [ 37.27 Кб | Просмотров: 8216 ]

Автор:  Руслан Пархуць [ 15 ноя 2017 20:17 ]
Заголовок сообщения:  Re: Все про скрипти

13vp писал(а):
Планую за допомогою скрипта розбити лінію на рівні відрізки. Яка функція відповідає за це?

Якщо на двi лiнiї i скриптом, тодi так
Код:
$Sel=@Map.NextSelected 0
$P1=@Map.Object[$Sel].Point[1]
$P1=%Library.ReplaceComma $P1
$P2=@Map.Object[$Sel].Point[2]
$P2=%Library.ReplaceComma $P2
;
$X1=@StringPart 1 $P1
$Y1=@StringPart 2 $P1
;
$X2=@StringPart 1 $P2
$Y2=@StringPart 2 $P2
;
$X3=($X1+$X2)/2
$Y3=($Y1+$Y2)/2
@Map.Object[$Sel].Insert 1 $X3 $Y3
;

Автор:  13vp [ 16 ноя 2017 09:26 ]
Заголовок сообщения:  Re: Все про скрипти

Руслан Пархуць писал(а):
Якщо на двi лiнiї i скриптом, тодi так


Дякую

Автор:  YuretsGr [ 20 ноя 2017 21:08 ]
Заголовок сообщения:  Re: Все про скрипти

Чи є можливість вивести вікно для вводу тексту як @Dialog.Ask але з багатьма полями і поєднати з функцією @Dialog.Select. щоб все було в одному вікні?
Чи є функція яка викликає вікно для вводу параметрів, наприклад «інформація про власника або користувача земельної ділянки»?
Дякую.

Автор:  Руслан Пархуць [ 21 ноя 2017 16:51 ]
Заголовок сообщения:  Re: Все про скрипти

YuretsGr писал(а):
Чи є можливість вивести вікно для вводу тексту як @Dialog.Ask але з багатьма полями і поєднати з функцією @Dialog.Select. щоб все було в одному вікні?
Чи є функція яка викликає вікно для вводу параметрів, наприклад «інформація про власника або користувача земельної ділянки»?
Дякую.
Можна за допомогою ф-цiї @Dialog.EditParameter вивести щось подiбне (в параметрi задайте потрiбний формат пiдписiв)
Код:
$Obj=@Map.NextSelected 0
$Prm=@Map.Parameters.FindByID 41
@Dialog.EditParameter $Prm

Автор:  fendak [ 21 ноя 2017 23:55 ]
Заголовок сообщения:  Re: Все про скрипти

YuretsGr писал(а):
Чи є можливість вивести вікно для вводу тексту як @Dialog.Ask але з багатьма полями і поєднати з функцією @Dialog.Select. щоб все було в одному вікні?
Чи є функція яка викликає вікно для вводу параметрів, наприклад «інформація про власника або користувача земельної ділянки»?
Дякую.


Я роблю так, як написав Руслан вище. Але тут ще обов'язково треба перед тим задавати параметру маску. Виглядає воно ось так:

$V=@Calc Char(124)
$V=@DequoteText $V
@Map.DeselectAll
$N=@Map.NewObject ID10000
@Map.Object[$N].Point[1] 100 100
@Map.RefreshObject $N
@Map.SelectObject $N
@SelectTab 3
;створюємо параметр ID12345 при його відсутності
$Par=@Map.Parameters.Get ID12345
@if $Par= then @Map.Parameters.Add 12345 5 Вибір чогось
;добавляємо параметр ID12345 в список доступних шару ІН4 Квартал
$ParDil=@Map.Layers.GetValidParameters ID12345
@Map.Layers.SetValidParameters ID10000 $ParDil ID12345
@Map.Parameters.Mask ID12345 *=Значення1,*=Значення2,*=ще щось@ Пункт1$V Пункт2$V Ще щось
@Dialog.EditParameter ID12345
$AVse=@Map.Object[$N].Parameter[ID12345]
$Z1=@StringPart 1,$AVse
$Z2=@StringPart 2,$AVse
$Z3=@StringPart 3,$AVse
@Dialog.Message $Z1|$Z2|$Z3


Суть цього коду в тому, що створюється новий об'єкт ІН4 Квартал, в ньому створюється новий параметр, задається його маска і викликається редагування цього параметра. Маскою задається кількість і значення окремих полів.

Але цей метод має ряд мінусів. Тому я просив в розробників про схоже діалогове вікно з можливістю вибрати декілька варіантів чи щось типу цього.

Не зрозумів, що ви маєте на увазі під "поєднати з функцією @Dialog.Select"? Для якої це задачі таке потрібно?

Функція, яка викликає вікно для вводу параметрів - це якраз @Dialog.EditParameter. Але такі складні вікна параметрів, доступ до яких йде через інші загальніші вона не викличе. Для цього можна використовувати звичайну функцію @Dialog.Ask Text, а потім іншими спеціальними функціями отримане значення вписувати в теги в потрібне місце.

Автор:  YuretsGr [ 22 ноя 2017 19:04 ]
Заголовок сообщения:  Re: Все про скрипти

Дякую за відповіді.
fendak писал(а):
Не зрозумів, що ви маєте на увазі під "поєднати з функцією @Dialog.Select"? Для якої це задачі таке потрібно?

Пробую створити свій скрипт. Було б не погано щоб була така можливість поєднати в одному вікні, щось наприклад такого
Вложение:
exemple.jpg
exemple.jpg [ 57.74 Кб | Просмотров: 8100 ]

Ще виникло декілька запитань :)
1 . Як намалювати рамку реквізитів ОФ скриптами?
2. Є якась можливість експортувати дані заповненого xml з Digitals в Excel? Щоб певні ячейки заповнювалися даними. У нас вся документація формується в Excel

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