|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.04.2011, 20:40 | #1 |
Пользователь
Регистрация: 03.04.2011
Сообщений: 25
|
Как передать управление из одного объекта в другой?
Народ, нужен хелп! Поясню: есть форма. на форме календарь и командная кнопка. При инициализации формы присваиваю календарю текущую дату(соответственно, кнопочка с числом на календаре нажата). НО! если выбрать другой месяц, то кнопочка с числом на календаре отожмется и программа выдаст ошибку(из-за того, что дата календаря = фэлс). Так вот. Нужно проверить после нажатия командной кнопки(соответственно, объект команд баттон, событие клик), что дата календаря = тру(это легко). Но как теперь передать управление из команд баттон клик в начало инициализации формы (объект юзерформ инициализ...), что б программа, как бы, заново стартовала?????
Я еще дурак. ТАк что не сильно пинайте. Думаю, объяснил ситуацию понятно. |
04.04.2011, 23:00 | #2 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
инициализацию календаря вывести в отдельную процедуру и вызывать её и при загрузке формы и при клике на кнопке.
Лучше день потерять — потом за пять минут долететь!©
|
05.04.2011, 06:46 | #3 |
Пользователь
Регистрация: 03.04.2011
Сообщений: 25
|
Спасибо, но боюсь, что не покатит. В коде (команд баттон клик) после нажатия кнопки в ворд выводится текст. Ну переинициализируется календарь после нажатия на кнопку, но код все равно продолжит выполняться, соответственно выведется и текст, а мне этого не надо, т.к. он будет не правильный (с нулями и пробелами вместо даты).
|
05.04.2011, 19:48 | #4 |
Пользователь
Регистрация: 03.04.2011
Сообщений: 25
|
Ну что ж... Сам спросил, сам и отвечу: форму-то мы инициализировали и она от нас никуда не денется(если специально не закроем). Поэтому, в коде, который выполняется при клике, надо прописать:
Код:
ЗЫ: кстати, а что нужно прописать в кнопке "выход", чтоб при ее нажатии закрылась форма? Последний раз редактировалось wolf05632; 05.04.2011 в 20:01. |
05.04.2011, 19:59 | #5 |
Старожил
Регистрация: 24.01.2011
Сообщений: 3,116
|
Unload Me 'оператор Unload убирает указанный объект из памяти. Объект с именем Me, имеет в VBA специальный смысл. В данном случае оно означает форму и весь её про-граммный код
зачем goto error а если msgbox("Ошибка") и на выход?? |
05.04.2011, 20:56 | #6 |
Пользователь
Регистрация: 03.04.2011
Сообщений: 25
|
Дык не надо на выход)) Надо день на календаре выбрать! про закрытие формы я ради любопытства спросил.
|
06.04.2011, 08:23 | #7 |
Старожил
Регистрация: 24.01.2011
Сообщений: 3,116
|
как не надо, посмотрите в Ваш код, после msgbox("Ошибка")
что идёт? - end sub А Вы говорите не надо Ладно проехали |
06.04.2011, 20:35 | #8 |
Пользователь
Регистрация: 03.04.2011
Сообщений: 25
|
Как же Вам объяснить?.. Давайте хронологически: Сначала инициализируется форма календарем и кнопкой (и с формой ничего не происходит, если специально ее не закрыть), затем, если при выборе даты мы сменим месяц, то кнопочка с днем отожмется(то есть даты в программе, как бы нет), затем, если нажмем на кнопку(она выводит текст в зависимости от даты), то получим ошибку.
ТАК ВОТ, что б текст не печатался, если нет даты, то мы просто пропускаем ВЕСЬ код, который должен был бы выполняться. Соответственно, выскакивает месаджбокс с сообщением "установите день". Мы его закрываем по крестику. НО ФОРМА С КАЛЕНДАРЕМ ВСЕ ЭТО ВРЕМЯ ВИСЕЛА И ПРОДОЛЖАЕТ ВИСЕТЬ С ОТЖАТОЙ КНОПКОЙ ДНЯ НА КАЛЕНДАРЕ!!! Соответственно, мы, исправляя ошибку, выбираем день на календаре и ОПЯТЬ ЖМЕМ КНОПКУ "выполнить". ТЕКСТ ПЕЧАТАЕТСЯ - ВСЕ ДОВОЛЬНЫ))) |
07.04.2011, 07:11 | #9 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Я бы менял активность кнопки (Enable) в зависимости от того выбрана дата или нет. У календаря, (кстати, какой именно календарь вы используете?) должно быть событие DateChange или как-то так. Так вот в это событие и нужно прописать, что если даты нет, то кнопка не активна.
Код:
Лучше день потерять — потом за пять минут долететь!©
|
07.04.2011, 12:09 | #10 |
Старожил
Регистрация: 24.01.2011
Сообщений: 3,116
|
если это в Офисе, файл прикрепите пжл
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как дописать данные из одного MemoryStream в другой? | iiunbreakableii | Общие вопросы Delphi | 2 | 01.04.2011 08:17 |
Как скопировать строку из одного Stringgrida в другой? | Pinkygirl | Общие вопросы Delphi | 1 | 16.01.2010 23:25 |
Необходимо передать переменную из одного класса в другой. | scray | PHP | 4 | 27.12.2009 13:01 |
как из макроса передать управление пользователю, а потом опять макросу? | Тупой | Microsoft Office Excel | 5 | 03.09.2009 23:01 |
С помощью методов и свойств объекта осуществляется управление терминалом. Имя (идентификатор) объекта | User>lia | Общие вопросы Delphi | 4 | 16.01.2009 16:37 |