|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Хелп,плиз чайнику!Очень срочно!
Проблема такая:
Я хочу создать приложение с тестами,12 вопросов и 4 варианта ответа в RadioGroup, но чтобы было ограничение во времени 5 мин (на весь тест) после которых новые ответы не принимаются и выводится результат.Хелп плиз! |
#2
|
|||
|
|||
Можно так...
Код:
procedure TForm1.Timer1Timer(Sender: TObject); var i:byte; begin timer1.interval:=1000; i:=i+1; if i=300 then begin application.messagebox('Время вышло!','Ошибка',0); Timer1.Destroy; {Далее можно пройтись циклом по всем радиобуттонам и задать им свойсто Enabled:=false} end; end; |
#3
|
|||
|
|||
Цитата:
Спасибо,смысл я понял, но как мне сделать так, чтоб таймер включался с нажатием кнопки Button1? (То есть как procedure TForm1.Timer1Timer(Sender: TObject); вставить в procedure Button1.Click(Sender: TObject); ? |
#4
|
||||
|
||||
В таймере есть свойство Enable;
Вот его и используй по нажатию кнопки ! Поживу - увижу, Доживу - узнаю, Выживу - учту. [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|
#5
|
||||
|
||||
Зачем его вставлять в код? У таймера есть свойство Enabled. Если стоит True, то таймер выполняет процедуру OnTimer у таймера, если False, то таймер выключен. В твоём случае в OnClick у Button пиши следующее:
Код:
Timer1.Enabled:=True |
#6
|
||||
|
||||
To Yurk@
Опередил ) |
#7
|
|||
|
|||
ГЛАВНЫЙ КУСОК КОДА
procedure TMainForm.testClick(Sender: TObject); var name i: integer; p:byte; begin Timer1.Enabled := True; timer1.interval:=1000; i:=i+1; if i=10 then begin if radiobutton3.Checked then p:=p+1; if radiobutton8.Checked then p:=p+1; if radiobutton11.Checked then p:=p+1; if radiobutton16.Checked then p:=p+1; if radiobutton18.Checked then p:=p+1; if radiobutton24.Checked then p:=p+1; if radiobutton27.Checked then p:=p+1; if radiobutton29.Checked then p:=p+1; if radiobutton36.Checked then p:=p+1; if radiobutton37.Checked then p:=p+1; if radiobutton41.Checked then p:=p+1; if radiobutton47.Checked then p:=p+1; RadioGroup1.Enabled := False; RadioGroup2.Enabled := False; RadioGroup3.Enabled := False; RadioGroup4.Enabled := False; RadioGroup5.Enabled := False; RadioGroup6.Enabled := False; RadioGroup7.Enabled := False; RadioGroup8.Enabled := False; RadioGroup9.Enabled := False; RadioGroup10.Enabled := False; RadioGroup11.Enabled := False; RadioGroup12.Enabled := False; application.messagebox('Время вышло!','Ошибка',0); Timer1.Destroy; end; end; я написал программу компайл проходит, но через 10 сек меседж бокс не появляется... |
#8
|
||||
|
||||
Ставишь TTimer на 5 мин (в милисекундах) и делаешь выход с теста по истечении этого времени!
Поживу - увижу, Доживу - узнаю, Выживу - учту. [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|