|
#1
|
|||
|
|||
Переменная
Здравствуйте помогите пожалуйста неопытной девочке!!!!!встала такая проблема!!есть тестик, который состоит из 12-ти вопросов!!каждый вопрос в отдельной форме (т.е форм 12)!а вот в 13-ой форме выдается данные тестируемого и кол-во неправильных ответов!!!должно быть так:если ошибка одна то "4", если ошибок две то "3", если три и более то "2"!вот только оценку ставит всегда 2. За оценки отвечает переменная KolOshibok!вот код:
case KolOshibok of 1 : label1.caption:= 'оценка 4'; 2 : label1.caption:= 'оценка 3'; 3..12 : label1.caption:= 'оценка 2'; end; Можете помочь в чем тут дело и почему ставит только 2??? |
#2
|
||||
|
||||
Совершенно очевидно, что дело в KolOshibok, но как вы его формируете из кода не видно.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
У меня 12 форм с вопросами в каждой форме:
Код: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, unit13; на кнопке ОТВЕТ: код: procedure TForm1.Button1Click(Sender: TObject); begin if radioButton3.Checked then Begin label1.Caption:='Верно'; button1.Enabled:=False; button2.Visible:=true; inc(KolGood); End else label1.Caption:=' Ошибка'; button1.Enabled:=False; button2.Visible:=true; inc(KolOshibok); 13-ая форма результат код: var //здесь объявляются переменные Form13: TForm13; KolGood : Integer; //переменная, в которую записываются верные ответы. KolOshibok : Integer; // переменная считающая ошибки end; кнопка показать результат: код: procedure TForm13.Button2Click(Sender: TObject); begin Label1.Caption:='правильных ответов'+IntToStr(KolGood); case KolOshibok of //KolOshibok - переменная считающая ошибки 1 : Label2.Caption:='Ваша оценка 4'; 2 : Label2.Caption:='Ваша оценка 3'; 3..20 : Label2.Caption:='Ваша оценка 2'; //от 3-х до 20-ти ошибок - оценка 2 end; end; вот,а ставит одни двойки(((((((( |
#4
|
||||
|
||||
Все формы отдельно? И они все используют переменную ИМЕННО из модуля 13й формы, а не свою?
jmp $ ; Happy End! The Cake Is A Lie. |
#5
|
|||
|
|||
да!!на каждой из 12-ти форм свой отдельный вопрос!и переменная используется 13-ой формы!в каждой форме вопроса
код: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, unit13; а на последней код: var //здесь объявляются переменные Form13: TForm13; KolOshibok : Integer; //KolOshibok - переменная считающая ошибки |
#6
|
|||
|
|||
Че та не понял!!!! Переменная "KolOshibok" у тебя объявлена в каждой форме????
APPLICATION.TERMINATOR |
#7
|
||||
|
||||
Код:
else label1.Caption:=' Ошибка'; button1.Enabled:=False; button2.Visible:=true; inc(KolOshibok); jmp $ ; Happy End! The Cake Is A Lie. |
#8
|
|||
|
|||
да!перемена объявлена в каждой форме!!!и begin и end есть
|
#9
|
||||
|
||||
А чего тогда его нету в приведенном Вами коде?.. Не пойму.
И если переменная в каждой форме - то тогда для каждой формы будет свое количество неверных ответов, а не общее. jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 19.11.2010 в 21:21. |
#10
|
|||
|
|||
вот весь код кнопки
procedure TForm1.Button1Click(Sender: TObject); begin if radioButton3.Checked then Begin label1.Caption:='Верно'; button1.Enabled:=False; button2.Visible:=true; inc(KolGood); //переменная из Юнита End else label1.Caption:=' Ошибка'; button1.Enabled:=False; button2.Visible:=true; inc(KolOshibok); end; |
#11
|
||||
|
||||
Ну? а я о чем?
Код:
else label1.Caption:=' Ошибка'; button1.Enabled:=False; button2.Visible:=true; inc(KolOshibok); Код:
else BEGIN //!!!!!!!!!!!!! label1.Caption:=' Ошибка'; button1.Enabled:=False; button2.Visible:=true; inc(KolOshibok); END; //!!!!!!!!!!!!!!! а то получается, что ВНЕ ЗАВИСИМОСТИ от выбранного ответа выполнятся строки Код:
button1.Enabled:=False; button2.Visible:=true; inc(KolOshibok); jmp $ ; Happy End! The Cake Is A Lie. |
#12
|
|||
|
|||
Bargest скорее всего прав:
Код:
... else begin label1.Caption:=' Ошибка'; button1.Enabled:=False; button2.Visible:=true; inc(KolOshibok); end; end; ... APPLICATION.TERMINATOR |
#13
|
|||
|
|||
Вся программа состоит из 13 форм!!!программа задает 12 вопросов, каждый из 12-ти вопросов находится на отдельной форме,т.е вопрос№1 на форме 1,вопрос №2 на форме 2 и так до двенатцатого вопроса,а вот форма 13 должна показать результат оценку кол-во правильных ответов,данные тестируемого и т.д!с этим всем я разобралась осталось только что бы оценку ставил!а ставится в независимости от количества правильных ответов, двойка!!!
вот!!! |
#14
|
|||
|
|||
сейчас попробую!не отключайтесь))))
|
#15
|
|||
|
|||
Кстати у тебя не реализовано условие если ошибок "0"
APPLICATION.TERMINATOR |