Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 19 апр 2024 14:00

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 1369 ]  На страницу Пред.  1 ... 32, 33, 34, 35, 36, 37, 38 ... 92  След.
Автор Сообщение
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 16 сен 2011 00:02 
Специалист
Специалист

Зарегистрирован:
30 авг 2011 20:40
Сообщения: 20
Sergey Oleynik писал(а):
Не совсем понятно, где это все хранить. Я имею в виду тексты скриптов?
Просто дать возможность добавлять такие скрипты в любую кнопку, по аналогии с OnSelect или OnChange?
Тогда они будут срабатывать на открытие любой карты.
Если хранить в DMF, то OnFileOpen сработает только для той карты, в которой есть скрипт, а такие как StartUp, вообще теряют смысл.

Я предлагаю разделить эти скрипты на две группы:
1 группа) общие скрипты дижиталса (хранить, например, в файле Digitals.dsf в корне программы). В этом файле могут быть определены:
%Events.StartUp - функции, выполняемые один раз после запуска дижиталс
%Events.OnFileOpen - функции, выполняемые после открытия каждой карты,
%Events.OnFileNew - функции, выполняемые после создания каждой новой карты,
%Events.OnFileClose - функции, выполняемых до начала закрытия каждой карты,
%Events.OnFileExit - функции, выполняемые перед закрытием оболочки дижиталса

2 группа) скрипты конкретной карты (хранить в карте, назначать в свойствах карты, не на кнопки).
%Events.OnFileOpen - функции, выполняемые после открытия конкретной карты,
%Events.OnFileSave - функции, выполняемые до начала записи конкретной карты,
%Events.OnFileClose - функции, выполняемых до начала закрытия каждой карты,

Следует заметить, что обработчики событий 1 и 2 группы могут включать обработчиков событий объектов, например в следующем коде в секции %Events.StartUp определяются два обработчика - для сбора и редактирования объектов всех карт:
Код:
%Events.StartUp
%Events.Collect
;код обработки сбора нового объекта
%Events.OnChange
;код обработки при редактировании объекта
...
%Events.OnFileNew
;код обработки при создании новой карты
...

думаю, идея понятна.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 16 сен 2011 15:41 
Гуру
Гуру

Зарегистрирован:
26 фев 2007 12:04
Сообщения: 1751
Откуда: Vinnitsa
Цитата:
%Events.StartUp - функции, выполняемые один раз после запуска дижиталс
%Events.OnFileExit - функции, выполняемые перед закрытием оболочки дижиталса


Расскажите зачем вам события старта и закрытия программы? Поприветствовать и попрощаться с пользователем?

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 16 сен 2011 16:32 
Администратор
Администратор

Зарегистрирован:
28 авг 2004 17:19
Сообщения: 1009
Добавлены события (на кнопке):

%Events.OnStartup
%Events.OnShutdown
%Events.OnFileOpen
%Events.OnFileClose
%Events.OnFileSave
%Events.OnFileNew

_________________
Команда разработчиков Digitals
(наш skype, e-mail и телефон находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals | Страница в Facebook


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 18 сен 2011 23:01 
Специалист
Специалист

Зарегистрирован:
30 авг 2011 20:40
Сообщения: 20
Bondarets Alexander писал(а):
Расскажите зачем вам события старта и закрытия программы? Поприветствовать и попрощаться с пользователем?

:). Я думал вы сообщения до конца читаете - там пример кода.
Sergey Oleynik писал(а):
Добавлены события (на кнопке)...

Поражает скорость реакции на предложения. здОрово!
Но всё-таки кнопки относятся к рабочему столу, а рабочий стол каждый может изменить. Для группы людей, работающих с одной картой,
настройка и поведение диджиталса на рабочих местах должны определяться администратором, а рабочий стол каждый может настроить для себя сам.
В моём случае я должен быть уверен, что после настройки и передачи дижиталса в работу операторам, дижиталс будет работать так, как я его настроил.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 19 сен 2011 18:31 
Гуру
Гуру

Зарегистрирован:
26 фев 2007 12:04
Сообщения: 1751
Откуда: Vinnitsa
Alex3 писал(а):
В моём случае я должен быть уверен, что после настройки и передачи дижиталса в работу операторам, дижиталс будет работать так, как я его настроил.


Запретите запись в файл Digitals\Ged.ini, все настройки программы хранятся там. Для файловой системы NTFS это несложно реализовать. Запрет записи не должен вызывать ошибку в самой программе... вроде бы :)

Среди минусов: не будет изменяться список последних открытых файлов, нельзя будет изменить цвет фона и шрифты в программе и прочие мелкие неудобства.

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 20 сен 2011 11:15 
Специалист
Специалист

Зарегистрирован:
30 авг 2011 20:40
Сообщения: 20
Спасибо, попробую.
Кнопки пользовательского меню вроде в другом файле задаются.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 03 окт 2011 10:15 
Гуру
Гуру

Зарегистрирован:
06 июл 2009 08:22
Сообщения: 443
Откуда: Старобельск
Мне нужна кнопочка, с помощью которой выполнялось следующее:
1. Сервис|Вставить дороги.
2. В окошко вставлялось значение 3 (для другой кнопочки 4) и т.д.
3. Нажималась кнопка ОК.
То есть, нужна панелька для вставки дорог разной ширины. Спасибо.

_________________
П. Вечеров


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 03 окт 2011 11:20 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
Пример для 3-метровой дороги
Код:
;Команда SendChars отправляет нажатия клавиш следующему за ней диалоговому окну, <CR> - возврат каретки
@SendChars 3<CR>
Сервис | Вставить дороги...

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 03 окт 2011 12:14 
Гуру
Гуру

Зарегистрирован:
06 июл 2009 08:22
Сообщения: 443
Откуда: Старобельск
Все работает. Благодарю за оперативность.

_________________
П. Вечеров


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 31 окт 2011 14:58 
Гуру
Гуру

Зарегистрирован:
14 окт 2010 16:40
Сообщения: 265
подскажите пожалуйста как вытянуть смежника из хмл, а то у меня скоро взрыв мозга будет.
хмл- <AdditionalInfoBlock><AdditionalInfo>Г-А, землі гр. Войтенко о.І. (вул. Перемоги, 84)</AdditionalInfo></AdditionalInfoBlock> все это находится в параметре с ID7001004.
нужно чтоб в параметре который я создам было так - землі гр. Войтенко о.І. (вул. Перемоги, 84)
заранее благодарен.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 31 окт 2011 15:24 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
Denidz писал(а):
подскажите пожалуйста как вытянуть смежника из хмл, а то у меня скоро взрыв мозга будет.
хмл- <AdditionalInfoBlock><AdditionalInfo>Г-А, землі гр. Войтенко о.І. (вул. Перемоги, 84)</AdditionalInfo></AdditionalInfoBlock> все это находится в параметре с ID7001004.
нужно чтоб в параметре который я создам было так - землі гр. Войтенко о.І. (вул. Перемоги, 84)
заранее благодарен.

Создайте параметр
=XPT(P[ID7001004],"AdditionalInfo") Название параметра

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 01 ноя 2011 12:44 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Sergey Oleynik писал(а):
voha писал(а):
А чи можна було б вказувати ID шару, ще й для функцій @Map.Layers.GetValidParameters, @Map.Layers.SetValidParameters?
Сделано.
Перепрошую за настирливість. Здається за необхідне, все-таки вказувати ID параметрів в функціях @Map.Layers.GetValidParameters, @Map.Layers.SetValidParameters та у всих функціях, що мають за параметри шар чи параметр.
Необхідна унікальність при ідентифікації шару чи параметра.
Якщо список шарів (список параметрів) міняється - відповідно міняється їх порядковий номер.
Отже @Map.Layers.SetValidParameters LayerIndex NumberList-Изменяет список доступных слою параметров, например @Map.Layers.SetValidParameters ID1 ID3 ID7 ID11 :?:


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 02 ноя 2011 18:35 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
voha писал(а):
вказувати ID параметрів в функції @Map.Layers.SetValidParameters
Зроблено :!: . Чемно дякую :D.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 03 ноя 2011 01:48 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Перечитав від а до я тему "Створення звітів Reports", і не тільки. Ніде не знайшов відповіді на питання:
функція @ReportGenerator 0/1 - Готовит данные для генератора отчетов и копирует в буфер (0 - не запускать генератор) аналогічно пункту меню Сервіс>Генератор звітів, а при ключу 1 - ще й запускає Reports. Якщо в Reports.ini в блоці [MainForm] значення AutoPrepare=1, формується звіт CurrentDoc='останній звіт, що колись формувався'.
Саме питання - чи можна/варто додати параметр функції - шлях до шаблона *fr3 :?: Це дало б можливість зформувати визначений у скрипті Digitals звіт без втручання користувача і без додаткового коду правки Reports.ini перед викликом @ReportGenerator. Кортить же, зробити "як краще" :oops:


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 03 ноя 2011 09:28 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
voha писал(а):
Перечитав від а до я тему "Створення звітів Reports", і не тільки. Ніде не знайшов відповіді на питання:
функція @ReportGenerator 0/1 - Готовит данные для генератора отчетов и копирует в буфер (0 - не запускать генератор) аналогічно пункту меню Сервіс>Генератор звітів, а при ключу 1 - ще й запускає Reports. Якщо в Reports.ini в блоці [MainForm] значення AutoPrepare=1, формується звіт CurrentDoc='останній звіт, що колись формувався'.
Саме питання - чи можна/варто додати параметр функції - шлях до шаблона *fr3 :?: Це дало б можливість зформувати визначений у скрипті Digitals звіт без втручання користувача і без додаткового коду правки Reports.ini перед викликом @ReportGenerator. Кортить же, зробити "як краще" :oops:

Виклик Reports.exe з ключом -template та ім'ям шаблону запустить генератор звітів з прихованою лівою панеллю(не можливо обрати інший шаблон) та сгенерованим звітом для обранного шаблона.
Приклад:
Код:
;Путь к ged.exe
$PP=@ProgramPath
;Полное имя файла Reports.exe
$ReportsPath=$PP\Reports.exe
;Полное имя вызываемого шаблона
$TFN=$PP\Templates\Catalog.fr3
;Подготовка данных для генератора отчетов
@ReportGenerator 0
;Строка запуска генератора отчетов с шаблоном
$CL=$ReportsPath -template$TFN
;Запуск
@Run $CL

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 1369 ]  На страницу Пред.  1 ... 32, 33, 34, 35, 36, 37, 38 ... 92  След.

Часовой пояс: UTC + 2 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 174


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB