Аналитика http://www.geosystema.net/forum/ |
|
Отличные новости для любителей автоматизации и тулбаров! http://www.geosystema.net/forum/viewtopic.php?f=1&t=778 |
Страница 4 из 5 |
Автор: | Bondarets Alexander [ 19 фев 2010 17:14 ] |
Заголовок сообщения: | Re: Отличные новости для любителей автоматизации и тулбаров! |
Цитата: Але в змінній $А знаходиться не імя файлу, а стрічка типу шлях_до_файлу+1234+'.dmf'. Що не так? Код: $Name=@Map.Filename
$Path=@GetFilePath $Name $Param=@Map.Selected.GetParameter 73 $A=$Path$Param.dmf @FileOpen $А |
Автор: | pippa [ 23 фев 2010 10:08 ] |
Заголовок сообщения: | Re: Отличные новости для любителей автоматизации и тулбаров! |
Можно ли сделать так - чтобы при создании кнопки на панели или при редактировании (при записи (при закрытии) ) - в начале скрипта добавлялись 2 коментария - первый - дата создания скрипта, а второй - дата последнего редактирования. Это помогает очень. Если взять любой ГИС продукт - там есть такая опция - не зря ведь И ещё - приходится закрывать панель и потом её открывать - чтобы сохранились изменения в кнопки - а если произошло аварийное закрытие программы - то вся панелька накрывается медным тазом - бывает что потом открывает такую длиннющую панель - хотя это была всег лишь одна кнопка - каким-то образом Диджиталс её разбрасывает по разным кнопкам. Спасибо. |
Автор: | Sergey Oleynik [ 25 фев 2010 15:44 ] |
Заголовок сообщения: | Re: Отличные новости для любителей автоматизации и тулбаров! |
pippa писал(а): Можно ли сделать так - чтобы при создании кнопки на панели или при редактировании (при записи (при закрытии) ) - в начале скрипта добавлялись 2 коментария - первый - дата создания скрипта, а второй - дата последнего редактирования. Это помогает очень. Если взять любой ГИС продукт - там есть такая опция - не зря ведь Дата последнего изменения TLB-файла теперь показывается в строке статуса при входе в редактирование скрипта. pippa писал(а): И ещё - приходится закрывать панель и потом её открывать - чтобы сохранились изменения в кнопки - а если произошло аварийное закрытие программы - то вся панелька накрывается медным тазом - бывает что потом открывает такую длиннющую панель - хотя это была всег лишь одна кнопка - каким-то образом Диджиталс её разбрасывает по разным кнопкам. Исправлено. Теперь TLB-файл сохраняется после каждого редактирования скрипта, а не при закрытии Digitals как раньше. При сохранении также создается файл *.tlb.bak с предыдущим вариантом. |
Автор: | misha_OD [ 26 фев 2010 13:53 ] |
Заголовок сообщения: | Re: Отличные новости для любителей автоматизации и тулбаров! |
Відмітив декілька обєктів - запустив скрипт, але змінюється тільки один обєкт. Не можу зрозуміти як переключити фокус на наступний вибраний обєкт. Пробував функцію @Map.NextSelected, але у неї напевно інше призначення. |
Автор: | Sergey Oleynik [ 26 фев 2010 15:02 ] |
Заголовок сообщения: | Re: Отличные новости для любителей автоматизации и тулбаров! |
misha_OD писал(а): Відмітив декілька обєктів - запустив скрипт, але змінюється тільки один обєкт. Не можу зрозуміти як переключити фокус на наступний вибраний обєкт. Пробував функцію @Map.NextSelected, але у неї напевно інше призначення. А что значит "переключить фокус"? Если вашему скрипту нужно выполнить какое-либо действие со всеми помеченными объектами, то @Map.NextSelected повзоляет в цикле перебрать их все. Примерно вот так: $S=0 %Start $S=@Map.NextSelected $S @If $S=0 then @Break ; ; здесь делаем то, что нам нужно, с объектом под номером $S ; @Goto %Start |
Автор: | misha_OD [ 26 фев 2010 15:44 ] |
Заголовок сообщения: | Re: Отличные новости для любителей автоматизации и тулбаров! |
Так. Потрібно обробити всі позначені обєкти. $S=0 %LABEL1 $S=@Map.NextSelected $S @Dialog.Message $S . . . @If $S<$Sel_Count @GOTO %LABEL1 Щось не зовсім працює. Використавши @Dialog.Message побачив, що в перший раз значення $S=1 і скрипт виконується, а в другий раз воно=0, (хоча повинно бути =2), і звісно що скрипт перестає виконуватись. |
Автор: | Sergey Oleynik [ 26 фев 2010 16:57 ] |
Заголовок сообщения: | Re: Отличные новости для любителей автоматизации и тулбаров! |
misha_OD писал(а): Щось не зовсім працює. Використавши @Dialog.Message побачив, що в перший раз значення $S=1 і скрипт виконується, а в другий раз воно=0, (хоча повинно бути =2), і звісно що скрипт перестає виконуватись. В вашем скрипте непонятно, где присвоена переменная $Sel_Count. Далее, сравнивать номер объекта с количеством помеченных объектов это неправильно. Между ними никакой связи. Помеченных может быть два объекта, а номера их могут быть, например, 100000 и 100001. Ведь NextSelected возвращает номер объекта карты (в пределах от 1 дo Map.Count), а не номер объекта в списке помеченных. Используйте тот скрипт, что я привел - он гарантировано рабочий. Зачем изобретать более сложный вариант? |
Автор: | misha_OD [ 26 фев 2010 18:30 ] |
Заголовок сообщения: | Re: Отличные новости для любителей автоматизации и тулбаров! |
Дякую! Але ще не все - як отримати порядковий номер активної карти, який можна використовувати в командах типу MAP[номер]. ? Код: $Sel_Count=@Map.SelCount @If $Sel_Count=0 @Break Немає вибраних об'єктів $Name=@Map.Filename $Pass=@GetFilePath $Name $S=0 $i=0 %LABEL1 $i=$i+1 $S=@Map[1].NextSelected $S $Number_Point=@Map[1].Object[$S].Parameter[ID40042] $1=$Pass\Абриси\$Number_Point.dmf @FileOpen $1 @If $i<$Sel_Count @GOTO %LABEL1 Скрипт відкриває нову карту, а потрібно щоб функція @Map[номер].Object[$S].Parameter[ID40042] обробляла обєкти з попередньо відкритої карти. І ще, що поверне команда $S=@Map.NextSelected, тобто без параметру LastNumber? |
Автор: | IvanShubin [ 28 фев 2010 16:56 ] |
Заголовок сообщения: | Re: Отличные новости для любителей автоматизации и тулбаров! |
ActivateMap - возвращает номер активной карты Map.NextSelected - вернёт тоже что и Map.NextSelected 0, а именно порядковый номер первого из выделенных объектов (в таких случах можно просто проверить что будет). |
Автор: | misha_OD [ 02 мар 2010 09:17 ] |
Заголовок сообщения: | Re: Отличные новости для любителей автоматизации и тулбаров! |
Дякую! |
Автор: | Александр [ 05 мар 2010 15:46 ] |
Заголовок сообщения: | Re: Отличные новости для любителей автоматизации и тулбаров! |
Возможно ли создание подписей не одного а нескольких параметров объекта (@Map.Selected.CreateCaptions ParamIndex Orientation Position VAlign HAlign ShiftX ShiftY)? |
Автор: | Dmitry_Zolotar [ 05 мар 2010 16:01 ] |
Заголовок сообщения: | Re: Отличные новости для любителей автоматизации и тулбаров! |
Александр писал(а): Возможно ли создание подписей не одного а нескольких параметров объекта (@Map.Selected.CreateCaptions ParamIndex Orientation Position VAlign HAlign ShiftX ShiftY)? @Map.Selected.CreateCaptions ParamIndex1 Orientation Position VAlign HAlign ShiftX ShiftY @Map.Selected.CreateCaptions ParamIndex2 Orientation Position VAlign HAlign ShiftX ShiftY |
Автор: | Александр [ 05 мар 2010 16:27 ] |
Заголовок сообщения: | Re: Отличные новости для любителей автоматизации и тулбаров! |
Спасибо!Очень помогает при подписи отметок колодцев,но не получается ориентирование подписи.Она у меня бухается только вниз. |
Автор: | pippa [ 18 мар 2010 13:28 ] |
Заголовок сообщения: | Re: Отличные новости для любителей автоматизации и тулбаров! |
А можно ли среди функций добавить функцию определения текущего системного времени и даты - иногда нужно сохранять файлы с текущей датой или временем в имени файла. Спасибо. |
Автор: | Dmitry_Zolotar [ 18 мар 2010 14:27 ] |
Заголовок сообщения: | Re: Отличные новости для любителей автоматизации и тулбаров! |
Не знаю поможет ли, так как в результате имеются символы запрещенные к использованию в именах файлов Код: $T=@Calc NOW
@Dialog.Message $T |
Страница 4 из 5 | Часовой пояс: UTC + 2 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |