|
Словить исполняемое событие на форме с записями
|
|||
---|---|---|---|
#18+
Здравствуйте, подскажите пожалуйста, есть один вопрос по поводу отлова событий, на которые мы обычно вешаем исполнение наших процедур. К примеру ,как вы знаете у формы есть такие события, как - до обновления, после обновления, удаление, после подтверждения del и куча других. Которые мы время от времени используем при проектировании нашей логики обработки информации. А можно как нибудь словить тип исполняемого события с формы? К примеру как то так : Если тип события Form_Dirty (ну то есть внесены изменения) то вывести msgbox " Событие -внесены изменения- отловлено" Просто пощупать как отлавливать их. Если они выводятся в числовой кодификации, то ничего страшного. Просто вообще как за них зацепиться и послушать? Как то WithEvents на форму повесить можно, не из общего модуля, а локально в модуле формы, чтобы покороче ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 14:09 |
|
Словить исполняемое событие на форме с записями
|
|||
---|---|---|---|
#18+
Подписку на события контролов и интерфейса Form в бэк-модуле самой формы уже организовали за нас ребята из MS. Нам остается только описать саму процедуру обработки (при наличии модуля), например так: ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 14:20 |
|
Словить исполняемое событие на форме с записями
|
|||
---|---|---|---|
#18+
PredeclaredПодписку на события контролов и интерфейса Form в бэк-модуле самой формы уже организовали за нас ребята из MS. Нам остается только описать саму процедуру обработки (при наличии модуля), например так: Не не, это все понятно. Нужно зацепиться за сам обработчик события, слушать нужно с более высокого уровня. Нужно не прописывать само событие ,а именно отловить в системе его исполнение. Смысл вопроса такой: если исполняемое событие текущей формы к примеру Form_Dirty, то что то там, парам пам пам) К примеру вылетает msgbox. То есть повесить listener возникновения самих событий. Это практикуется , но пример пока не могу найти. (представьте такой абстрактный пример - программно на форме создается 20 кнопок. Не прописывать же для каждой отдельно событие _onClick() Можно же написать обработчик для всего массива/коллекции свежесозданных кнопок.) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 14:38 |
|
Словить исполняемое событие на форме с записями
|
|||
---|---|---|---|
#18+
Сергей Лалов(представьте такой абстрактный пример - программно на форме создается 20 кнопок. Не прописывать же для каждой отдельно событие _onClick() Можно же написать обработчик для всего массива/коллекции свежесозданных кнопок.) Именно создается, а не показывается? А потом удаляется? Я пробовал делать так(здесь отговаривали:)) - то ли счетчик контролов на форме переполняется то ли еще что.... Ломается форма в один прекрасный момент и приходится ее пересоздавать. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 15:32 |
|
Словить исполняемое событие на форме с записями
|
|||
---|---|---|---|
#18+
Сергей Лалов... Нужно не прописывать само событие ,... А мы и не имеем возможности прописывать события интерфейса Form. Это сделано за нас. Сергей Лалов Смысл вопроса такой: если исполняемое событие текущей формы к примеру Form_Dirty, то что то там, парам пам пам) К примеру вылетает msgbox... Для того, чтобы что то вылетало, нужно подписаться и обрабатывать(описать процедуру обработки события/назначить макрос). Сергей Лалов...Не прописывать же для каждой отдельно событие _onClick() ... Не "событие", а "процедуру обработки события". Это разные вещи. И именно для каждой. Для статичного количества кнопок можно и простынкой. Для варианта динамичного количества кнопок, для каждой кнопки создается свой инстанс класса-обертки, в котором и подписка, и процедура обработки событий описана. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 15:35 |
|
Словить исполняемое событие на форме с записями
|
|||
---|---|---|---|
#18+
Сергей Лалов...абстрактный пример - программно на форме создается 20 кнопок....абстрактный вопрос - а за нахрена на форме 20 кнопок с одним и тем же обработчиком Конкретный пример при создании фильтра по нескольким полям:создать процедуру SUB вызываемую после обновления любого поля для ввода критерия,сформировать строку WHERE и применить фильтр ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 15:50 |
|
Словить исполняемое событие на форме с записями
|
|||
---|---|---|---|
#18+
sdkuСергей Лалов...абстрактный пример - программно на форме создается 20 кнопок....абстрактный вопрос - а за нахрена на форме 20 кнопок с одним и тем же обработчиком Конкретный пример при создании фильтра по нескольким полям:создать процедуру SUB вызываемую после обновления любого поля для ввода критерия,сформировать строку WHERE и применить фильтр Вопрос то не про кнопки, а про отлов событий) Да я уже разобрался со своей проблемой, дописываю небольшой класс модуль. Решение на свой вопрос сейчас выложу. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 15:59 |
|
Словить исполняемое событие на форме с записями
|
|||
---|---|---|---|
#18+
Вот небольшой пример базы , класс модуль в которой позволяет повесить "прослушку" на исполняемые события объекта (у меня форма в частности, event procedures из объекта типа форма. Просто можно попробовать в подчиненной форме добавить/удалить/изменить запись. И в msgbox будет вылетать извещение, о том, какое событие формы было исполнено. Я в качестве примера описал не все события, интересовали на после обновления, до подтверждения удаления, перед добавлением, после добавления . Их и слушал. Пример простенький , но рабочий. Обратите внимание, что модуль самой формы практически пуст) Поюзать функционал можно попробовав добавить/изменить/удалить записи на табличной форме. Пример приложил. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 16:47 |
|
Словить исполняемое событие на форме с записями
|
|||
---|---|---|---|
#18+
Казус "Закона Архимеда" в чистом виде. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 17:15 |
|
Словить исполняемое событие на форме с записями
|
|||
---|---|---|---|
#18+
Сергей ЛаловДа я уже разобрался со своей проблемой, дописываю небольшой класс модуль. Возьмите Гетца Access 2000 , Глава 2 . Все подробно описано , а в прилагаемом диске есть пример . ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 17:22 |
|
Словить исполняемое событие на форме с записями
|
|||
---|---|---|---|
#18+
PredeclaredСергей Лалов... Нужно не прописывать само событие ,... А мы и не имеем возможности прописывать события интерфейса Form. Это сделано за нас. Сергей Лалов Смысл вопроса такой: если исполняемое событие текущей формы к примеру Form_Dirty, то что то там, парам пам пам) К примеру вылетает msgbox... Для того, чтобы что то вылетало, нужно подписаться и обрабатывать(описать процедуру обработки события/назначить макрос). Сергей Лалов...Не прописывать же для каждой отдельно событие _onClick() ... Не "событие", а "процедуру обработки события". Это разные вещи. И именно для каждой. Для статичного количества кнопок можно и простынкой. Для варианта динамичного количества кнопок, для каждой кнопки создается свой инстанс класса-обертки, в котором и подписка, и процедура обработки событий описана. Да, вы правы, именно "процедура обработки событий", её вызов нужен в конечном итоге, но из одного места. Пишу уже около трех дней функцию достаточно большую, которая должна перехватывать управление на основные действия типа удалить, изменить, добавить итд. (пишу реализацию трехзвенки Ms asccess+php+mysql. Преимущества в том, что вообще не нужно использовать MySQL odbc. Сам аксесс (его таблицы и формы включаются в функцию как аргументы и пользователь вообще не видит разницы , он также как и обычно продолжает работать в обычном аксессе)) Функция берет на себя организацию select,update,delete,insert с таблиц и формы Access В общем то почти написал уже. Блок с класс модулем, который я написал - это скорей приятное дополнение к функционалу , не надо в функцию вводить дополнительные аргументы, и на форме на каждое событие обращаться к одной и той же функции неоднократно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 17:26 |
|
Словить исполняемое событие на форме с записями
|
|||
---|---|---|---|
#18+
DarkManСергей ЛаловДа я уже разобрался со своей проблемой, дописываю небольшой класс модуль. Возьмите Гетца Access 2000 , Глава 2 . Все подробно описано , а в прилагаемом диске есть пример . У меня есть в распечатке, лет 8 наверное пользуюсь,кирпич бумаг размером с небольшую тумбочку, потрепало страницы за эти годы ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 17:42 |
|
Словить исполняемое событие на форме с записями
|
|||
---|---|---|---|
#18+
4d_monsterКазус "Закона Архимеда" в чистом виде. Вы имеете в виду, что разницы никакой нет и переместилось все из локального модуля в класс модуль) Те же яйца только сбоку?) Не, не совсем так. По задаче в определенный момент нужно использовать наш обычный способ написания процедур (в модуле формы к примеру), а потом при нажатии определенной кнопки нужно изменить чтобы те же самые процедуры событий начали работать кардинально по новому, по определенному шаблону. Можно настрочить конечно кучи if в обычных процедурах, дописать дополнительные обработчики вариантов. Но мне хочется чтобы управление данным при определенных условиях было из одной функции. В общем то накатал уже львиную долю. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 17:59 |
|
Словить исполняемое событие на форме с записями
|
|||
---|---|---|---|
#18+
Serg197311..... .... - то ли счетчик контролов на форме переполняется то ли еще что.... Ломается форма в один прекрасный момент и приходится ее пересоздавать. Ну тогда тем, кто пишет в аксессе игры типа змейка, с динамически задаваемым количеством клеток/кнопок не повезло ) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 18:18 |
|
Словить исполняемое событие на форме с записями
|
|||
---|---|---|---|
#18+
Сергей ЛаловSerg197311..... .... - то ли счетчик контролов на форме переполняется то ли еще что.... Ломается форма в один прекрасный момент и приходится ее пересоздавать. Ну тогда тем, кто пишет в аксессе игры типа змейка, с динамически задаваемым количеством клеток/кнопок не повезло ) Уже :) http://softwaretopic.informer.com/snake-vba-access/ ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 20:05 |
|
Словить исполняемое событие на форме с записями
|
|||
---|---|---|---|
#18+
zimkonУже :) http://softwaretopic.informer.com/snake-vba-access/ Скачал, поиграл, спасибо:) Помню сделал консольную версию, на Java. Там с автоматическим обновлением (перерисовкой без участия дополнительного нажатия на клавишу человеком ) консоли были проблемы с движением. Сама змейка получилась, только рядом сидел второй человек ,который путем нажатия на дополнительную клавишу (которая служила якорем прерывания бесконечного цикла) очищал консоль и автоматом отрисовывался массив значений со следующим шагом змеи )) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 23:24 |
|
Словить исполняемое событие на форме с записями
|
|||
---|---|---|---|
#18+
Если выбирать потенциал геймдева между access или excel, то лучше excel, там можно уменьшить клетку до размера пикселя и обрабатывать её)) Люди создают целые шедевры, кто то 3d движок даже сделал на VBA Excel, и создал игру типа Doom. Другой вообще Марио под эксель переписал) [youtube= ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 23:41 |
|
|
start [/forum/topic.php?fid=45&msg=39863114&tid=1610475]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 133ms |
0 / 0 |