|
|
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
Кто нибудь знает, можно ли в конструкторе в свойствах события поставить уже готовую процедуру, а то есть куча одинаковых обработчиков, которые я уже запарился клонировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:06 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
В конструкторе чего??? Что такое свойства события??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:09 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
В конструкторе формы, где допустим ставим обработчик на открытие формы, при этом тот же обработчик надо поставить на обновление пары тройки полей и т.д. Не хочеться каждый раз копировать текст обработчика в новую процедуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:13 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
Пишите функцию, например test(), в конструкторе выбираете все нужные контролы и в событии пишите =test() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:14 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
Пихаешь в модуль Public sub И вызываешь когда надо типа CALL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:15 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
Говорит нет такой функции а по нажатию в конструкторе в свойствах обработчика кнопки ... Выдает ее родимую (слово public и в модуль ее засунуть не забыл) В чем прикол ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:23 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
Догнал, нужна функция, а уменя процедура. Сейчас переделаем, хотя стоп, а че она возвращать должна? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:27 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
Типа мой сообщения в игноре? В любой модуль суешь что-то вроде Public Sub MyProcedure ... End Sub Вызываешь так Call MyProcedure ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:30 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
Уважаемый Vsevolod Вас я читаю и пробую ваши рекомендации в первую очередь, так вот ругается он на слово call ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:32 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
>хотя стоп, а че она возвращать должна? А зачем ей что-то возвращать? Необязательно. И Public она быть не обязана, если находится в той же форме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:32 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
Если это функция, она должна вернуть значение, а если это процедура, он ее не видит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:33 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
а кто сказал что функция прям таки обязана что-либо возвращать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:39 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
2 TatianaT а кто сказал что функция прям таки обязана что-либо возвращать? Бил Гейтс. Но можно конечно не принимать возвращаемое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:42 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
Ок, переделал ее в функцию, но возникла другая проблема С перемещением ентой функции в модуль VBA стал ругаться на Me! говорит: неправильно ты ее юзаешь уважаемый ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:44 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
>Но можно конечно не принимать возвращаемое И что вернет такая функция Public Function test() MsgBox "test" End Function ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:47 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
Естественно. Есть два пути: 1) set mee = ActiveForm внутри функции 2) в функции параметр типа форма, а при использовании =Func([form]) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:49 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
>С перемещением ентой функции в модуль VBA стал ругаться на Me! >говорит: неправильно ты ее юзаешь уважаемый А зачем вы ее в общий модуль? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:50 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
В общий модуль потому, что используется она в двух основных формах с шестью подставляемыми на выбор подчиненками ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:53 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
2 Serge Gavrilov И что вернет такая функция Public Function test() MsgBox "test" End Function Выполни и посмотри. (Для тех кому лень смотреть - Empty) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:54 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
To: кам выдает ошибку на activeForm говорит незнаю ентого слова ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:56 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
Screen.ActiveForm но при применении этой функции, в случае наличия модальных (диалоговых), окон вас ждут сюрпризы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:58 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
Я не догнал. Из-за переноса функции в модуль, разве форма перестала быть активной. Почему перестала работать Me!, что изменилось и как с этим бороться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:59 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
Кстати Set Me = Screen.ActiveForm тоже неработает, говорит неправильно Me юзаем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 15:01 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
>Выполни и посмотри. >(Для тех кому лень смотреть - Empty) Я прям смутился :) И что такое Empty? Это лишь ключевое слово указывающее на неинициализированное значение. А вы это видимо за значение принимаете? А такая функция что вернет: Public Function test() As Object MsgBox "test" End Function Уж точно не "Empty" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 15:04 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
dim frm as access.form Set frm = Screen.ActiveForm или вместо Me использовать Forms("FormName") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 15:04 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
Господа, а в чем проблема с таким подходом: Public Sub test() MsgBox "test" End Sub ???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 15:19 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
Если вы перенесли в общий модуль, то можете попробовать вызывать функцию так =myFunction([Form]) А в общем модуле функцию объявить так Public Function myFunction(frm as Form) .... И вместо Me пишите везде frm Мне кажется, должно работать, но не проверял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 15:21 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
2 A-Lex Set Me = Screen.ActiveForm тоже неработает, говорит неправильно Me юзаем Я писал mee, а не Me ! Но можно и frm, конечно. 2 Serge Gavrilov Я прям смутился :) И что такое Empty? Это лишь ключевое слово указывающее на неинициализированное значение. А вы это видимо за значение принимаете? Ты будешь смеяться, но это значение. А такая функция что вернет: Public Function test() As Object MsgBox "test" End Function Уж точно не "Empty" :) Конечно не Empty, так как это значение не совместимо с типом Object. Будет Nоthing. И это тоже значение. А для целого - 0, и т.д. и что ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 15:34 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
>Ты будешь смеяться, но это значение. Я уже почти готов поверить, что это значение, но хочется мотивировок... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 19:07 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
>>Ты будешь смеяться, но это значение. >Я уже почти готов поверить, что это значение, но хочется мотивировок... Все, я сдался, мне уже не хочется :) Но, кстати по вопросу инициализации переменных, как определить инициализирован массив или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 19:24 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
to Serge Gavrilov. >Но, кстати по вопросу инициализации переменных, >как определить инициализирован массив или нет? Массив инициализирутся до выполнения первой строки исходного текста значениями, зависящими от типа который хранися в массиве . числовые типы - 0, Boolean - False, Variant - Empty, Объектные ссылки - Nothing. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 19:58 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
To Shkurenko Alexander >Массив инициализирутся до выполнения первой строки исходного текста >значениями, зависящими от типа который хранися в массиве . Так, объявляем динамический массив Dim a() As Long Как мне узнать (без обработки ошибки) инициализирован массив или нет. Ваш ответ в данном контексте я не пойму. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 21:15 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
2Serge Gavrilov Dim a() As Long Как мне узнать (без обработки ошибки) инициализирован массив или нет. Получается, что ответ Александра справедлив для статических массивов. А в случае с динамическими инициализирован любой а(n), где n<a.Count. Причем Count в большинстве случаев нужно считать самому. А при добавлении очередного элемента в массив, этот элемент автоматически инициализируется (во всяком случае, должен автоматизироваться). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 21:32 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
Я говорю об инициализации массива, а не элемента массива. Может в этом случае термин инициализация не совсем подходит, тогда зададим вопрос так: как узнать, что динамический массив не имеет ни одного элемента? UBound, LBound дадут ошибку. IsArray даст True. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 21:53 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
Не совсем в тему, но последовательный вызов tt1 и tt2 в этом коде ошибки не дает. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. А вот узнать инициализирован ли массив Dim a() as long, если в нем нет ни одного элемента, не прибегая к обработке ошибки, мне не удалось... М.б. есть какой-нибудь SizeOf? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 22:18 |
|
||
|
много одинаковых обработчиков событий
|
|||
|---|---|---|---|
|
#18+
А если попробовать написать один обработчик, а потом его использовать? В качестве примера приведу пример класса-валидатора для zip-поля, такую же идею можно использовать и в других случаях Создаем модуль класса ZipValidator Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. а использовать на форме можно так: (у нас на форме 2 Zip-поля) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Т.е. мы один раз разработали объект - валидатор, и потом используем его многократно в разных формах или в одной форме на разных контролах. Точно так же можно разработать любой объект, который реагирует на события другого объекта. Т.е. это один из способов избежать дублирования кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 01:45 |
|
||
|
|

start [/forum/topic.php?all=1&fid=45&tid=1679831]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
67ms |
get topic data: |
11ms |
get forum data: |
4ms |
get page messages: |
95ms |
get tp. blocked users: |
2ms |
| others: | 242ms |
| total: | 458ms |

| 0 / 0 |
