|
Вопрос # 6 370/ вопрос решён / |
|
Доброго времени суток, уважаемые эксперты! Делаю программу тестирование по историй. Имеется около 1000 вопросов. Вопросы хранятся на текстовом файле. Теперь как можно сделать так чтобы нажав Button1 показывались отчет о тестировании. Например, ученик закончил тест и при нажатии кнопки "Отчет" показалось которые он ответи и которые были правильными. Заранее большое всем спасибо!
 |
Вопрос задал: Beknur (статус: Посетитель)
Вопрос отправлен: 2 февраля 2013, 21:00
Состояние вопроса: решён, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 2; последнее сообщение — 3 февраля 2013, 11:31; участников в обсуждении: 2.
|
Александр Дубик (статус: 1-ый класс), 3 февраля 2013, 11:22 [#1]:
Проблема в выводе отчёта?
В новой форме:
resourcestring
rsReportHeader = 'Вы прошли тест за %dс со следующими результатами: ' + sLineBreak +
'Количество верных ответов %d из %d';
rsReportItem = 'На вопрос №%d "%s"' + sLineBreak +
'Вы ответили: %s' + sLineBreak +
'Правильный ответ: %s' + sLineBreak;
procedure TfrmReport.FormShow(Sender: TObject);
var
I, CorrAnswersCount: Integer;
begin
CorrAnswersCount := 0;
with frmMain do
begin
mmoReport.Lines.Clear;
for I := 0 to QuestionCount - 1 do
begin
{ QuestionList: Список вопросов
Choises: Список ответов
Answers: Список идентификаторов ответов тестируемого
CorrAnswers: Список идентификаторов правильных ответов}
mmoReport.Lines.Add(Format(rsReportItem, [I, // Номер вопроса
QuestionList[I], // Текст вопроса
Choices[I][Answers[I]], // Ответ пользователя
Choices[I][CorrAnswers[I]]// Правильный ответ
]));
if Answers[I] = CorrAnswers[I] then
Inc(CorrAnswersCount);
end;
mmoReport.Lines.Insert(0, Format(rsReportHeader, [
TimeInTest, // Время, потраченное на прохождение теста
CorrAnswersCount, // Количество правильных ответов
QuestionCount // Количество вопросов, выведенных в данном тесте
]));
end;
end;
|
|
Beknur (статус: Посетитель), 3 февраля 2013, 11:31 [#2]:
Спасибо большое
|
3 февраля 2013, 23:18: Статус вопроса изменён на решённый (изменил автор вопроса — Beknur)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|