Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
Fedesius
-
- Начинающий

-
-
- Сообщения: 19
- Зарегистрирован: 28.03.2004 (Вс) 11:46
Fedesius » 10.12.2004 (Пт) 19:05
Допустим я нажимаю первую кнопку и в течении 5 секунд должен нажать вторую кнопку что бы совершилось какое либо действие, и если я не нажимаю вторую кнопку в течении 5 секунд, то что бы совершилось действие мне надо опять сперва нажать первую кнопку потом вторую.
Если кто че понял то обьясните как это сделать?

-
xolod
-
- Гуру

-
-
- Сообщения: 1162
- Зарегистрирован: 15.01.2004 (Чт) 0:42
- Откуда: Moscow
-
xolod » 10.12.2004 (Пт) 19:58
Для начала нам нужен таймер с интервалом 5 секунд
...
Завести флаг
- Код: Выделить всё
m_bAlreadyPressed as boolean
Когда нажата первая кнопка, "включаем" флаг и таймер
- Код: Выделить всё
m_bAlreadyPressed = True
Timer1.Enabled=True
Когда первый раз вызывается событие таймера сбрасываем флаг и выключаем таймер
- Код: Выделить всё
m_bAlreadyPressed = False
Timer1.Enable=False
Теперь, когда юзер нажмет вторую кнопку, смотрим влючен или нет флаг
- Код: Выделить всё
if (m_bAlreadyPressed) then
'Делаем то действие которое тебе надо
end if
-
DragonTriste
-
- Обычный пользователь

-
-
- Сообщения: 76
- Зарегистрирован: 15.08.2004 (Вс) 10:46
DragonTriste » 11.12.2004 (Сб) 6:28
вроде понял...
кинь на форму пару кнопок и таймер
- Код: Выделить всё
Dim firstpresed As Integer
Private Sub Command1_Click()
firstpresed = 0
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
If firstpresed = 0 Then
Me.Caption = "нажми первую"
Else
Me.Caption = "поздравлляю, получилось!"
End If
End Sub
Private Sub Form_Load()
firstpresed = 0
Command1.Caption = "Первая"
Command2.Caption = "Вторая"
Timer1.Interval = 100
Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer()
firstpresed = firstpresed + 1
If firstpresed >= 50 Then
firstpresed = 0
Timer1.Enabled = False
End If
End Sub
оно ?
dragons on line...
-
Fedesius
-
- Начинающий

-
-
- Сообщения: 19
- Зарегистрирован: 28.03.2004 (Вс) 11:46
Fedesius » 11.12.2004 (Сб) 6:44
Попробовал способ от
xolod и возник один вопрос (может быть глупый) что значит
Завести флаг
. У меня на этот код ошибку вот такую выдает: Statement invalid outside Type Block. А способ от
DragonTriste щас попробую тока.
-
GM
-
- programador

-
-
- Сообщения: 1427
- Зарегистрирован: 24.06.2003 (Вт) 15:56
- Откуда: 194.67.52.100
-
GM » 11.12.2004 (Сб) 8:47
Завести флаг
m_bAlreadyPressed as boolean
Переменная которая отвечает за то что была ли нажата первая кнопка или нет.
الفيجوال بيسك الرابح
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, Google-бот, SemrushBot и гости: 21