Потрібна функція для повного переривання роботи скрипту, або доповнення функції @break.
Якщо із скрипту викликати свою бібліотеку *.dsf і у ній є @break, то завершується робота лише бібліотеки, а скрипт продовує виконуватися далі. Було б добре мати функцію, наприклад @interrapt, як б повністю завершувала роботу скрипту і усіх вложених скриптів.
P.S. Я можу реалізувати цю логіку обхідними шляхами, наприклад у бібліотеці повертати $result=break,
а потім робити перевірку @if $result=break then @break, проте хотілося б щось простіше
Сохранение в PDF - это, фактически, печать на первый принтер, из списка установленных, в имени которого содержится подстрока “PDF”. Сохранение результата печати - функция PDF-принтера, зависящая от конкретной реализии. В PDF24, например, можно сохранять так:
[attachment=0]PDF24Settings.png[/attachment]
Коли Digitals формує букви суміжників, то він, якщо мова Windows російська, бере чомусь російський алфавіт для експлікації замість українського. І якщо експлікацію формувати не програмою, а скриптами, то не вистачає функції, яка б визначала мову Windows, або повертала той самий алфавіт, який використовується системою, щоб співпадали букви на плані і в експлікації. Чи можна додати таку функцію?
Або ж зробіть алфавіт експлікації українським, чого він прив’язаний до мови Windows?
функция @DeleteFile вроде как некорректно работает. Она должна возвращать 0 если файл успешно удален. Но если файл, который я пытаюсь удалить (допустим pdf) открыт в какой-либо программе, то он не удаляется, а функция все равно возвращает 0.
Є шаблон кадастрового плану у форматі .дмт
Хочу зробити щоб угіддя підписувались автоматично, бо в мене виходить таке як на скріні.
Як це можливо зробити? Спробував додати у таблицю P[ID7000901], але певно, щось у команді не так.
Площі вірні, але підпис доводиться виправляти вручну
На скільки я розумію не має такої функції в скриптах, яка перевіряє статус (натиснута чи не натиснута) кнопка. Це стосується усіх кнопок на закладці “Збір” - “Шаблон збору” і “Режим конструювання”.
Наприклад щоб в скрипті можна було використовувати:
;…
;перевірити статус кнопки включення режиму переміщення
$Status=@ExecuteMenu spbMove (або $Status=spbMove) повертає значення “0” чи “1” тобто “викл.” чи “вкл.” @If $Status=0 then @ExecuteMenu spbMove (включає режим переміщення) @If $Status=1 then @ExecuteMenu spbMove (виключає режим переміщення)
;…
Чи можливо таке реалізувати?
І ще одне побажання-запитання (можливо існує така функція, але я не можу знайти):
“+” або “-” на клавіатурі змінює масштаб об’єктів, що відображається на екрані. Питання чи є скриптова команда для цього? Не встановити певний масштаб (наприклад: popScale | 1:2000), а щось типу “popScale | +” чи “popScale | -” збільшити чи зменшити на один крок масштаб.
Такі функції є:
[ panTools.Збільшити ]
[ panTools.Зменшити ]
Функції, яка б повертала статус (натиснута/ненатиснута) кнопки справді не вистачає, підтримую.
Cтатус тої чи іншої кнопки можна отримати без спеціальної скриптової функції. Але тільки на момент відкриття програми.
Наприклад, потрібно знати, чи натиснути кнопка Шаблон збору - Прямокутник:
От якби розробники Digitals могли винести інформацію про статус кнопок в реальному часі у якийсь файл типу Ged.ini, тоді можна було б отримати статус, який в процесі роботи.
Додано функцію @MenuState InternalName
Повертає 1 якщо пункт меню помічений або кнопка натиснута, інакше - 0. InternalName - внутрішнє ім’я компонента (пункту меню або кнопки)
Приклад використання:
;перевірка поточного вигляду
$V=@MenuState ViewDraft
@if $V=1 then @Text[1].Add Черновой вид
$V=@MenuState ViewNormal
@if $V=1 then @Text[1].Add Обычный вид
$V=@MenuState ViewPageLayout
@if $V=1 then @Text[1].Add Полный вид
$V=@MenuState ViewPrintPreview
@if $V=1 then @Text[1].Add Распечатка
$V=@MenuState View3D
@if $V=1 then @Text[1].Add Трехмерный вид
$V=@MenuState ViewRotated
@if $V=1 then @Text[1].Add Развернутый вид
$V=@MenuState ViewThematic
@if $V=1 then @Text[1].Add Тематический вид
$V=@MenuState spbSynchronize
@if $V=1 then @Text[1].Add Синхронизация точек - вкл.
@if $V=0 then @Text[1].Add Синхронизация точек - выкл.
$V=@MenuState spbShowCenters
@if $V=1 then @Text[1].Add Показ центров - вкл.
@if $V=0 then @Text[1].Add Показ центров - выкл.
$Mess=@Text[1].Text
@Dialog.Message $Mess
;
Ще приклад:
;гарантовано увімкнутий стан синхронізації точок після виконання скрипта
$V=@MenuState spbSynchronize
@if $V=0 then @ExecuteMenu spbSynchronize
Доброго дня шановні розробники!
Чи існує функція яка б дала можливість повернути масштаб зображення? Якщо такої функції не існує то дуже велике прохання до Вас додати щось типу @Window.GetScale . Запит на функцію пов’язаний із бажанням контролювати рендеринг карти. При великій кількості обєктів карти із підписами, потрібно вимикати або вмикати різні види відображення - так як це можливо у всіх інших ГІС продуктах типу QGIS
Дякую за відповідь!
Доброго вечора розробникам Digitals!
У скриптовому вікні наявна функція Вікно | Назва панелі інструментів. Вона не виконує жодних дій. Чи можливо додати до неї дію, яка б знімала та ставила галочку у меню Вікно навпроти даної панелі інструментів, тим самим, щоб появилась можливість скриптом приховувати відповідну панель інструментів.
Доброго!
В новій версії у відповідних пунктів меню Вікно з’явилось внутрішнє ім’я, яке генерується з назви tlb-файлу. По цьому імені можна перевіряти стан відповідної “галочки” у меню Вікно. Внутрішнє ім’я можна побачити у інформ. рядку вікна редагування скриптів.
;Відкриття панелі “Кроки”
$MS=@MenuState Toolbar7045293 @if $MS=0 then @ExecuteMenu Toolbar7045293
;Закриття панелі “Кроки”
$MS=@MenuState Toolbar7045293 @if $MS=1 then @ExecuteMenu Toolbar7045293
Використання команди Вікно | Назва_Панелі аналогічно @ExecuteMenu … , але залежить від мови інтерфейсу.