Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.11.2010, 17:21
devochka devochka вне форума
Прохожий
 
Регистрация: 02.11.2010
Сообщения: 31
Репутация: 10
По умолчанию Переменная

Здравствуйте помогите пожалуйста неопытной девочке!!!!!встала такая проблема!!есть тестик, который состоит из 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  
Старый 19.11.2010, 18:19
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Совершенно очевидно, что дело в KolOshibok, но как вы его формируете из кода не видно.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 19.11.2010, 20:09
devochka devochka вне форума
Прохожий
 
Регистрация: 02.11.2010
Сообщения: 31
Репутация: 10
По умолчанию

У меня 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  
Старый 19.11.2010, 20:16
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Все формы отдельно? И они все используют переменную ИМЕННО из модуля 13й формы, а не свою?
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #5  
Старый 19.11.2010, 20:26
devochka devochka вне форума
Прохожий
 
Регистрация: 02.11.2010
Сообщения: 31
Репутация: 10
По умолчанию

да!!на каждой из 12-ти форм свой отдельный вопрос!и переменная используется 13-ой формы!в каждой форме вопроса
код:

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, unit13;

а на последней
код:
var //здесь объявляются переменные
Form13: TForm13;
KolOshibok : Integer; //KolOshibok - переменная считающая ошибки
Ответить с цитированием
  #6  
Старый 19.11.2010, 20:53
Ama Ama вне форума
Активный
 
Регистрация: 15.07.2008
Сообщения: 260
Репутация: 23
По умолчанию

Че та не понял!!!! Переменная "KolOshibok" у тебя объявлена в каждой форме????
__________________
APPLICATION.TERMINATOR
Ответить с цитированием
  #7  
Старый 19.11.2010, 21:08
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Код:
else
label1.Caption:=' Ошибка';
button1.Enabled:=False;
button2.Visible:=true;
inc(KolOshibok);
а begin/End не забыли часом?
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #8  
Старый 19.11.2010, 21:16
devochka devochka вне форума
Прохожий
 
Регистрация: 02.11.2010
Сообщения: 31
Репутация: 10
По умолчанию

да!перемена объявлена в каждой форме!!!и begin и end есть
Ответить с цитированием
  #9  
Старый 19.11.2010, 21:18
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

А чего тогда его нету в приведенном Вами коде?.. Не пойму.

И если переменная в каждой форме - то тогда для каждой формы будет свое количество неверных ответов, а не общее.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.

Последний раз редактировалось Bargest, 19.11.2010 в 21:21.
Ответить с цитированием
  #10  
Старый 19.11.2010, 21:21
devochka devochka вне форума
Прохожий
 
Регистрация: 02.11.2010
Сообщения: 31
Репутация: 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  
Старый 19.11.2010, 21:23
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Ну? а я о чем?
Код:
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  
Старый 19.11.2010, 21:25
Ama Ama вне форума
Активный
 
Регистрация: 15.07.2008
Сообщения: 260
Репутация: 23
По умолчанию

Bargest скорее всего прав:
Код:
...
else
 begin
   label1.Caption:=' Ошибка';
   button1.Enabled:=False;
   button2.Visible:=true;
   inc(KolOshibok);
 end;
end;
...
__________________
APPLICATION.TERMINATOR
Ответить с цитированием
  #13  
Старый 19.11.2010, 21:26
devochka devochka вне форума
Прохожий
 
Регистрация: 02.11.2010
Сообщения: 31
Репутация: 10
По умолчанию

Вся программа состоит из 13 форм!!!программа задает 12 вопросов, каждый из 12-ти вопросов находится на отдельной форме,т.е вопрос№1 на форме 1,вопрос №2 на форме 2 и так до двенатцатого вопроса,а вот форма 13 должна показать результат оценку кол-во правильных ответов,данные тестируемого и т.д!с этим всем я разобралась осталось только что бы оценку ставил!а ставится в независимости от количества правильных ответов, двойка!!!
вот!!!
Ответить с цитированием
  #14  
Старый 19.11.2010, 21:27
devochka devochka вне форума
Прохожий
 
Регистрация: 02.11.2010
Сообщения: 31
Репутация: 10
По умолчанию

сейчас попробую!не отключайтесь))))
Ответить с цитированием
  #15  
Старый 19.11.2010, 21:30
Ama Ama вне форума
Активный
 
Регистрация: 15.07.2008
Сообщения: 260
Репутация: 23
По умолчанию

Кстати у тебя не реализовано условие если ошибок "0"
__________________
APPLICATION.TERMINATOR
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:21.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter