Уроки по Delphi



         

Урок21. Программа психологических тестов - часть 5


         end;

      FOpen:=true; // включаем признак, что у нас файл был открыт

      ReadLn(f,TestName); // читаем из файла название теста

      Form1.Caption:='Психологический тест - '+TestName; // заголовок окна устанавливаем в название теста

      ReadLn(f,QCount); // читаем количество вопросов теста

      QCurrent:=0; // текущий вопрос - нулевой

      QUser:=0; // сброс количества баллов за ответы

      LoadQuestion; // переход к процедуре чтения вопроса

   end else Application.Terminate; // если файл теста не выбран, то завершить работу программы

end;

Единственной непонятной строкой для компилятора будет строка LoadQuestion. Эту процедуру мы создадим самостоятельно. В редакторе кода в разделе public объявляем новую процедуру:

procedure LoadQuestion;

А после написанной нами процедуры реакции на появления окна, после строки окончания процедуры "end;", но до строки окончания модуля "end." создадим самостоятельно заголовок процедуры:

procedure TForm1.LoadQuestion;

begin

end;

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

Пишем внутри этой процедуры обработку чтения одного вопроса из файла:

procedure TForm1.LoadQuestion;

Var Str_F: String; // временная строковая переменная для чтения данных из файла

begin

Inc(QCurrent); // увеличиваем порядковый номер текущего вопроса на 1 (равноценно команде QCurrent:=QCurrent+1)

// ЧИТАЕМ ВОПРОС

ReadLn(f,Str_F); // читаем вопрос из файла

Label1.Caption:=Str_F; // присваиваем компоненту текст вопроса

// ЧИТАЕМ ПЕРВЫЙ ОТВЕТ

ReadLn(f,Str_F); // читаем первый ответ из файла

Label2.Caption:=Str_F; // присваиваем компоненту текст ответа




Содержание  Назад  Вперед