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

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

Автор:  voha [ 14 апр 2020 20:31 ]
Заголовок сообщения:  Re: Все про скрипти

Доброго дня.

Хочу поцікавитись у розробників, щодо можливості налагодження роботи скриптів у покроковому режимі. Мабуть саме вікно класу TformSD (за нього вже йшлося "Отладчик скриптов с пошаговьім вьіполнением (Сервис|Настройки|Главная|Константьі ScriptDebugger=1)") можна називати дебагером, тому перед застосуванням скриптової функції
Dmitry_Zolotar писал(а):
...@Map.Lock - закриває вміст скриптів карти від дебагера
вирішив поекспериментувати. Виконана у скрипті обробки події OnFileOpen першою командою (при відкриванні карти), ця функція забороняє редагування й перегляд тексту скриптів обробки події рівня карти та її шарів у редакторі коду скрипта. Таким чином: за неможливості відкрити карту без авто-запуску скрипта при відкриванні карти, це ідеальний спосіб захисту скриптів обробки подій не тільки від "чужих" очей, але й від себе самого (якби не ScriptDebugger=1).

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

З дебагером не спішно: розумію, що важливішої роботи багато. Просто - нагадати.

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

Помилки "Duplicate labels" відслідковуватимуться в новій версії лише при ScriptDebugger=1, тобто при активному вікні дебагера.

Автор:  Denidz [ 19 май 2020 00:17 ]
Заголовок сообщения:  Re: Все про скрипти

Доброго времени суток. А есть ли обработчик события "изменение содержания таблицы"? тобишь когда меняется содержание объекта в слое с видом "table" нужно, чтоб срабатывал скрипт.

Автор:  Dmitry_Zolotar [ 19 май 2020 11:05 ]
Заголовок сообщения:  Re: Все про скрипти

Denidz писал(а):
Доброго времени суток. А есть ли обработчик события "изменение содержания таблицы"? тобишь когда меняется содержание объекта в слое с видом "table" нужно, чтоб срабатывал скрипт.

Попробуйте в новой версии событие %Events.OnChange, оно срабатывает для перемещений табличных объектов и при изменении содержимого таблицы через интерфейс.

Автор:  voha [ 06 июн 2020 11:31 ]
Заголовок сообщения:  Re: Все про скрипти

Доброго дня.

Є у мене питання до розробників щодо зручності написання скриптів: чи можна зробити так, щоб у текстовому полі вікна редактора скриптів (на скріншоті, наведеному нижче, відміченому червоним кольором) відображалися перші, закоментовані рядки тексту скрипта, на назві якого знаходиться курсор списку команд?
Вложение:
DemoScrypt.jpg
DemoScrypt.jpg [ 39.34 Кб | Просмотров: 5961 ]
Функціональних скриптів у теці Library - десятки, із-за цього забуваєш: які параметри скрипт повинний приймати.
Не важко й подивитись, відкривши текст скрипта в текстовому редакторі, але ж питання в зручності.

Наперед дякую за підтримку.

Автор:  Denidz [ 06 июн 2020 17:20 ]
Заголовок сообщения:  Re: Все про скрипти

Цитата:
@Map.AdjustCaptions - зміщує підписи в карті таким чином, щоб уникнути накладання рамки підпису (ballon) на границю будь-якого об'єкта карти (вказане накладання існує, якщо границя об'єкта перетинає рамку підпису у двох точках - відтинає від рамки частину її площини). Таким чином, не зміщуються підписи, рамки яких накладаються одна на іншу, містять кінцеву точку лінійного об'єкта або точковий об'єкт.

Что-то эта функция у меня не работает совсем. Вроде кстати были попытки написания скрипта, который бы смещал подпись при условии если она пересекается с другими объектами.. Может кто подскажет, а то найти не могу.

Автор:  voha [ 06 июн 2020 18:31 ]
Заголовок сообщения:  Re: Все про скрипти

Denidz писал(а):
@Map.AdjustCaptions - Что-то эта функция у меня не работает совсем...
А якщо так:
Код:
@Map.AdjustCaptions
@Window.Refresh
працює?
Вложение:

AdjustCaptions.wmv [ 1.91 Мб | Просмотров: 5949 ]

Автор:  Denidz [ 06 июн 2020 18:55 ]
Заголовок сообщения:  Re: Все про скрипти

Я именно так и делал) Разобрался в чем дело.. Когда надпись сильно большая, то может возникнуть ситуация, когда ее просто невозможно сдвинуть, чтоб она не пересекала какой-либо объект... соответственно она остается на месте.

Вложения:
.png
.png [ 55.31 Кб | Просмотров: 5948 ]

Автор:  S@SH [ 11 июн 2020 13:20 ]
Заголовок сообщения:  Re: Все про скрипти

Denidz писал(а):
Я именно так и делал) Разобрался в чем дело.. Когда надпись сильно большая, то может возникнуть ситуация, когда ее просто невозможно сдвинуть, чтоб она не пересекала какой-либо объект... соответственно она остается на месте.

Осталось добиться чтоб надписи между собой не самопересекались... :lol:

Автор:  osaaso [ 07 июл 2020 21:10 ]
Заголовок сообщения:  Re: Все про скрипти

Доброго всього всім!
Підкажіть, будь ласка, це правильний код, щоб визначити тип шару?:

Код:
$Object=@Map.SelectedObject
$ObjectProperties=@Map.Layers.Get $Object
$LayerType=@StringPart 2 $ObjectProperties
@Dialog.Message $LayerType

Автор:  osaaso [ 07 июл 2020 22:47 ]
Заголовок сообщения:  Re: Все про скрипти

osaaso писал(а):
Доброго всього всім!
Підкажіть, будь ласка, це правильний код, щоб визначити тип шару?:

вибачуха - сам розібрався ). Заблукав між трьома, точніше двома соснами - номер об'єкту, номер шару об'єкту
Код:
$NumberObject=@Map.SelectedObject
$NumberLayerObject=@Map.Object[$NumberObject].Layer
$ObjectLayerProperties=@Map.Layers.Get $NumberLayerObject
$LayerType=@StringPart 2 $ObjectLayerProperties
@Dialog.Message $LayerType

Автор:  osaaso [ 15 июл 2020 16:12 ]
Заголовок сообщения:  Re: Все про скрипти

Підкажіть, будь ласка, як замінити круглі дужки в текстовому рядку ( ) на такі слеші / /
пишу так:
Код:
$Line=для будівництва і обслуговування житлового будинку, господарських будівель і споруд (присадибна ділянка)
$Line=@Calc Replace("$Line","(","/")
$Line=@DequoteText $Line
@Dialog.Message 1 $Line
$Line=@Calc Replace("$Line","(","/")
$Line=@DequoteText $Line
@Dialog.Message 2 $Line

другий месидж некоректно відображається

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

osaaso писал(а):
Підкажіть, будь ласка, як замінити круглі дужки в текстовому рядку ( ) на такі слеші / /
пишу так:
Код:
$Line=для будівництва і обслуговування житлового будинку, господарських будівель і споруд (присадибна ділянка)
$Line=@Calc Replace("$Line","(","/")
$Line=@DequoteText $Line
@Dialog.Message 1 $Line
$Line=@Calc Replace("$Line","(","/")
$Line=@DequoteText $Line
@Dialog.Message 2 $Line

другий месидж некоректно відображається

Код:
$Line=для будівництва і обслуговування житлового будинку, господарських будівель і споруд (присадибна ділянка)
$Line=@Calc Replace(Replace("$Line","(","/"),")","/")
$Line=@DequoteText $Line
@Dialog.Message $Line

Код:
$Line=для будівництва і обслуговування житлового будинку, господарських будівель і споруд (присадибна ділянка)
$Line=@ReplaceChar (/$Line
$Line=@ReplaceChar )/$Line
@Dialog.Message $Line

Автор:  osaaso [ 15 июл 2020 18:18 ]
Заголовок сообщения:  Re: Все про скрипти

Цитата:
$Line=@Calc Replace(Replace("$Line","(","/"),")","/")
не знав, що можна у такому форматі, а @ReplaceChar я пропустив (мій косяк ) ). Дуже дякую!

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

osaaso писал(а):
Цитата:
$Line=@Calc Replace(Replace("$Line","(","/"),")","/")
не знав, що можна у такому форматі, а @ReplaceChar я пропустив (мій косяк ) ). Дуже дякую!
Там "косяк" не у форматi запису (так можна i треба поєднувати, щоб зменшити довжину коду i менше перетворювати змiннi, типу Dequote). Ви два рази одну i ту ж дужку ( мiняли на символ / :).

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