Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2011, 13:45   #1
Nord18
Пользователь
 
Регистрация: 25.02.2010
Сообщений: 43
По умолчанию Тест на Delphi

Доброго времени суток! Столкнулся с проблемой: сделал небольшой тест на тему Второй Мировой войны из 13 вопросов, всего в программе 16 форм, на последней форме должно выводиться поздравление или пожелание в зависимости от результатов тестирования. Написал всю программу, все работает. Только последняя форма почему то пустая. Так же на предпоследней форме выводится результат тестирования. Подскажите в чем проблема!! Спасибо!!
Код:
procedure TForm15.Button1Click(Sender: TObject);
begin
  form16.show;
  s:=0;
  if (Label4.Caption='ОТВЕТ ПРАВИЛЬНЫЙ') then s:=s+1;
  if (Label7Caption='ОТВЕТ ПРАВИЛЬНЫЙ') then s:=s+1;
  if (Label10.Caption='ОТВЕТ ПРАВИЛЬНЫЙ') then s:=s+1;
  if (Label13.Caption='ОТВЕТ ПРАВИЛЬНЫЙ') then s:=s+1;
  if (Label16.Caption='ОТВЕТ ПРАВИЛЬНЫЙ') then s:=s+1;
  if (Label19.Caption='ОТВЕТ ПРАВИЛЬНЫЙ') then s:=s+1;
  if (Label22.Caption='ОТВЕТ ПРАВИЛЬНЫЙ') then s:=s+1;
  if (Label25.Caption='ОТВЕТ ПРАВИЛЬНЫЙ') then s:=s+1;
  if (Label28.Caption='ОТВЕТ ПРАВИЛЬНЫЙ') then s:=s+1;
  if (Label31.Caption='ОТВЕТ ПРАВИЛЬНЫЙ') then s:=s+1;
  if (Label34.Caption='ОТВЕТ ПРАВИЛЬНЫЙ') then s:=s+1;
  if (Label37.Caption='ОТВЕТ ПРАВИЛЬНЫЙ') then s:=s+1;
  if (Label40.Caption='ОТВЕТ ПРАВИЛЬНЫЙ') then s:=s+1;
  if (s<=4) then form16.Label3.Caption:='ПЛОХО!';
  if (s>4) and (s<8) then form16.Label3.Caption:='УДОВЛЕТВОРИТЕЛЬНО';
  if (s>8) and (s<10) then form16.Label3.Caption:='ХОРОШО!';
  if (s<10) then (form16.Label3.Caption:='ОТЛИЧНО!') and (form16.Label1.Caption:='ОТЛИЧНО!');

end;
Nord18 вне форума Ответить с цитированием
Старый 29.03.2011, 14:46   #2
tsar_
Форумчанин
 
Аватар для tsar_
 
Регистрация: 06.01.2011
Сообщений: 369
По умолчанию

Никогда не задумывался: а какой размер проги с 16 формами?
Если же серьезно, то напрягают строчки:
Код:
  if (s<=4) then form16.Label3.Caption:='ПЛОХО!';
  if (s>4) and (s<8) then form16.Label3.Caption:='УДОВЛЕТВОРИТЕЛЬНО';
  if (s>8) and (s<10) then form16.Label3.Caption:='ХОРОШО!';
  if (s<10) then (form16.Label3.Caption:='ОТЛИЧНО!') and 
     (form16.Label1.Caption:='ОТЛИЧНО!');
а именно:
1) А что, если я наберу 8 баллов?
2) Судя по логическому оператору в последнем if у меня будет отлично даже если я наберу <10 баллов (это плюс для сдающего ).
Я бы написал:
Код:
  if (s<=4) then form16.Label3.Caption:='ПЛОХО!';
  if (s>4) and (s<=8) then form16.Label3.Caption:='УДОВЛЕТВОРИТЕЛЬНО';
  if (s>8) and (s<=10) then form16.Label3.Caption:='ХОРОШО!';
  if (s>10) then 
   Begin
    form16.Label3.Caption:='ОТЛИЧНО!');  
    form16.Label1.Caption:='ОТЛИЧНО!');
   end;
P.S. Ну 16 форм- эт круто...
Программирую по необходимости

Последний раз редактировалось tsar_; 29.03.2011 в 14:52.
tsar_ вне форума Ответить с цитированием
Старый 29.03.2011, 15:03   #3
Nord18
Пользователь
 
Регистрация: 25.02.2010
Сообщений: 43
По умолчанию

Цитата:
Ну 16 форм- эт круто...
А как такой тест реализовать на одной форме не подскажите?
Nord18 вне форума Ответить с цитированием
Старый 29.03.2011, 15:22   #4
OlegVE
Форумчанин
 
Регистрация: 27.09.2010
Сообщений: 376
По умолчанию

Здравствуйте
Цитата:
Сообщение от Nord18 Посмотреть сообщение
А как такой тест реализовать на одной форме не подскажите?
Посмотрите красивое решение (на английском) по ссылке
http://delphi.about.com/od/delphitip...agectrltab.htm
Думаю перевести в Google будет не сложно.
Примечание: Переводить процедуры не нужно
До свидания
OlegVE вне форума Ответить с цитированием
Старый 29.03.2011, 16:03   #5
tsar_
Форумчанин
 
Аватар для tsar_
 
Регистрация: 06.01.2011
Сообщений: 369
По умолчанию

Создание такого себе экзаменатора разжевано в книге
Никита Культин "Основы программирования в Delphi 7. Самоучитель".
Я с этой книги начинал, очень рекомендую
Программирую по необходимости
tsar_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тест. Delphi KitoPoni Помощь студентам 2 20.01.2011 12:43
Тест в Delphi. vrmc Помощь студентам 1 14.03.2010 20:24
тест в delphi nenuphar Помощь студентам 4 27.11.2009 17:57
Программа-тест в Delphi) скиньте))а то програмку здавать преподу надо,и самой хочется понять Delphi Верчик Помощь студентам 9 02.03.2009 17:46
Тест на Delphi Diamond Помощь студентам 2 20.04.2007 23:48