Я хотів на під кінець виконання скрипта деактивувати вікно Digitals-а , але якщо не можна при цьому активувати вікно попередньої проги - то змісту в @Window.Deactivate дійсно немає (або такий хід буде вказувати користувачу на необхідність продовжити роботу з іншим вікном).
Але дайте знати будь-ласка, чи прийнято:
1 можливість вказувати або LayerNumber, або ID шару в @Map.AddNodes LayerNumber Mode, та в інших функціях, які використовують ідентифікацію шару?
2 відобразити/приховати користувацьку панель інструментів (стан відображення при старті Digitals обумовлюється рядком файла *.tlb: Visible=1/0, але як змінити видимість панелі в одній сесії роботи?)
3 отримувати або назву перемикача в результаті повернутих даних, або 0 - якщо було натиснуто кнопку Скасувати/Закрити діалогового вікна @Dialog.Select. При використанні вказаного вікна в скрипті обробки події, коли від результату вибору залежить - чи застосувати зміни що викликали подію чи ні, натискання на кнопку ‘Скасувати’ або ‘Закрити’ спричиняє вихід з скрипта, та не дає можливості аналізувати результат. Зміни ж, спокійнісінько собі застосовуються - непорядок
Можно ли добавить на ровне с функциями - File.New, File.Exists - функцию - File.Delete?
Просто иногда нужно переместить файл находящийся в директории после его обработки - чтобы не путался больше - плюс добавив ему доп атрибуты - время, дату ну или ещё что-нибудь, а старый - удалить за ненадобностью? просто скопировать файл можно - задав при сохранении новый путь, а вот переместить или / и удалить - нет
И ещё - можно ли как-то получать имя пользователя Windows - т.е. оператора - кто делает сейчас работу? просто иногда нужно вести статистику - да и присваивать имена файлам связанные с именами операторов.
Да - И ещё - функция Map.Layers.Add - если у меня уже добавлен слой с такими параметрами (а именно ID - может можно сделать проверку для этой функции - уже существующего слоя с таким ID).
@Text.FolderList - можно ли добавить опцию - чтобы вложенные папки тоже можно было обрабатывать? Т.е. типа @Text.FolderList *.dmf Sub - и тогда получим все пути к файлам с подпапками (как это делается при перетаскивании папки с ин4 из проводника прямо в Диги - в этом случае ведь вытягиваются все файлы из всех директорий - входящих в первую - ту что ты тащишь (прошу прощения за мой диалект) .
… в зобу дыханье спёрло…
всем респект!!! (не слишком ли нескромно для блондинки? )
P.S. Только вот нелогично получается - что все функции с файлами начинаются с File…, а данная функция наоборот - поэтому и не нашла…
Поки що, мабуть, існування шару в карті краще перевірити кількома рядками скрипта, перебираючи по-порядку ID кожного існуючого шару.
Дуже дякую за оперативність Підкажіть будь-ласка, гілка ‘користувацький ToDo’ ще жива, чи останній “листок” з неї впав ще влітку? До роздумів - хотілося б закрити код скрипта від змін/читання паролем.
По темі запиту на функцію:
було б добре мати таку функцю @StatusMenu Name >True/False(за аналогією назви @ExecuteMenu InternalName) - повертала б/встановлювала б видимість користувацької панелі інструментів з назвою Name зі скриптами, а ще пунктів меню типу включено/виключено (Збір>Автозахоплення; Збір>Автопараметри і т.п.) з внутрішнім ім’ям?
При сборе в стерео возникает необходимость переключаться между слоями без выхода из самого стерео
Сейчас делаем так: переключение при помощи скриптов, которые в свою очередь повесили на горячие клавиши (итого получилось около 40 слоев можно переключать таким образом)
Но, хотелось бы, чтоб можно было повесить на горячие клавиши панели инструментов со скриптами так, чтоб при вызове окна панели инструментов в стерео режиме эта панель была активной, но из стерео не вываливалось, и при нажатии кнопки панели инструментов она сразу проподала.
Потом можно сделать несколько панелей по группам слоев, и сотворить для ихних кнопок иконки. Будет очень удобно.
Для чого переписати Можна дописати:
$T1=@Dialog.Ask Вкажіть шар що буде додавтись до списку
$A=@Map.Layers.List
@Text.Text=$A
$B=@Text.Count
$i=1
%Start
$T=@Text.Line[$i]
$T2=@StringPart 1 $T @If $T2=$T1 then @Break Шар ID$T1 існує в карті|не може бути доданий
$i=$i+1 @if $i=$B then @Break Шар ID$T1 не знайдено в карті|може бути доданий @Goto %Start
Але чому не працює:
$T2=@Calc Pos($T1,$T) хоча $T2=@Calc Pos(314,31405600) повертає 1. Невже Pos() та подібні для роботи з текстом не працюють зі змінними?
Розтолкуйте, будь-ласка, можливості функцій в парі з @Calc
Але тоді чому:
$T1=@Dialog.Ask Вкажіть шар що буде додавтись до списку
$A=@Map.Layers.List
@Text.Text=$A
$B=@Text.Count
$i=1
%Start
$T=@Text.Line[$i]
$T2=@Calc Pos($T1,$T) @Dialog.Message $T2 @If $T2=1 then @Break Шар ID$T1 існує в карті|не може бути доданий
$i=$i+1 @if $i=$B then @Break Шар ID$T1 не знайдено в карті|може бути доданий @Goto %Start .bmp (85.7 KB)
Є функція POS(Подстрока,S)
Возвращает позицию первого вхождения подстроки в строке S
Відповідно треба функцію RevPos(Подстрока,S)
Повертає позицію першого входження (з початку рядка), але перегляд на входження починає з кінця рядка S.
Можливий варіант: добавити функцію @GetFileName Filename - повертатиме коротке ім’я файла з його повного ім’я (повне ім’я файла включає шлях до файла) по аналогії з @GetFilePath Filename - повертає шлях до файла з повного ім’я.
Підкажіть, будь-ласка, як по-іншому (крім циклічного пошуку Pos() в скрипті) отримати коротке ім’я файла, вибраного в @Dialog.OpenFile *.txt, наприклад.
Проколи , чи то приколи з функцією Pos(), або я бамбула . Мабуть Pos() працює тільки з цифрами Не сумнівайтесь, всі знаки рядків набрані при кириличній розкладці.
Є вже таке.
В папці з Діджіталс повинні бути ГДС-файли з прикладом опису такого роду ходів.
Якщо не знайдете, то ось він: zasechka.zip (3.11 KB)
І ще пошукайте по форуму. Може хтось колись і згадував подібне.
У вікні редактування скрипта, в лівій частині радка стану, відображається дата і час останньої зміни панелі інструментів.
Дайте, будь-ласка, функцію, ака б повертала вказане значення. Дуже прошу , хоча б це, для захисту скрипта Закрити текст скрипта паролем
Есть файл file.qip.ru/file/QKEJC9Xu/%D0%A3 … %9B_3.html
нужно его сохранить в акад чтобы остались кружечки вокруг текста.
Все прекрасно сохраняется кроме маски вокруг текста.
Если слой ставлю условным знаком сохраняется, а если надпись с маской через параметры - нет
Предлогаю создать функцию, которая бы трансформировала систему координат в файлах привязки.
Так же нептохо было бы усовершенствовать сбор, добавив такую функцию. чтобы при оцифровке, например агрогрупп, нужно было “обвести” только первый полигон, а остальные “добавлять” к нему (чтобы программа сама рассчитывала общие поворотные точки полигонов), как это реализовано в линейке ESRI