Bondarets Alexander писал(а):
Насколько я понял речь именно о скриптах в Digitals. Тогда вот пример простого скрипта, который показывает площадь помеченного объекта сначала в га, затем в кв. м. Для получения площади в кв. м используется функция
Calc, которая вызывается неявно при наличии математического выражения в правой части. К параметру можно обращатся не только по номеру, но и по коду,например - GetParameter ID10000.
Код:
$S=@Map.Selected.GetParameter 0
@Dialog.Message Площадь, га=$S
$S2=$S*10000
@Dialog.Message Площадь, м2=$S2
На всякий случай напишу как этот скрипт вставить в Digitals. Используйте команду
Окно>Создать панель инструментов для создания новой панели. Затем кликните правой кнопкой по панели и выберите
Добавить кнопку, скопируйте скрипт с этой страницы и вставьте в правую текстовую панель окна
Выбор команд для кнопки. Затем пометьте на карте любой площадной объект и нажмите добавленную кнопку.
7.11.2008
Спасибо, Александр.
мой скрипт выглядел примерно также, проблема в том, что программа почему-то не воспринимает математические выражения как таковые, а выдает в результат само выражение, т.е.на примере вашего скрипта я получила как результат сообщение: "Площадь, м2=1814.88*10000" (где 1814.88 - площадь выделенного объекта).
Самое непонятное то, что скрипт работает у людей, которые меня консультируют. Карта, в которой запускается скрипт, тестовая, т.е.содержит только один слой с одним объектом, у которого задан один параметр
К слову сказать, если для функции Map.Selected.GetParameter указывать ID, появляется сообщение об ошибке..
10.11.2008
Проблема с мат.выражением разрешилась.Банально.В региональных настройках винды как разделитель целой и дробной части для чисел и для денежного формата стояла "," - изменила на "." и все заработало, считает и выводит результат