Создаю новый элемент в дереве with QuestionResultForm.QuestionTreeView.Items.Add(nil, NewQuest.Name) do

begin
ImageIndex:=0;
Data:=NewQuest;

end;
end;

finally
//Закрываю файл
fs.Free;

end; end; end;

В чтении файла так же ничего сложного нет. Всё очень похоже на запись и со всеми методами ты уже должен быть знаком. Здесь так же мы читаем данные в указатель на структуру PQuestion, поэтому при чтении нужно разыменовывать указатель NewQuest^, чтобы данные записались «по адресу», а не в адрес.

На компакт диске, в директорииПримерыГлава 25Test3Редакторты можешь увидеть исходник уже написанного примера.

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


 

 

25.5. Тестер.

еперь напишем программу тестирования, которая будет загружать наши проекты, отображать вопросы и собирать статистику правильных ответов. Для этого у нас будет отдельная программа, поэтому создай новый проект и

установи на форму следующие компоненты (мою форму ты можешь увидеть на рисунке 25.5.1):

1. Панель ToolBar с тремя кнопками «Открыть», «Запустить» и «Выход».

1. 2. Компонент StaticText, где будем отображать вопросы. В свойстве Name укажи QuestionLabel и свойство AutoSize установи в false.

2. 3. Список CheckListBox в котором будут отображаться варианты ответов. В свойстве Name укажи QuestionCheckList.

 

4. Ну и последнее -кнопку «Дальше».

В разделе typeобъяви структуру TQuestion, такого же вида, как и в редакторе вопросов. Количество и размерность полей структуры должно быть одинаково, потому что мы будем использовать её для загрузки данных из файла. Если хоть какое-то поле будет отличаться, то при загрузке данных произойдёт ошибка.