Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Procedure TTestEditorForm.SaveAsMenuClick(Sender: TObject); begin if SaveDialog1.Execute then



begin TQuestionResultForm(ActiveMDIChild).FileName:=SaveDialog1.FileName; SaveButtonClick(nil);

end; end;

Здесь я отображаю окно выбора имени файла. Если пользователь что-то выбрал, то сохраняю имя файла в свойстве FileName активного окна, и вызываю обработчик события кнопки «Сохранить», где происходит сохранение.

Теперь посмотри на обработчик события OnClick для кнопки «Открыть» проект:

procedure TTestEditorForm.OpenButtonClick(Sender: TObject);

var
fs:TFileStream;
i, Count:Integer;
Str:String[5];
NewQuest:PQuestion;

begin
// Показать окно открытия файла
if not OpenDialog1.Execute then exit;

// Открыть файл для чтения
fs:=TFileStream.Create(OpenDialog1.FileName, fmOpenRead);

// Перейти в начало файла и прочитать заголовок
fs.Seek(0,soFromBeginning);
fs.read(Str, SizeOf(Str));


// Если заголовок равен тексу "Тест", значит это "вопрос-

// варианты ответов".
if Str='Тест' then

begin
// Создать новое окно теста
QuestionResultForm:=TQuestionResultForm.Create(Owner);

// Сохранить имя открытого файла в объекте окна
QuestionResultForm.FileName:=OpenDialog1.Filename;

// Прочитать имя проекта fs.Read(QuestionResultForm.ProjectName, sizeof(QuestionResultForm.ProjectName));

try
// Прочитать количество вопросов
fs.Read(Count, sizeof(Count));


// Запустить цикл чтения вопросов
for i:=0 to Count-1 do

begin
// Создаю новую структуру в памяти для вопроса
NewQuest:=New(PQuestion);
// Читаю структуру
fs.Read(NewQuest^, sizeof(TQuestion));

// Добавляю структуру в контейнер
QuestionResultForm.QuestionList.Add(NewQuest);





Дата публикования: 2014-11-04; Прочитано: 304 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...