Аналитика http://www.geosystema.net/forum/ |
|
Все про скрипти http://www.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 [ 39.34 Кб | Просмотров: 5946 ] Не важко й подивитись, відкривши текст скрипта в текстовому редакторі, але ж питання в зручності. Наперед дякую за підтримку. |
Автор: | Denidz [ 06 июн 2020 17:20 ] |
Заголовок сообщения: | Re: Все про скрипти |
Цитата: @Map.AdjustCaptions - зміщує підписи в карті таким чином, щоб уникнути накладання рамки підпису (ballon) на границю будь-якого об'єкта карти (вказане накладання існує, якщо границя об'єкта перетинає рамку підпису у двох точках - відтинає від рамки частину її площини). Таким чином, не зміщуються підписи, рамки яких накладаються одна на іншу, містять кінцеву точку лінійного об'єкта або точковий об'єкт. Что-то эта функция у меня не работает совсем. Вроде кстати были попытки написания скрипта, который бы смещал подпись при условии если она пересекается с другими объектами.. Может кто подскажет, а то найти не могу. |
Автор: | voha [ 06 июн 2020 18:31 ] |
Заголовок сообщения: | Re: Все про скрипти |
Denidz писал(а): @Map.AdjustCaptions - Что-то эта функция у меня не работает совсем... А якщо так:Код: @Map.AdjustCaptions працює?@Window.Refresh Вложение:
|
Автор: | Denidz [ 06 июн 2020 18:55 ] | ||
Заголовок сообщения: | Re: Все про скрипти | ||
Я именно так и делал) Разобрался в чем дело.. Когда надпись сильно большая, то может возникнуть ситуация, когда ее просто невозможно сдвинуть, чтоб она не пересекала какой-либо объект... соответственно она остается на месте.
|
Автор: | S@SH [ 11 июн 2020 13:20 ] |
Заголовок сообщения: | Re: Все про скрипти |
Denidz писал(а): Я именно так и делал) Разобрался в чем дело.. Когда надпись сильно большая, то может возникнуть ситуация, когда ее просто невозможно сдвинуть, чтоб она не пересекала какой-либо объект... соответственно она остается на месте. Осталось добиться чтоб надписи между собой не самопересекались... |
Автор: | 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 я пропустив (мій косяк ) ). Дуже дякую! |
Страница 72 из 83 | Часовой пояс: UTC + 2 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |