Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Задержка времени 
:(
    Опции темы
mmik
Дата 27.4.2009, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 14.10.2008

Репутация: нет
Всего: нет



Код

Private Sub Надпись82_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim Start
Start = Second(Now())
off = Start + 3
Do While Start < off
Forms!пар!Надпись376.Visible = True
Forms!пар!Надпись376.Caption = "123"
Start = Second(Now())
Loop
Forms!пар!Надпись376.Visible = False
Forms!пар!Надпись376.Caption = " "
End Sub


Есть такая процедура, которая в течении 3-х секунд должна делать видимой надпись, но она не делает.
А если убрать  в конце процедуры
Код

Forms!пар!Надпись376.Visible = False

то надпись все-таки появляется, но естественно не исчезает. Что не так? в чем ошибка? Подскажите, пожалуйста.
PM MAIL   Вверх
Akina
Дата 27.4.2009, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(mmik @  27.4.2009,  09:57 Найти цитируемый пост)
в чем ошибка?

В [removed] подходе.
Код

dim counter as integer

Private Sub Надпись82_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Forms!пар!Надпись376.Visible = True
Forms!пар!Надпись376.Caption = "123"
timer1.timer=100
timer1.enabled=true
counter=30
End Sub

timer1_timer()
counter=counter-1
if counter=0 then
  Forms!пар!Надпись376.Visible = False
  Forms!пар!Надпись376.Caption = " "
  timer1.enabled=false
end if
end sub



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
kapbepucm
Дата 27.4.2009, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: нет
Всего: 12



Цитата(mmik @  27.4.2009,  08:57 Найти цитируемый пост)
в чем ошибка?
При установке Visible = False объект больше не обрабатывает событие MouseMove

Это сообщение отредактировал(а) kapbepucm - 27.4.2009, 10:04


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
mmik
Дата 27.4.2009, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 14.10.2008

Репутация: нет
Всего: нет



А где в Access найти объект timer?
PM MAIL   Вверх
Akina
Дата 27.4.2009, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Ах да, Аксесс... в нём всё ещё проще - таймер встроен в саму форму, дополнительного контрола не требуется.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
mmik
Дата 27.4.2009, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 14.10.2008

Репутация: нет
Всего: нет



Таймер формы уже используется и интервал там 20 секунд. Другой вариант есть?
PM MAIL   Вверх
Akina
Дата 27.4.2009, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(mmik @  27.4.2009,  12:49 Найти цитируемый пост)
Таймер формы уже используется и интервал там 20 секунд. Другой вариант есть?

Да. Сделать его по-человечески - чтобы он обслуживал ВСЕ необходимые события.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
kapbepucm
Дата 27.4.2009, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: нет
Всего: 12



Цитата(mmik @  27.4.2009,  11:49 Найти цитируемый пост)
Другой вариант
Код
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
Public Flag As Long
Private Sub Надпись82_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  If Flag = 0 Then
    Flag = 1
    Forms!пар!Надпись376.Caption = "My text"
    Sleep 1000
    DoEvents
    Sleep 1000
    DoEvents
    Sleep 1000
    DoEvents
    Forms!пар!Надпись376.Caption = ""
    Flag = 0
  End If
End Sub
Предупреждение- это немного кривой подход

Добавлено через 1 минуту и 50 секунд
Зато не надо мучать уже используемый таймер


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
Akina
Дата 27.4.2009, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(kapbepucm @  27.4.2009,  14:38 Найти цитируемый пост)
Предупреждение- это немного кривой подход

Много, много...

Код

dim counter1 as integer
dim counter2 as integer
const limit1 as integer = 200 ' 20 s
const limit2 as integer = 10 ' 1 s

sub form_load
me.timerinterval=100 ' 100 ms
end sub

sub form_timer
counter1 = (counter1 + 1) mod limit1
if counter1 = 0 then call task1
counter2 = (counter2 + 1) mod limit2
if counter2 = 0 then call task2
'...
end sub
Здесь описана только суть. Само собой это можно (и нужно!) формализовать.



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0497 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.