10. Структура файла головной программы
приложения Delphi
В процессе проектирования вами приложения Delphi автоматически создает код
головной программы и отдельных модулей. В модули вы вводите свой код, создавая
обработчики различных событий. Но головную программу, как правило, вы не
трогаете и даже не видите ее текст. Только в исключительных случаях вам надо
что-то изменять в тексте головной программы, сгенерированном Delphi. Тем не
менее, хотя бы ради этих исключительных случаев, надо все-таки представлять вид
головной программы и понимать, что означают ее операторы.
Типичная головная программа приложения имеет вид:
program Project1;
uses
Forms,
Unitl in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.RES}
(Здесь вы можете поместить описания каких-то констант, переменных,
функций, процедур. Все это будет доступно только в
пределах данного файла}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.Run; end.
Начинается программа с ключевого слова program, после которого пишется имя
программы. Оно совпадает с именем файла, в которым вы сохранили свой проект. Это
же имя присваивается выполняемому файлу приложения. По умолчанию это имя
Project1.
Всегда сохраняйте проект под каким-то осмысленным именем, изменяя тем самым имя
проекта, заданное Delphi по умолчанию. Иначе очень скоро вы запутаетесь в
бесконечных программах Project1, лежащих в различных ваших каталогах.
После заголовка в тексте программы располагается предложение uses. В этом
предложении перечисляются модули, загружаемые программой. Первый модуль Forms —
системный. А следующие — модули разработанных вами форм. Данный гример
подразумевает, что вы создали в проекте две формы с именами Form1 и Form2 в
модулях с именами Unit1 и Unit2. Помещенные в фигурные
скобки названия форм — это комментарии.
Следующая строка текста — {$R *.RES} представляет собой директиву компилятора,
смысл которой вы можете посмотреть в справочной части Delphi. Затем после
ключевого слова begin и до последнего завершающего программу оператора end с
точкой (end.) записано тело программы.
Первый оператор в теле программы инициализирует приложение, два следующих —
создают объекты форм Form1 и Form2, последний — начинает
выполнение приложения.
Если вам надо ввести какой-то свой текст в головную программу, вы можете желать
это, введя описания необходимых констант, переменных, функций и процедyp в место
программы, отмеченное соответствующим комментарием в приведенном выше тексте.
Кроме того, вы можете добавить или изменить операторы в теле программы.
Например, вам может потребоваться при запуске приложения
на выполнение провести какие-то настройки (например, настроить формы на тот или
иной язык — русский или английский). Или сделать какой-то запрос пользователю, и
в зависимости от ответа создавать или не создавать те или иные формы.
Пусть, например, вы хотите, чтобы вторая форма вашего приложения Form2
созздавалась только в случае, если при запуске приложения через командную строку
в него передана опция Y. В этом случае вы можете заменить приведенный выше
оператор
Application.CreateForm(TForm2, Form2);
на оператор
if(ParamStr(l) = 'Y')
then Application.CreateForm(TForm2, Form2);
Этот оператор анализирует функцией ParamStr первый параметр командной строки.
Если ваше приложение Project1 будет запускаться командой
"Projectl Y", то форма Form2 будет создаваться. В остальных случаях этой формы
не будет.
Вы можете ввести в головной файл и другие операторы, функции, процедуры. Все это
можно сделать, но это будет плохой стиль программирования, поскольку он
противоречит принципу модульности. Выше уже говорилось о важности соблюдения
этого принципа. Все необходимые вам в начале выполнения процедуры и функции
настройки помещайте в отдельный модуль без формы.
Не перегружайте головную программу приложения никаким дополнительным кодом. Все
необходимые настройки, которые должны осуществляться в начале выполнения
приложения, помещайте в отдельный модуль. Такой модуль, не связанный с какой-то
формой, можно включить в приложение, выполнив команду File | New и щелкнув на
пиктограмме Unit.
Учтите, что все определенные вами в головном файле приложения константы,
переменные, процедуры, функции, типы будут доступны только в пределах этого
головного файла и не доступны в модулях.
Если Вам что-то кажется непонятным, оставьте это на потом.
Внимание! Открыт дискуссионный лист по Delphi.
Вы можете задавать свои вопросы по Дельфи, получать ответы от других участников
дискуссии. Подписка на сайте рассылки.