- •Глава 4. Компоненты 30
- •Глава 5. Основы программирования 37
- •Часть I. Delphi и работа в Интегрированной Среде
- •Глава 1. Объектно-ориентированное программирование
- •1.1. Основные понятия и определения
- •1.2. Визуальное программирование интерфейса
- •1.3. Общие вопросы построения программ
- •Глава 2. Проекты Delphi
- •2.1.Файлы проекта
- •2.2.Структура файла головной программы
- •2.3. Окно Интегрированной Среды Разработки Delphi
- •2.4. Панель главного меню и всплывающие меню
- •2.5. Форма и компоненты
- •2.5.1.Окно формы
- •2.5.2. Окно Редактора Кода
- •2.5.3. Инспектор Объектов
- •2.6. Структура модуля приложения
- •Глава 3. Элементы языка Delphi
- •3.1.Типы данных
- •3.1.1. Целый тип
- •3.1.2.Вещественный тип
- •3.1.3. Символьный тип
- •3.1.4. Строковый тип
- •3.1.5. Логический тип
- •3.2. Переменная
- •3.3. Константы
- •3.3.1.Числовые константы
- •3.3.2. Строковые и символьные константы
- •3.3.3. Логические и именованные константы
- •3.4. Инструкция присваивания
- •3.5. Стандартные функции
- •3.5.1.Математические функции
- •Глава 4. Компоненты
- •4.1. Форма и компоненты на форме
- •4.2. Событие и процедура обработки событий
- •Глава 5. Основы программирования
- •5.1. Сохранение проекта, его повторное открывание
- •5.2. Стиль программирования
- •5.3. Порядок разработки проекта
- •5.4. Управляющие структуры языка Delphi
- •5.4.1. Инструкция if
- •5.4.2. Инструкция case
- •5.5. Циклы
- •5.5.1. Инструкция for
- •5.5.2. Инструкция while
- •5.5.3. Инструкция repeat
- •5.5.4. Инструкция goto
- •5.6. Процедуры и функции
- •5.6.1. Структура функции
- •5.6.2. Структура процедуры
- •5.6.3. Ввод и вывод данных в диалоговых окнах
- •5.6.4. Запись инструкций программы
- •5.6.5. Отладка программы
- •5.7. Операции со строками
- •5.7.1. Стандартные функции и процедуры работы со строками
- •5.7.2. Использование операций со строками
- •5.8. Массивы
- •5.8.1. Объявление массива
- •5.8.2. Операции с массивами
- •5.8.3. Стандартные функции обработки массивов
- •5.8.4. Многомерные массивы
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.) записано тело программы.
Первый оператор в теле программы инициализирует приложение (в Delphi 2007 это два оператора), два следующих – создают объекты форм Forml и Form2, последний – начинает выполнение приложения.
Если вам надо ввести какой-то свой текст в головную программу, вы можете сделать это, введя описания необходимых констант, переменных, функций и процедур в место программы, отмеченное соответствующим комментарием в приведенном выше тексте. Кроме того, вы можете добавить или изменить операторы в теле программы. Например, вам может потребоваться при запуске приложения на выполнение провести какие-то настройки (например, настроить формы на тот или иной язык – русский или английский). Или сделать какой-то запрос пользователю, и в зависимости от ответа создавать или не создавать те или иные формы.
Пусть, например, вы хотите, чтобы вторая форма вашего приложения Form2 создавалась только в случае, если при запуске приложения через командную строку в него передана опция Y. В этом случае вы можете заменить приведенный выше оператор
Application.CreateForm(TForm2, Form2);
оператором
if (ParamStr(1)='Y')
then Application.CreateForm(TForm2, Form2);
Этот оператор анализирует функцией ParamStr первый параметр командной строки. Если приложение Projectl будет запускаться командой «Projectl Y», то форма Form2 будет создаваться. В остальных случаях этой формы не будет.
Вы можете ввести в головной файл и другие операторы, функции, процедуры. Все это можно сделать, но это будет плохой стиль программирования, поскольку он противоречит принципу модульности. Выше уже говорилось о важности соблюдения этого принципа. Все необходимые вам в начале выполнения процедуры и функции настройки помещайте в отдельный модуль без формы [1].