procedure TForm3.btn1Click(Sender: TObject);
begin
btn1.Visible:=false;
mmo1.Visible:=True;
btn2.Visible:=True;
rb8.Visible:=True;
rb9.Visible:=True;
rb10.Visible:=True;
K:=1;
rb8.Caption:='Windows 7';
rb9.Caption:='Windows XP';
rb10.Caption:='В комплекте не поставляется';
Fnamet:='вопрос1.txt';
Mmo1.Lines.LoadFromFile(Fnamet);
begin
if rb8.checked then
begin p:=p+1;
end;
end;
end;
procedure TForm3.btn2Click(Sender: TObject);
begin
rb8.checked:=false;
rb9.checked:=false ;
rb10.checked:=false ;
btn2.Visible:=False;
btn3.Visible:=True;
K:=2;
rb8.Caption:='Не имеют особого названия';
rb9.Caption:='Командлеты';
rb10.Caption:='Конвейеры ';
Fnamet:='вопрос2.txt';
Mmo1.Lines.LoadFromFile(Fnamet);
begin
if rb9.checked then
begin p:=p+1;
end;
end;
end;
-
-
- тут идут аналогичные вопросы... .
-
procedure TForm3.btn21Click(Sender: TObject);
begin
rb8.checked:=false;
rb9.checked:=false ;
rb10.checked:=false ;
btn21.Visible:=False;
btn22.Visible:=True;
K:=20;
Fnamet:='вопрос20.txt';
Mmo1.Lines.LoadFromFile(Fnamet);
rb8.Caption:='Add-Computer';
rb9.Caption:='Get-Domain';
rb10.Caption:='Workgroup-Add';
begin
if rb8.checked then
begin p:=p+1;
end;
end;
end;
procedure TForm3.btn22Click(Sender: TObject);
begin
btn22.Visible:=False;
lbl1.Caption:=IntToStr(p)+' правильных ответов из 20';
end;
end.
Другие языки программирования и технологии
Создаю тест в DELPHI 7. Программа не считает правильные ответы.
Да-а.. . Мягко говоря.. .
Как я понимаю, переменная К это номер вопроса или что? Если номер, то вам совершенно не надо что-то суммировать в процессе ответа на вопросы. Достаточно завести массив из 20 логических элементов и при правильном ответе на вопрос устанавливать соответствующий элемент в ИСТИНУ. Это позволит после ответа на все вопросы не только подсчитать число правильных ответов, но и сказать какие были правильными.
Далее. Смысла в тесте в именно такой реализации не вижу, т. к. вопросы грузятся из файла, а ответы и правильные в том числе "зашиты" в программу. В этом случае можно с таким же успехом "вшить" и вопросы - меньше будет мороки.
А теперь посмотрим на ваши процедуры. Что делает, например, TForm3.btn1Click? Выводит первый вопрос? Но тогда она не будет работать в приципе! Смотрите.
btn1.Visible:=false;
mmo1.Visible:=True;
btn2.Visible:=True;
rb8.Visible:=True;
rb9.Visible:=True;
rb10.Visible:=True;
Вы что-то скрыли /показали
K:=1;
rb8.Caption:='Windows 7';
rb9.Caption:='Windows XP';
rb10.Caption:='В комплекте не поставляется';
Назначили, как я понял, ответы на вопрос радиокнопкам или чекбоксам
Fnamet:='вопрос1.txt';
Mmo1.Lines.LoadFromFile(Fnamet);
Загрузили текст вопроса в мемо и.. .
begin
if rb8.checked then
проверяете чекнут rb8 или нет
begin p:=p+1;
И если чекнут, то наращиваете счетчик правильных ответов, НО.. .
end;
ОН ЖЕ НЕ ЧЕКНУТ!! ! У юзера не было такой возможности до окончания работы обработчика!
end;
end;
А дальше вы все очищаете выводите следующий вопрос и так до конца. В итоге ноль правильных ответов.. .
Возможная таблетка на данный случай: перед выводом очередного вопроса считывайте ответ и соотносите его с предыдущим вопросом. Т. е. оценивайте правильность ответа с вытекающими последствиями, а затем сбрасывайте установленные флажки и выводите очередной вопрос.
Ну и последнее, у вас есть около 30 минут, пока будут разрешено редактирование ответа, для моих пояснений. Либо можете стукнуться 158 419 452 или агент.
Как я понимаю, переменная К это номер вопроса или что? Если номер, то вам совершенно не надо что-то суммировать в процессе ответа на вопросы. Достаточно завести массив из 20 логических элементов и при правильном ответе на вопрос устанавливать соответствующий элемент в ИСТИНУ. Это позволит после ответа на все вопросы не только подсчитать число правильных ответов, но и сказать какие были правильными.
Далее. Смысла в тесте в именно такой реализации не вижу, т. к. вопросы грузятся из файла, а ответы и правильные в том числе "зашиты" в программу. В этом случае можно с таким же успехом "вшить" и вопросы - меньше будет мороки.
А теперь посмотрим на ваши процедуры. Что делает, например, TForm3.btn1Click? Выводит первый вопрос? Но тогда она не будет работать в приципе! Смотрите.
btn1.Visible:=false;
mmo1.Visible:=True;
btn2.Visible:=True;
rb8.Visible:=True;
rb9.Visible:=True;
rb10.Visible:=True;
Вы что-то скрыли /показали
K:=1;
rb8.Caption:='Windows 7';
rb9.Caption:='Windows XP';
rb10.Caption:='В комплекте не поставляется';
Назначили, как я понял, ответы на вопрос радиокнопкам или чекбоксам
Fnamet:='вопрос1.txt';
Mmo1.Lines.LoadFromFile(Fnamet);
Загрузили текст вопроса в мемо и.. .
begin
if rb8.checked then
проверяете чекнут rb8 или нет
begin p:=p+1;
И если чекнут, то наращиваете счетчик правильных ответов, НО.. .
end;
ОН ЖЕ НЕ ЧЕКНУТ!! ! У юзера не было такой возможности до окончания работы обработчика!
end;
end;
А дальше вы все очищаете выводите следующий вопрос и так до конца. В итоге ноль правильных ответов.. .
Возможная таблетка на данный случай: перед выводом очередного вопроса считывайте ответ и соотносите его с предыдущим вопросом. Т. е. оценивайте правильность ответа с вытекающими последствиями, а затем сбрасывайте установленные флажки и выводите очередной вопрос.
Ну и последнее, у вас есть около 30 минут, пока будут разрешено редактирование ответа, для моих пояснений. Либо можете стукнуться 158 419 452 или агент.
р - у вас глобальная переменная?
после каждого вопроса очищайте все.. . можно все это в отдельную функцию записать...
после каждого вопроса очищайте все.. . можно все это в отдельную функцию записать...
С ответом повыше согласен. Функции просто нужно будет тогда передавать Имя вопроса и несколько ответов. А она проверяет на наличии правильного ответа. И возвращает 1 или 0.
Похожие вопросы
- Как сделать в Delphi 7 программу, чтобы открывала OpenDialog или SaveDialog прямо из Project1.dpr (а не из Unit1.pas)?
- Как сложить переменную ? Delphi 7 Что никто не знает ответа что ли ?Н
- delphi 7 создаём программу-прикол
- Помогите составить программу в Delphi 7!
- Что предпочтительней Delphi 7 или Delphi 2009? И почему?
- Delphi 7 | Как сделать значок моей программы в трее ?
- Люди у кавонить есть прога на Delphi 7??
- Какой язык лучше учить Delphi 7 или C++ ?
- Составить программу с помощью Delphi 7
- Язык delphi 7 устарел ??? просто хотел учить delphi 7 но сейчас кто то сказал что устарел