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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.05.2011, 21:54
Аватар для Jaxeg
Jaxeg Jaxeg вне форума
Прохожий
 
Регистрация: 18.05.2011
Сообщения: 14
Репутация: 10
Вопрос CheckListBox ... тест

Подскажите пожалуйста, как создать тест с использованием CheckListBox, чтобы можно было выбрать два правильных ответа ... я вроде сделал, но у меня баллы в конце не выставляет, если выбираю два ответа .. а если один, то нормально работает....
Ответить с цитированием
  #2  
Старый 24.05.2011, 22:04
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Код:
for i := 0 to list.count - 1 do
  if list.checked[i] then
    s := s + list[i];
Ну ты понел.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #3  
Старый 24.05.2011, 22:12
Аватар для Jaxeg
Jaxeg Jaxeg вне форума
Прохожий
 
Регистрация: 18.05.2011
Сообщения: 14
Репутация: 10
По умолчанию

А как сделать, чтобы два варианта только были верными?
Ответить с цитированием
  #4  
Старый 25.05.2011, 09:37
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

используйте AND-OR в конструкции IF
Ответить с цитированием
  #5  
Старый 25.05.2011, 13:07
Аватар для Jaxeg
Jaxeg Jaxeg вне форума
Прохожий
 
Регистрация: 18.05.2011
Сообщения: 14
Репутация: 10
По умолчанию

я вот так делал, но баллы не начисляются(
Код:
If (CheckListBox1.Checked[1]=true) and (CheckListBox1.Checked[2]=true) then
ball:=ball+2
else
ball:=ball;
Ответить с цитированием
  #6  
Старый 25.05.2011, 22:40
SawA SawA вне форума
Новичок
 
Регистрация: 09.03.2011
Сообщения: 57
Репутация: 10
По умолчанию

по такой логики получается что в CheckListBox1.Checked[1] и CheckListBox1.Checked[2] всегда находятся верные ответы, т.е. всегда тыкай первый и второй в true и будет счастье?
Ответить с цитированием
  #7  
Старый 26.05.2011, 12:39
Аватар для Jaxeg
Jaxeg Jaxeg вне форума
Прохожий
 
Регистрация: 18.05.2011
Сообщения: 14
Репутация: 10
По умолчанию

а как тогда сделать, чтобы для каждого вопроса были свои варианты ответа?
Ответить с цитированием
  #8  
Старый 26.05.2011, 13:24
VINCENT VINCENT вне форума
Прохожий
 
Регистрация: 03.09.2010
Сообщения: 16
Репутация: 12
По умолчанию

все правильно делаешь.
вот тебе код для проверки

Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  ball:=0 ;
  If (CheckListBox1.Checked[0] = true) and (CheckListBox1.Checked[1] = true) then
  begin
    ball:=ball+2;
    Edit1.Text:= inttostr(ball);
  end
  else
  begin
    ball:=ball;
    Edit1.Text:= inttostr(ball);
  end;
end;

может тупишь ?
смтотри окуда индекс начинается с 0

Последний раз редактировалось VINCENT, 26.05.2011 в 13:26.
Ответить с цитированием
  #9  
Старый 26.05.2011, 14:08
Аватар для Jaxeg
Jaxeg Jaxeg вне форума
Прохожий
 
Регистрация: 18.05.2011
Сообщения: 14
Репутация: 10
По умолчанию

спасибо за код ... да, действительно.. забыл что индекс с 0 начинается...

но теперь у меня другой вопрос, как сделать, чтобы на первом вопросе, например, 1 и 2 варианты были правильные, на втором вопросе 2 и 4, на третьем 1 и 3 варианты и так далее?

а то просто получается, что на каждом вопросе одинаковые варианты ответа...
Ответить с цитированием
  #10  
Старый 26.05.2011, 14:36
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Random тебе в помощь.
__________________
Помогаю за Спасибо
Ответить с цитированием
  #11  
Старый 26.05.2011, 15:23
Аватар для Jaxeg
Jaxeg Jaxeg вне форума
Прохожий
 
Регистрация: 18.05.2011
Сообщения: 14
Репутация: 10
По умолчанию

ну если использовать рандом, то я не смогу управлять правильными ответами ... там будет в разброс, а мне нужно чтобы я сам задавал правильный ответ
Ответить с цитированием
  #12  
Старый 27.05.2011, 12:11
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Ты не понял. Если тебе надо 2 правильных ответа: получаешь их положение (например, 1 и 4) случайными числами. После - выводишь на 1 и 4 место нужные ответы, в остальные выводишь не правильные.
__________________
Помогаю за Спасибо
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter