Аналитика http://www.geosystema.net/forum/ |
|
Запрос на функцию http://www.geosystema.net/forum/viewtopic.php?f=1&t=49 |
Страница 35 из 92 |
Автор: | Alex3 [ 16 сен 2011 00:02 ] |
Заголовок сообщения: | Re: Запрос на функцию |
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 ;код обработки при создании новой карты ... думаю, идея понятна. |
Автор: | Bondarets Alexander [ 16 сен 2011 15:41 ] |
Заголовок сообщения: | Re: Запрос на функцию |
Цитата: %Events.StartUp - функции, выполняемые один раз после запуска дижиталс %Events.OnFileExit - функции, выполняемые перед закрытием оболочки дижиталса Расскажите зачем вам события старта и закрытия программы? Поприветствовать и попрощаться с пользователем? |
Автор: | Sergey Oleynik [ 16 сен 2011 16:32 ] |
Заголовок сообщения: | Re: Запрос на функцию |
Добавлены события (на кнопке): %Events.OnStartup %Events.OnShutdown %Events.OnFileOpen %Events.OnFileClose %Events.OnFileSave %Events.OnFileNew |
Автор: | Alex3 [ 18 сен 2011 23:01 ] |
Заголовок сообщения: | Re: Запрос на функцию |
Bondarets Alexander писал(а): Расскажите зачем вам события старта и закрытия программы? Поприветствовать и попрощаться с пользователем? ![]() Sergey Oleynik писал(а): Добавлены события (на кнопке)... Поражает скорость реакции на предложения. здОрово! Но всё-таки кнопки относятся к рабочему столу, а рабочий стол каждый может изменить. Для группы людей, работающих с одной картой, настройка и поведение диджиталса на рабочих местах должны определяться администратором, а рабочий стол каждый может настроить для себя сам. В моём случае я должен быть уверен, что после настройки и передачи дижиталса в работу операторам, дижиталс будет работать так, как я его настроил. |
Автор: | Bondarets Alexander [ 19 сен 2011 18:31 ] |
Заголовок сообщения: | Re: Запрос на функцию |
Alex3 писал(а): В моём случае я должен быть уверен, что после настройки и передачи дижиталса в работу операторам, дижиталс будет работать так, как я его настроил. Запретите запись в файл Digitals\Ged.ini, все настройки программы хранятся там. Для файловой системы NTFS это несложно реализовать. Запрет записи не должен вызывать ошибку в самой программе... вроде бы ![]() Среди минусов: не будет изменяться список последних открытых файлов, нельзя будет изменить цвет фона и шрифты в программе и прочие мелкие неудобства. |
Автор: | Alex3 [ 20 сен 2011 11:15 ] |
Заголовок сообщения: | Re: Запрос на функцию |
Спасибо, попробую. Кнопки пользовательского меню вроде в другом файле задаются. |
Автор: | paul [ 03 окт 2011 10:15 ] |
Заголовок сообщения: | Re: Запрос на функцию |
Мне нужна кнопочка, с помощью которой выполнялось следующее: 1. Сервис|Вставить дороги. 2. В окошко вставлялось значение 3 (для другой кнопочки 4) и т.д. 3. Нажималась кнопка ОК. То есть, нужна панелька для вставки дорог разной ширины. Спасибо. |
Автор: | Dmitry_Zolotar [ 03 окт 2011 11:20 ] |
Заголовок сообщения: | Re: Запрос на функцию |
Пример для 3-метровой дороги Код: ;Команда SendChars отправляет нажатия клавиш следующему за ней диалоговому окну, <CR> - возврат каретки
@SendChars 3<CR> Сервис | Вставить дороги... |
Автор: | paul [ 03 окт 2011 12:14 ] |
Заголовок сообщения: | Re: Запрос на функцию |
Все работает. Благодарю за оперативность. |
Автор: | Denidz [ 31 окт 2011 14:58 ] |
Заголовок сообщения: | Re: Запрос на функцию |
подскажите пожалуйста как вытянуть смежника из хмл, а то у меня скоро взрыв мозга будет. хмл- <AdditionalInfoBlock><AdditionalInfo>Г-А, землі гр. Войтенко о.І. (вул. Перемоги, 84)</AdditionalInfo></AdditionalInfoBlock> все это находится в параметре с ID7001004. нужно чтоб в параметре который я создам было так - землі гр. Войтенко о.І. (вул. Перемоги, 84) заранее благодарен. |
Автор: | Dmitry_Zolotar [ 31 окт 2011 15:24 ] |
Заголовок сообщения: | Re: Запрос на функцию |
Denidz писал(а): подскажите пожалуйста как вытянуть смежника из хмл, а то у меня скоро взрыв мозга будет. хмл- <AdditionalInfoBlock><AdditionalInfo>Г-А, землі гр. Войтенко о.І. (вул. Перемоги, 84)</AdditionalInfo></AdditionalInfoBlock> все это находится в параметре с ID7001004. нужно чтоб в параметре который я создам было так - землі гр. Войтенко о.І. (вул. Перемоги, 84) заранее благодарен. Создайте параметр =XPT(P[ID7001004],"AdditionalInfo") Название параметра |
Автор: | voha [ 01 ноя 2011 12:44 ] |
Заголовок сообщения: | Re: Запрос на функцию |
Sergey Oleynik писал(а): voha писал(а): А чи можна було б вказувати ID шару, ще й для функцій @Map.Layers.GetValidParameters, @Map.Layers.SetValidParameters? Сделано.Необхідна унікальність при ідентифікації шару чи параметра. Якщо список шарів (список параметрів) міняється - відповідно міняється їх порядковий номер. Отже @Map.Layers.SetValidParameters LayerIndex NumberList-Изменяет список доступных слою параметров, например @Map.Layers.SetValidParameters ID1 ID3 ID7 ID11 ![]() |
Автор: | voha [ 02 ноя 2011 18:35 ] |
Заголовок сообщения: | Re: Запрос на функцию |
voha писал(а): вказувати ID параметрів в функції @Map.Layers.SetValidParameters Зроблено ![]() ![]() |
Автор: | voha [ 03 ноя 2011 01:48 ] |
Заголовок сообщения: | Re: Запрос на функцию |
Перечитав від а до я тему "Створення звітів Reports", і не тільки. Ніде не знайшов відповіді на питання: функція @ReportGenerator 0/1 - Готовит данные для генератора отчетов и копирует в буфер (0 - не запускать генератор) аналогічно пункту меню Сервіс>Генератор звітів, а при ключу 1 - ще й запускає Reports. Якщо в Reports.ini в блоці [MainForm] значення AutoPrepare=1, формується звіт CurrentDoc='останній звіт, що колись формувався'. Саме питання - чи можна/варто додати параметр функції - шлях до шаблона *fr3 ![]() ![]() |
Автор: | Dmitry_Zolotar [ 03 ноя 2011 09:28 ] |
Заголовок сообщения: | Re: Запрос на функцию |
voha писал(а): Перечитав від а до я тему "Створення звітів Reports", і не тільки. Ніде не знайшов відповіді на питання: функція @ReportGenerator 0/1 - Готовит данные для генератора отчетов и копирует в буфер (0 - не запускать генератор) аналогічно пункту меню Сервіс>Генератор звітів, а при ключу 1 - ще й запускає Reports. Якщо в Reports.ini в блоці [MainForm] значення AutoPrepare=1, формується звіт CurrentDoc='останній звіт, що колись формувався'. Саме питання - чи можна/варто додати параметр функції - шлях до шаблона *fr3 ![]() ![]() Виклик 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 |
Страница 35 из 92 | Часовой пояс: UTC + 2 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |