Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование в Delphi (повторение).doc
Скачиваний:
7
Добавлен:
04.05.2019
Размер:
2.74 Mб
Скачать

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

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

Типичная головная программа приложения имеет вид:

program Projectl;

uses

Forms,

Unitl in 'Unitl.pas' {Forml},

Unit2 in 'Unit2.pas' {Form2};

{$R *.res}

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

begin

Application.Initialize;

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

Application.CreateForm(TForml, Forml);

Application.CreateForm(TForm2, Form2);

Application.Run;

end.

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

Всегда сохраняйте проект под каким-то осмысленным именем, изменяя тем са­мым имя проекта, заданное Delphi по умолчанию. Иначе можно запутаться в бесконечных программах Projectl, лежащих в различных ваших каталогах.

После заголовка в тексте программы располагается предложение uses. В этом предложении перечисляются модули, загружаемые программой. Пер­вый модуль Forms системный. А следующие – модули разработанных вами форм. Данный пример подразумевает, что вы создали в проекте две формы с именами Forml и Form2 в модулях с именами Unitl и Unit2. Помещенные в фигурные скобки названия форм – это комментарии.

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

Первый оператор в теле программы инициализирует приложение (в Del­phi 2007 это два оператора), два следующих – создают объекты форм Forml и Form2, последний – начинает выполнение приложения.

Если вам надо ввести какой-то свой текст в головную программу, вы може­те сделать это, введя описания необходимых констант, переменных, функций и процедур в место программы, отмеченное соответствующим комментарием в приведенном выше тексте. Кроме того, вы можете добавить или изменить операторы в теле программы. Например, вам может потребоваться при запус­ке приложения на выполнение провести какие-то настройки (например, на­строить формы на тот или иной язык – русский или английский). Или сде­лать какой-то запрос пользователю, и в зависимости от ответа создавать или не создавать те или иные формы.

Пусть, например, вы хотите, чтобы вторая форма вашего приложения Form2 создавалась только в случае, если при запуске приложения через ко­мандную строку в него передана опция Y. В этом случае вы можете заменить приведенный выше оператор

Application.CreateForm(TForm2, Form2);

оператором

if (ParamStr(1)='Y')

then Application.CreateForm(TForm2, Form2);

Этот оператор анализирует функцией ParamStr первый параметр командной строки. Если приложение Projectl будет запускаться командой «Projectl Y», то форма Form2 будет создаваться. В остальных случаях этой формы не будет.

Вы можете ввести в головной файл и другие операторы, функции, процеду­ры. Все это можно сделать, но это будет плохой стиль программирования, по­скольку он противоречит принципу модульности. Выше уже говорилось о важ­ности соблюдения этого принципа. Все необходимые вам в начале выполнения процедуры и функции настройки помещайте в отдельный модуль без формы [1].