Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическая по Информатике.doc
Скачиваний:
2
Добавлен:
18.11.2019
Размер:
105.98 Кб
Скачать

2.2. Структура файла головной программы

В процессе проектирования приложения Delphi автоматически создает код головной программы и отдельных модулей. В модули программист вводите код, создавая обработчики различных событий. Главную программу разработчик, как правило, не изменяет и не видит ее код. Только в исключительных ситуациях код главной программы подвержен изменениям. Увидеть код главной программы возможно выполнив команду Project | View Source, или открыв файл проекта с расширением .bdsproj.

Начинается программа с ключевого слова program, после которого пишется имя программы. Оно совпадает с именем файла, куда сохранился проект по умолчанию это имя Project1.

program Project1;

uses

Forms,

Unit1 in 'Unit1.pas' {Form1},

Unit2 in 'Unit2.pas' {Form2},

Unit3 in 'Unit3.pas' {Form3};

{$R *.res}

{Здесь возможно описание констант, переменных, процедур и функций.}

begin

Application.Initialize;

Application.MainFormOnTaskbar := True; // только в Delphi 2007

Application.CreateForm(TForm1, Form1);

Application.CreateForm(TForm2, Form2);

Application.CreateForm(TForm3, Form3);

Application.Run;

end.

Рис.2. Структура главной программы

После заголовка в тексте программы в тексте программы располагается ключевое слово uses после которого перечисляются модули, загружаемые программой. Первый модуль Forms ‑ системный. Далее представлены модули разработанных программистом форм. На рис.2 представлена структура главной программы подразумевающая, что программист создал в проекте три формы с именами Forml, Form2 и Form3 в модулях с именами Unitl, Unit2 и Unit3 соответственно. Помещенные в фигурные скобки названия форм ‑ комментарии.

Следующая строка текста ‑ {$R*.RES} представляет собой директиву компилятора. В данном случае - указание компилятору на необходимость подключения к программе файла ресурсов. Затем после ключевого слова begin и до последнего завершающего программу оператора end с точкой (end.) записано "тело" программы.

Первый оператор в теле программы инициализирует приложение (в Delphi 2007 это два оператора), два следующих ‑ создают объекты форм Form1, Form2 и Form3, последний оператор начинает выполнять приложение. При необходимости ввода дополнительного кода в главную программу, а именно описание переменных, констант, процедур и функции, программист вводит их вместо комментария (рис.2).

Например, необходимо создавать Form2, если через командную строку передана опция (Y) рис.3.

оператор

Application.CreateForm(TForm2, Form2);

заменяется на

if (ParamStr(1)= 'Y') then

Application.CreateForm(TForm2, Form2);

Рис.3. Изменение главной программы

Этот оператор анализирует функцией ParamStr первый параметр командной строки. Если приложение будет запускаться командой "Project1 Y", то форма Form2 будет создаваться.

2. 3. Структура модуля приложения

Рассмотрим тексты модулей в приложении. На рис.4 приведен текст модули с пустой формой. Подробные комментарии в этом тек-

unit Unit1;

interface // открытый интерфейс модуля

// список подключаемых модулей

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;

// объявление класса формы

type

TForm1 = class(TForm)

private // закрытый раздел класса

{ Private declarations }

{Здесь могут находиться объявление переменных, функций и процедур, включаемый в класс формы, но не доступный для других модулей.}

public // открытый раздел класса

{ Public declarations }

{Здесь могут размещаться объявление переменных, функций и процедур включаемых в класс формы и доступных для других модулей.}

end;

var

Form1: TForm1;

{Здесь может находиться объявление типов, констант, переменных, функций и процедур, к которым будет доступ из других модулей, но которые не включаются в класс формы.}

implementation // реализация модуля

{$R *.dfm}

{Здесь помещаются предложения uses, объявление типов, констант, переменных, к которым не будет доступа из других модулей. Также тут должны быть реализации всех объявленных в разделе interface функций и процедур, а также могут быть реализации любых дополнений, не объявленных ранее функций и процедур.}

end.

Рис.4. Текс модуля с пустой формой

Модуль начинается с ключевого слова unit, после которого пишется имя модуля. Оно совпадает с именем файла, в котором храниться модуль. По умолчанию имя для первого модуля Unit1, для второго Unit2 и т.д.

Текст модуля состоит из двух основных разделов: interface ‑ открытый интерфейс модуля и implementation ‑ реализация модуля. Все что помещается в раздел interface, может быть использовано другими модулями программы. Все, что помещается в раздел implementation ‑ внутреннее описание модуля. Внешние модули не могут видеть типы, переменные, константы, функции и процедуры, размещенные в разделе реализации.

В разделе interface после предложения uses, содержащего список подключаемых модулей следует заготовка объявления класса формы, которая подготовлена Delphi. Имя класса формы – TForm1. Класс содержит два раздела: private ‑ закрытый раздел класса, и public ‑ открытый раздел класса. То, что программист объявляет в разделе public, будет доступно для других классов и модулей. То, что объявлено в разделе private, доступно только в пределах этого модуля.

После завершения объявления класса следует объявление переменной Form1 класса TForm1, то есть объявляется форма как объекта класса TForm1. Затем следует пока пустой раздел реализации implementation.