Аналитика http://geosystema.net/forum/ |
|
Создание скриптов для обработки событий http://geosystema.net/forum/viewtopic.php?f=1&t=1480 |
Страница 2 из 2 |
Автор: | Olg@ [ 11 мар 2010 14:16 ] |
Заголовок сообщения: | Re: Создание скриптов для обработки событий |
попробовала прописать добавление объекта на событии OnSelect %Events.OnSelect $S=@EventObject @If $S=0 then @Break $x=@Map.Object[$S].Parameter[-4] $y=@Map.Object[$S].Parameter[-3] @Map.AddObject 0|1|3|1|0 $x $y 0.00|1|3|0 программа зацикливается и вешается, а мне остается нервно курить в сторонке... |
Автор: | Sergey Oleynik [ 11 мар 2010 18:16 ] |
Заголовок сообщения: | Re: Создание скриптов для обработки событий |
Olg@ писал(а): программа зацикливается и вешается, а мне остается нервно курить в сторонке... Добавлена блокировка от зацикливания обработчиков событий. Теперь, до завершения обработки события, все возникающие события того же типа игнорируются. Поводов покурить становится меньше |
Автор: | Olg@ [ 12 мар 2010 14:00 ] |
Заголовок сообщения: | Re: Создание скриптов для обработки событий |
А можно еще добавить событие OnClick с возвращением координат курсора? |
Автор: | Olg@ [ 04 май 2010 11:04 ] |
Заголовок сообщения: | Re: Создание скриптов для обработки событий |
В пределах одной пользовательской панели активизируется только одна кнопка с обработчиком событий, если панелей несколько - на каждой по одной. Можно сделать так, чтобы в пределах одной панели можно было бы активизировать несколько кнопок с событиями? |
Автор: | voha [ 05 окт 2013 09:41 ] |
Заголовок сообщения: | Re: Создание скриптов для обработки событий |
Sergey Oleynik писал(а): Добавлены события (на кнопке): %Events.OnStartup %Events.OnShutdown %Events.OnFileOpen %Events.OnFileClose %Events.OnFileSave %Events.OnFileNew Alex3 писал(а): Я предлагаю разделить эти скрипты на две группы: 1 группа) общие скрипты дижиталса (хранить, например, в файле Digitals.dsf в корне программы). В этом файле могут быть определены: %Events.StartUp - функции, выполняемые один раз после запуска дижиталс %Events.OnFileOpen - функции, выполняемые после открытия каждой карты, %Events.OnFileNew - функции, выполняемые после создания каждой новой карты, %Events.OnFileClose - функции, выполняемых до начала закрытия каждой карты, %Events.OnFileExit - функции, выполняемые перед закрытием оболочки дижиталса 2 группа) скрипты конкретной карты (хранить в карте, назначать в свойствах карты, не на кнопки). %Events.OnFileOpen - функции, выполняемые после открытия конкретной карты, %Events.OnFileSave - функции, выполняемые до начала записи конкретной карты, %Events.OnFileClose - функции, выполняемых до начала закрытия каждой карты... Наскільки "реально" забезпечити тепер такий досконалий підхід до обробки подій Digitals? Та ще хочеться просити, щоб функції 2-ї групи вставлялись в карту призначення при застосуванні команди @Map.ReplaceTemplate Filename. |
Автор: | voha [ 19 окт 2014 14:12 ] |
Заголовок сообщения: | Re: Создание скриптов для обработки событий |
Sergey Oleynik писал(а): ...Поскольку событие OnFileSave вызывается до сохранения карты, обработчик события может запретить сохранение, присвоив переменной $Result значение 1. В этом случае в скрипте необходимо предусмотреть сообщением пользователю с объяснением причины... Та вже якось давненько помітив, що перестала коректно працювати змінна $Result в моєму скрипті обробки події збереження карти. Не працює ні в скрипті рівня карти, ні в скрипті на кнопці. Вирішив перевірити - у чому річ. От простенький скрипт:Код: %Events.OnFileSave @Dialog.Message Запущено скрипт OnFileSave $MapFile=@Map.Filename $Modifed=@Map.Modified @If $Modifed=0 then @Dialog.Message Скрипт OnFileSave каже, що змін в карті не було, тому карта легко збережеться. @If $Modifed=0 then @Goto %EndFileSave $Rez=@Dialog.Ask 2+2=|Вкажіть правильний результат, якщо зміни в карті треба зберегти||Вкажіть не правильний результат операції, якщо зміни в карті зберігати не потрібно. Size=500 @If $Rez=4 then $Result=0 else $Result=1 @If $Rez<>4 then @Dialog.Message Зміни не збережено - перевірте %EndFileSave Пів-дня морочусь, а толку нема. Зберігає Digitals зміни і все тут тобі . Дуже прошу, зжальтесь наді-мною |
Автор: | voha [ 20 окт 2014 20:29 ] |
Заголовок сообщения: | Re: Создание скриптов для обработки событий |
voha писал(а): ...перестала коректно працювати змінна $Result в моєму скрипті обробки події збереження карти...Пів-дня морочусь, а толку нема. Зберігає Digitals зміни і все тут тобі... Оперативно виправлено. Величезне дякую розробникам
|
Автор: | voha [ 01 мар 2020 22:31 ] |
Заголовок сообщения: | Re: Создание скриптов для обработки событий |
Доброї пори доби. У мене питання до розробників: хіба скрипт обробки події %Events.OnFileNew не повинний виконуватись при створенні нової карти на шаблоні, в якому цей скрипт прописаний? Я просто думав, що так воно і є, а тут виявляється... Ну, так як у VBA: є шаблон документа (припустимо Normal.dot), в якому прописана процедура автозапуску Document_New, що запускається автоматом при створенні нового документа Word, основаного на шаблоні. Нагадайте мені, будь-ласка, як взагалі скористатись %Events.OnFileNew. По аналогії з %Events.OnStartup (в теці Library є файл Startup.dsf, в якому прописаний текст скрипта, що запускається автоматом після старту програми Digitals)? Так не запускається OnFileNew: ні з файла OnFileNew.tlb або FileNew.tlb у теці Library, ні з тих же файлів у теці Digitals. Дуже прошу розробників. Терміново треба. |
Автор: | Sergey Oleynik [ 02 мар 2020 15:12 ] |
Заголовок сообщения: | Re: Создание скриптов для обработки событий |
voha писал(а): Доброї пори доби. У мене питання до розробників: хіба скрипт обробки події %Events.OnFileNew не повинний виконуватись при створенні нової карти на шаблоні, в якому цей скрипт прописаний? Я просто думав, що так воно і є, а тут виявляється... При цьому визивається %Events.OnFileOpen, тому, що фактично це відкриття існуючого файлу, а не створення нового. Але можемо також додати і визов Events.OnFileNew |
Автор: | voha [ 03 мар 2020 10:00 ] |
Заголовок сообщения: | Re: Создание скриптов для обработки событий |
Sergey Oleynik писал(а): При цьому визивається %Events.OnFileOpen, тому, що фактично це відкриття існуючого файлу, а не створення нового. Але можемо також додати і визов Events.OnFileNew .Доброго дня Сергію Васильовичу. Надіслав лист на help@vingeo.comЧемно дякую розробникам. Відсьогодні скрипт %Events.OnFileNew, записаний в карті 1, запускається при створенні нової карти 2 на основі карти 1. |
Автор: | voha [ 19 дек 2020 12:29 ] |
Заголовок сообщения: | Re: Создание скриптов для обработки событий |
Доброго дня розробникам. Хочу підняти питання обробки подій "вирізати точку/точки з об'єкта" і "вставити точку в об'єкт", що колись звучало в темі запиту на функцію. Тепер, мабуть було би добре додати окремі скриптові функції: %Events.OnPointInsert та %Events.OnPointsClear |
Страница 2 из 2 | Часовой пояс: UTC + 2 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |