|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.05.2007, 18:41 | #1 |
Пользователь
Регистрация: 11.05.2007
Сообщений: 20
|
Подскажите, как сделать так, чтобы тест можно было повторно пройти не перезагружая пр
Привет всем! У меня вот такая проблема возникла:
Сделал я тест, он все отлично работает, только он одноразовый!!! Т.е. тест можно пройти только один раз, повторно нельзя (можно только если программу перезапустить)! Подскажите, как сделать так, чтобы тест можно было повторно пройти не перезагружая программу??? Вот часть моей проги, где возникает эта проблема: procedure TForm2.Button1Click(Sender: TObject); begin if edit2.Text='' then ShowMessage('Не Введена Фамилия') else begin Label1.Visible:=False; Timer1.Enabled:=true; RadioGroup1.ItemIndex:=clActiveCapt ion; GroupBox1.Caption:='Вопрос№1'; Label2.Visible:=false; Button1.Enabled:=false; GroupBox1.Visible:=true; RadioGroup1.Visible:=true; Button2.Enabled:=true; Button3.Enabled:=false; ProgressBar1.Visible:=true; Label3.Visible:=false; Edit2.Visible:=false; Memo1.Lines.Text:='Вопрос 1'; RadioGroup1.Items.Strings[0]:='Ответ 1'; RadioGroup1.Items.Strings[1]:='Ответ 2'; RadioGroup1.Items.Strings[2]:='Ответ 3'; end; end; procedure TForm2.Button2Click(Sender: TObject); begin case Button2.Tag of 0: begin // Ответ на вопрос № 1 ProgressBar1.Position:=0; if RadioGroup1.ItemIndex=0 then begin // Edit1.Text:='1'; IntToStr(StrToInt(edit1.Text)+1); Edit1.Text:=IntToStr(StrToInt(edit1 .Text)+1); end else RadioGroup1.ItemIndex:=clActiveCapt ion; GroupBox1.Caption:='Вопрос№2'; Memo1.Lines.Text:='Вопрос 2'; RadioGroup1.Items.Strings[0]:='Ответ 1'; RadioGroup1.Items.Strings[1]:='Ответ 2'; RadioGroup1.Items.Strings[2]:='Ответ 3'; Button2.Tag:=Button2.Tag+1; end; 1: begin // Ответ на вопрос № 2 ProgressBar1.Position:=0; if RadioGroup1.ItemIndex=1 then begin IntToStr(StrToInt(edit1.Text)+1); Edit1.Text:=IntToStr(StrToInt(edit1 .Text)+1); end else RadioGroup1.ItemIndex:=clActiveCapt ion; GroupBox1.Caption:='Вопрос№3'; Memo1.Lines.Text:='Вопрос 3'; RadioGroup1.Items.Strings[0]:='Ответ 1'; RadioGroup1.Items.Strings[1]:='Ответ 2'; RadioGroup1.Items.Strings[2]:='Ответ 3'; Button2.Tag:=Button2.Tag+1; end; 2: begin // Ответ на вопрос № 3 ProgressBar1.Position:=0; if RadioGroup1.ItemIndex=2 then begin IntToStr(StrToInt(edit1.Text)+1); Edit1.Text:=IntToStr(StrToInt(edit1 .Text)+1); end else ............... RadioGroup1.ItemIndex:=clActiveCapt ion; GroupBox1.Caption:='Вопрос№10'; Memo1.Lines.Text:='Вопрос 10'; RadioGroup1.Items.Strings[0]:='Ответ 1'; RadioGroup1.Items.Strings[1]:='Ответ 2'; RadioGroup1.Items.Strings[2]:='Ответ 3'; Button2.Tag:=Button2.Tag+1; end; 9: begin // ProgressBar1.Position:=0; if RadioGroup1.ItemIndex=0 then begin IntToStr(StrToInt(edit1.Text)+1); Edit1.Text:=IntToStr(StrToInt(edit1 .Text)+1); end; Button1.Enabled:=True; Button2.Enabled:=false; Button3.Enabled:=true; Edit1.Visible:=true; Timer1.Enabled:=false; Label3.Visible:=true; Label2.Visible:=True; edit1.ReadOnly:=true; Edit2.Visible:=true; label4.Visible:=false; ProgressBar1.Visible:=false; GroupBox1.Visible:=false; RadioGroup1.Visible:=false; Edit1.Visible:=False; Label1.Visible:=True; end; end; end; Если ты проходишь тест повторно, то он выдает только первый вопрос, а при нажатии на Батон2 он переходит аж на строку Button1.Enabled:=True; а Case .. of пропускает!!! |
22.05.2007, 20:09 | #2 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,093
|
а ты Button2.Tag в 0 выставил заново, чтобы case не проскакивал?
|
23.05.2007, 02:48 | #3 |
Пользователь
Регистрация: 11.05.2007
Сообщений: 20
|
Ешкин кот!!! Точно!!! Не подумал!!! Спасибо, чувак!!!
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать так, чтобы форму можно было тостать не только за заголовок? | Никки | Общие вопросы Delphi | 1 | 04.09.2008 14:34 |
Как сделать так, чтобы переключение между окнами было автоматическим? | barand | Свободное общение | 9 | 07.07.2008 23:54 |
Как сделать, чтобы программа запускалась один раз, т.е. повторно запустить нельзя??? | Kamikadze_666 | Безопасность, Шифрование | 7 | 31.07.2007 08:34 |
Как сделать так чтобы окно формы всегда было поверх остальных окон? | HelloZAPOR | Общие вопросы Delphi | 5 | 23.07.2007 08:05 |
сделать так, чтобы CheckBox и CheckListBox нельзя было отмечать вручную | Washington | Компоненты Delphi | 7 | 24.03.2007 16:59 |