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

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

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

Надо добавить команду скрипта меняющую содержимое объектов-таблиц? Сделаем

Автор:  Dmitry_Zolotar [ 19 фев 2013 17:45 ]
Заголовок сообщения:  Re: Все про скрипти

Такая команда уже есть - это @Map.Object[N].TableText [NewText]
параметром задаем текст таблицы, разделитель между строками - возврат каретки, разделитель между ячейками - табулятор
получить табулятор в скрипте можно так:
Код:
$Tab=@Calc char(9)
$Tab=@DequoteText $Tab


Пример работы @Map.Object[N].TableText:
Код:
;Скрипт меняет содержимое помеченной таблицы
$Tab=@Calc char(9)
$Tab=@DequoteText $Tab
$Col2=X
$Col3=Y
$Row=Номер п/п
$Row=$Row$Tab$Col2
$Row=$Row$Tab$Col3
@Text[1].Add $Row
$Col2=2.3
$Col3=3.5
$Row=1
$Row=$Row$Tab$Col2
$Row=$Row$Tab$Col3
@Text[1].Add $Row
$Col2=3.6
$Col3=-4.5
$Row=2
$Row=$Row$Tab$Col2
$Row=$Row$Tab$Col3
@Text[1].Add $Row
$S=@Text[1].Text
$SO=@Map.SelectedObject
@Map.Object[$SO].TableText $S
Вид | Обновить

Автор:  Deffar [ 20 фев 2013 10:55 ]
Заголовок сообщения:  Re: Все про скрипти

Dmitry_Zolotar писал(а):
Такая команда уже есть - это @Map.Object[N].TableText [NewText]
Как раз то что надо. И за пример использования спасибо, так бы сходу не разобрался.

Автор:  Deffar [ 25 фев 2013 10:26 ]
Заголовок сообщения:  Re: Все про скрипти

Здравствуйте. За выходные под собирал вопросов :wink:
Изображение
Ошибка возникает если количество строк в скрипте превышает 256, маловато :? , а с текстовыми файлами
работать неудобно, ввиду отсутствия "подсветки" переменных, да еще и с большим объемом текста.
Вот бы функцию для открытия текстового файла в окне редактирования скрипта ? Такое возможно ?
-
Как выполнить склонение по падежам ROP и DAP в скрипте ?
Нарыл на форуме:
$SO=@Map.SelectedObject
$ROPNM=@Map.Object[$SO].CalculateFormula ROP(P[NM])
@Dialog.Message $ROPNM

Для in4 - работает. Как поступить если значение получаем из XML-файла при помощи @XML.XPath ?
-
Имеем:
$ADR=садівниче товариство "Енергія"
$Length=@Calc Length("$ADR")
@Dialog.Message $Length

Думаю проблема понятна ... Можно как-то побороть или это тупик ?

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

Без проверки количества собственников и их типа (физособа или юрособа)
Код:
$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

Для N-ого собственника заменить порядковый номер в ...ProprietorInfo[1]...

Автор:  Deffar [ 26 фев 2013 09:32 ]
Заголовок сообщения:  Re: Все про скрипти

Дякую, як завжди все просто ...

Автор:  shyrko [ 27 фев 2013 17:03 ]
Заголовок сообщения:  Re: Все про скрипти

$CN=@Map.XMLCadastralNumber
$KO=@Calc Copy($CN,1,8)
Як за допомогою скрипта витягти із текстового списку "RadaNM" ПІБ голови місцевої ради і записати в якусь змінну за КОАТУУ (перші 8 цифр параметра $CN), за аналогією з функцією SEF(CUT(1,8,P[ID106]),RadaNM.txt)

Автор:  Dmitry_Zolotar [ 27 фев 2013 17:42 ]
Заголовок сообщения:  Re: Все про скрипти

Как-то так
Код:
$SO=@Map.SelectedObject
$CN=@Map.XMLCadastralNumber
$RadaID=@Calc Copy($CN,1,8)
$RadaID=@DequoteText $RadaID
$RadaNM=@Map.Object[$SO].CalculateFormula SEF($RadaID,RadaNM.txt)

Автор:  Denidz [ 28 фев 2013 01:14 ]
Заголовок сообщения:  Re: Все про скрипти

Помогите скриптом плс. нужно выделенный полигон перенести на другую карту(где будут другие полигоны) и в зависимости внутрь какого он полигона попадет унаследовать некоторые параметры и перенести эти параметры на первоначальную карту. (как же криво я описал). т.е. выделяем объект на открытой карте, потом открываем дмф где лежат полигоны внутрь которых он должен попасть, переносим его туда, наследуем нужные параметры и вставляем обратно спец вставкой только параметры, закрываем дмф из которого наследовались параметры.

Автор:  Bondarets Alexander [ 28 фев 2013 09:35 ]
Заголовок сообщения:  Re: Все про скрипти

Denidz писал(а):
Помогите скриптом плс. нужно выделенный полигон перенести на другую карту(где будут другие полигоны) и в зависимости внутрь какого он полигона попадет унаследовать некоторые параметры и перенести эти параметры на первоначальную карту. (как же криво я описал). т.е. выделяем объект на открытой карте, потом открываем дмф где лежат полигоны внутрь которых он должен попасть, переносим его туда, наследуем нужные параметры и вставляем обратно спец вставкой только параметры, закрываем дмф из которого наследовались параметры.


Вот сделал пример viewtopic.php?p=14979&f=1#14979

Автор:  Denidz [ 28 фев 2013 10:42 ]
Заголовок сообщения:  Re: Все про скрипти

Спасибо, очень оперативно!

Автор:  Denidz [ 05 мар 2013 13:54 ]
Заголовок сообщения:  Re: Все про скрипти

работает ли в скриптах функция SEF?

Автор:  Dmitry_Zolotar [ 05 мар 2013 14:27 ]
Заголовок сообщения:  Re: Все про скрипти

Denidz писал(а):
работает ли в скриптах функция SEF?

viewtopic.php?p=14973#14973

Автор:  Denidz [ 05 мар 2013 15:07 ]
Заголовок сообщения:  Re: Все про скрипти

спасибо, не доглядел. а было на пару постов выше. :roll:

Автор:  Denidz [ 05 мар 2013 20:26 ]
Заголовок сообщения:  Re: Все про скрипти

Цель создать скрипт который будет считать площадь выделенных объектов не зависимо в каких слоях они находятся (могу быть в разных) и не зависимо от наличия в слоях параметра с площадью( в слое вообще может не быть параметров). т.е. как-нибудь расчитать площадь так сказать на внутреннем уровне через P[0]. просто такая кнопка будет страшно экономить время :D как я понял пока такое вообще не возможно, но очень бы хотелось. можно создать функцию GetAreaAllSel.

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