Создание тестов на Delphi. Часть 5

4 минуты на чтение

Итак в последней — четвертой части, посвященной разработки тестов с помощью типизированных файлов в среде разработки Delphi, узнали как можно использовать в своих тестах различные форматы файлов. А вообще, чтобы вспомнить все части, что мы прошли по созданию тестов, достаточно нажать на данную ссылку. Мы уже прошли

  • создание тестов (создание файлов, добавления сколь угодно ответов)
  • открытие тестов (то есть их прохождение)
  • определение правильности выбора вариантов ответа
  • использование файлов в своих тестах разных расширений

В данной статье мы рассмотрим первую часть по редактированию тестов. То есть как нам открыть (подготовить) наш тест для дальнейшего его редактирования. То есть мы будем выгружать ответы и они уже будут выделятся те, которые мы указали правильными при составлении этих ответов и вопросов. Ну а в следующей серии статей по созданию тестов, я расскажу как отредактировать и сохранить изменения в данных тестах.

На форме у меня все тоже, единственное, что я добавил еще 2 кнопки

  • TButton — 2 шт

Первая кнопка — открывает наш тест, вторая кнопка — переходит к следующему вопросу. Я уже рассказывал как делать выгрузку вопросов из файла, здесь практически тоже самое, только после каждого добавленного ответа нам необходимо сделать проверку является ли он правильным, если да, то тогда мы ставим галочку, что данный ответ правильный, чтобы пользователю при редактировании было видно, что редактировать. На событие OnCLick кнопки открыть тест для редактирования я написал следующий код

procedure TForm1.Button8Click(Sender: TObject);
var
 count_o,i,l:integer;
 pr_otvet:WideString;
begin
   try
    if OpenDialog1.Execute then
     begin
      k:=0;
      AssignFile(F,OpenDialog1.FileName);
      Reset(F);
      Seek(F,cc);
      if EOF(F)=True then
       exit;
      Read(F,Test);
      count_o:=Test.count_otv;
      pr_otvet:=Test.pr_ot;
      for i:=0 to count_o-1 do
       begin
        seek(F,cc);
        Read(F,Test);
        Edit1.Text:=Test.Name_v;
        CheckListBox1.Items.Add(Test.otv);
        if Test.pr_ot<>'' then
         CheckListBox1.Checked[StrToInt(Test.pr_ot)]:=True;
        inc(cc);
       end;
      CloseFile(F);
     end;
   except
    on e:Exception do
   end;
end;

Как видите мы открываем здесь первый вопрос и к нему все ответы, если данный ответ правильный (а правильным у нас считается тот, в котором мы в поле pr_ot записывали номер правильного ответа) и если этот номер существует, то ставим галочку в ответах на данный номер. На событие OnClick кнопки далее для редактирования я написал следующий код

procedure TForm1.Button7Click(Sender: TObject);
var
 counts,i:integer;
begin
   Try
    CheckListBox1.Items.Clear;
    AssignFile(F,OpenDialog1.FileName);
    Reset(F);
    Seek(F,cc);
    if EOF(F)=True then
     exit;
    Read(F,Test);
    counts:=Test.count_otv;
    for i:=0 to counts-1 do
     begin
      Seek(F,cc);
      if EOF(F)=True then
       exit;
      Read(F,Test);
      Edit1.Text:=Test.Name_v;
      CheckListBox1.Items.Add(Test.otv);
      if Test.pr_ot<>'' then
       CheckListBox1.Checked[StrToInt(Test.pr_ot)]:=True;
      inc(cc);
     end;
    //CloseFile(F);
   except
    on e:Exception do
   end;
end;

Как видите все тоже самое. Если тест заканчивается мы ничего не делаем, а Вы можете там например вывести сообщение и так далее. В следующей статье про тесты на типизированных файлах, я расскажу как уже отредактировать эти данные.

Facebook Vk Ok LinkedIn Telegram

Похожие записи:

Итак, в последней части про создание тестов на Delphi, с помощью типизированных файлах, я рассказал как подготовить наш тест для редактирования, то есть открыть этот тест и вывести все результаты с отмеченными правильными ответами. Сейчас расскажу как я реализ...
Итак в части 1 мы поговорили о возможности создание теста в файл, в части 2 мы поговори, как эти тесты из типизированного файла достать, а вот уже в части 3 мы поговорили как можно определить правильные ли выбрал пользователь ответы. В четвертой части по созда...
Сейчас подготовил серию уроков по созданию тестов на Delphi. Эта тема сейчас очень распространненая, так как много кто пишет курсовые по этим темам, дипломные и многое другое. Тех же самых сотрудников можно протестировать, так что эта тема очень распространнен...