Лабораторная работа № 5
Работа с файловой системой. Получение и использование информации о файловой структуре
Цель: Изучить методику разработки многомодульного приложения, функции и средства поиска файлов и использование информации о файловой структуре. Освоить методику рекурсивного вызова функций.
Краткая теория
Организация многомодульного приложения
Проект может включать несколько программных модулей. Один из программных модулей является главным. Форма главного модуля отображается на экране при запуске приложения. Первый созданный модуль, созданный в проекте (при создании самого проекта), автоматически становится главным.
В процессе проектирования можно изменить главный модуль (выбрать главным другой модуль проекта). Это выполняется в настройках проекта на закладке Forms. Окно настроек вызывается выбором пункта меню:
Project – Options
Формы во время работы приложения могут создаваться в двух режимах:
- автоматически при запуске приложения (Auto-create form);
- динамически в ходе выполнения приложения (Available form)
Выбор режима выполняется в окне редактирования настроек проекта на закладке Forms. Для изменения режима необходимо найти форму в панели Auto-create form или Available form и, используя кнопки между панелями, перенести форму в другую панель
Рис. 1 Окно редактирования настроек проекта
Для динамического создания формы необходимо использовать метод формы Create. Метод возвращает ссылку на объект созданной формы, которую можно присвоить объектной переменной. Имя объектной переменной совпадает с именем формы (свойство формы Name). Например, Создадим форму TFrm61 и запишем ссылку на нее в переменную Frm61:
Frm61:=TFrm61.Create(application).
Открывать формы (отображать на экране) необходимо в модальном режиме. Для этого используется метод формы ShowModal. Например, откроем созданную форму:
Frm61.ShowModal;
После выхода из формы для динамически созданной формы необходимо освободить ресурсы, вызвав метод Free и очистить переменную, присвоив ей значение nil.
Для форм, созданных в автоматическом режиме необходимо использовать только метод вызова ShowModal.
Для возможности выполнять операции с некоторой формой и ее компонентами в другой форме (например, открыть и вывести форму на экран) необходимо в последней форме сделать ссылку на программный модуль первой формы. Такая ссылка указывается в разделе Uses после ключевого слова implementation. Например, в главной форме выполняется открытие форм TFrm61 и TFrm62, которые хранятся в программных модулях un61 и un62 соответственно. В главной форме необходимо указать:
implementation
uses un61, un62;
Все действия, связанные с открытием формы, выполняют в процедуре обработчика некоторого события (нажатие кнопки, выбор пункта меню, и т.д.). Например, при выборе пункта меню pm61 в главной форме создадим динамически форму Tfrm61 и откроем ее в модальном режиме:
procedure TFrmMain.pm61Click(Sender:TObject);
begin
Frm61:=TFrm61.create(application);
try
Frm61.ShowModal;
finally
Frm61.free;
Frm61:=nil;
end;
end;