Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 6 370

/ вопрос решён /

Доброго времени суток, уважаемые эксперты! Делаю программу тестирование по историй. Имеется около 1000 вопросов. Вопросы хранятся на текстовом файле. Теперь как можно сделать так чтобы нажав Button1 показывались отчет о тестировании. Например, ученик закончил тест и при нажатии кнопки "Отчет" показалось которые он ответи и которые были правильными. Заранее большое всем спасибо!

Beknur Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: 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

Beknur (статус: Посетитель), 3 февраля 2013, 11:31 [#2]:

Спасибо большое

3 февраля 2013, 23:18: Статус вопроса изменён на решённый (изменил автор вопроса — Beknur)

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:48
Выполнено за 0.03 сек.