Аналитика
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 коментария - первый - дата создания скрипта, а второй - дата последнего редактирования. Это помогает очень. Если взять любой ГИС продукт - там есть такая опция - не зря ведь :wink:

И ещё - приходится закрывать панель и потом её открывать - чтобы сохранились изменения в кнопки - а если произошло аварийное закрытие программы - то вся панелька накрывается медным тазом - бывает что потом открывает такую длиннющую панель - хотя это была всег лишь одна кнопка - каким-то образом Диджиталс её разбрасывает по разным кнопкам. :oops:

Спасибо. :lol:

Автор:  Sergey Oleynik [ 25 фев 2010 15:44 ]
Заголовок сообщения:  Re: Отличные новости для любителей автоматизации и тулбаров!

pippa писал(а):
Можно ли сделать так - чтобы при создании кнопки на панели или при редактировании (при записи (при закрытии) ) - в начале скрипта добавлялись 2 коментария - первый - дата создания скрипта, а второй - дата последнего редактирования. Это помогает очень. Если взять любой ГИС продукт - там есть такая опция - не зря ведь :wink:

Дата последнего изменения TLB-файла теперь показывается в строке статуса при входе в редактирование скрипта.
pippa писал(а):
И ещё - приходится закрывать панель и потом её открывать - чтобы сохранились изменения в кнопки - а если произошло аварийное закрытие программы - то вся панелька накрывается медным тазом - бывает что потом открывает такую длиннющую панель - хотя это была всег лишь одна кнопка - каким-то образом Диджиталс её разбрасывает по разным кнопкам. :oops:

Исправлено. Теперь 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/