Создание тестов на 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 Twitter LinkedIn Telegram

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

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