voha писал(а):
fendak писал(а):
...як мітка %Start означає початок циклу, то яка мітка тоді означає кінець циклу? %Finish: ?
Поняття циклу For…Next в скриптовій мові немає. Є лише поняття переходу на мітку з умовою, аналог If...Then...Else. От і складайте "цикли". Рекомендую
Digitals-scripts.pdffendak писал(а):
...формула @Map.Layers.ObjectCount не працює. В любому випадку, є на карті шар 87 чи нема, карту перейменовує на 61...
От тільки пробував скрипт - працює справно. Дайте свій скрипт, попробую в себе.
Я би не використовував для ідентифікації шару в скрипті його порядковий номер. Тільки ID шару
З власного досвіду: порядок сортування шарів у менеджері шарів записується в карті. Отже, достатньо раз сортувати шари за алфавітом, зберігши зміни в карті - отримаєте непередбачуваний результат роботи скрипта.
І головне - яка у Вас версія Digitals?
Версія за 28.12.2013
Ось скрипт (той самий, що ви мені запропонували):
Код:
$N=@Map.SelCount
@If $N<>1 @Break Виділіть один об'єкт
$Z1=@Map.Layers.ObjectCount 87
@if $Z1>=1 then @Map.ChangeSelectedLayer 89 else @Map.ChangeSelectedLayer 61
Вибираю шар ІN4 ділянка і запускаю скрипт.
В результаті є на карті шар 35.1 капітальна чи нема, все одно перейменовує ділянку на 05 рілля. А повинно на 35.3 прибудинкова територія.
номери шарів співпадають, перевірив. Та й ніколи шари не сортую по-іншому, ніж вони є по замовчуванню.
А взагалі не поставив замість номерів шарів ID бо в описі деяких функцій в програмі Digitals в дужках написано написано пояснення "номер шару(неID). Не розумію, в яких випадках ставиться ID, а в яких номер шару.