Консультация № 185690
27.03.2012, 22:01
86.60 руб.
0 3 0
Уважаемые эксперты!
Здравствуйте! У меня возникли сложности с таким вопросом:

У меня имеется разработанная на delphi URL >>система тестирования.
Мне нужно реализовать её на С#. Программа должна выполнять следующее: случайный выбор вариантов вопросов из файла xml; выбор вариантов ответов на поставленный вопрос: «Один из Многих», «Многие из Многих»; вывод результатов тестирования в файл.
Файл xml хранится в каталоге с программой. Случайный выбор, сохранение в файл результатов тестирования и выбор одного варианта ответа (radiobutton) я реализовал. Не знаю как реализовать выбор «Многие из Многих» (checkbox). Прошу Вас помочь с решением данной задачи.

Обсуждение

Неизвестный
28.03.2012, 00:09
общий
Желательно также выложить свой проект на C#. В нем проще ориентироваться.
Неизвестный
28.03.2012, 09:18
общий
Это проект в котором реализованна система тестирования только с одним вариантом ответа.
Прикрепленные файлы:
11bc906787988183e769ac5a23e131ba.rar
давно
Профессионал
848
1596
30.03.2012, 13:56
общий
30.03.2012, 13:58
Я бы вобще отказался от такого использования xml.
Можно просто создать таблицу DataTable и хранить в ней вопросы и ответы. Поместить ее в сериализованный класс, т.о. работа с файлом xml вобще будет прозрачна.
Конечно правильнее использовать две таблицы, но можно обойтись и одной. Структура DataTable, на мой вгляд должна быть примерно такой

num | Descr | Active | IsAnsw | Answ_Value

num- поле где хранится номер вопроса, для ответа тоже номер вопроса к которому принадлежит ответ
Descr -текст вопроса или ответа
Active - логическое поле что вопрос активен для теста
IsAnsw - логическое поле определяющее вопрос это или ответ
Answ_Value - логическое поле для хранения данных о правильности ответа
====
Чтобы получить все вопросы нужно будет установить фильтр
Active=True and IsAnsw=False
ответы на вопрос
num=<номер выбранного вопроса> and IsAnsw=True
анализ что показать чекбоксы или радиобатон
num=<номер выбранного вопроса> and IsAnsw=True and Answ_Value=True
если выбрано больше одной записи, то используем чекбоксы.
Форма ответа