- •Глава 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.5.1.Окно формы
Основой почти всех приложений Delphi является форма. Ее можно понимать как типичное окно Windows. Форма является основой, на которой размещаются другие компоненты. В качестве примера на рис. 2.6 показана форма с расположенными на ней компонентами для вычисления стоимости поездки на дачу.
Рис. 2.6. Форма приложения
Форма имеет те же свойства, что присущи другим окнам Windows. Она имеет управляющее меню в верхнем левом углу, полосу заголовка, занимающую верхнюю часть, кнопки развертывания, свертывания и закрытия окна в верхнем правом углу. Можно изменить вид окна, убрав в нем какие-то кнопки или всю полосу заголовка, сделав его окном с неизменяемыми размерами и т.п. Во время проектирования форма покрыта сеткой из точек. В узлах этой сетки размещаются те компоненты, которые вы помещаете на форму. Во время выполнения приложения эта сетка, конечно, не видна. В некоторых случаях при разработке какого-то модуля форма может оказаться вообще ненужной. Но обычно вся работа в Delphi проводится именно на форме.
2.5.2. Окно Редактора Кода
Одной из наиболее важных частей среды Delphi является окно Редактора Кода. Чтобы переключится в это окно, надо выбрать на поверхности проектирования закладку Code. Перед вами откроется окно Редактора Кода (рис.2.7).
Редактор Кода является полноценным программным редактором. Его можно настраивать на различный стиль работы, который является более привычным. В редакторе применяется выделением цветом и шрифтом синтаксических элементов. Жирным шрифтом выделяются ключевые слова того языка программирования, с которым идёт работа. Зеленым курсивом выделяются комментарии (см. рис.2.7), например, это комментарий {Private declarations}. Синим цветом выделяются числа и строковые константы.
В нижней части окна Редактора Кода расположена строка состояния. На второй панели находится индикатор строки и колонки. Это помогает понимать, в каком месте кода в данный момент находится курсор.
Третья панель строки состояния – индикатор режима вставки. Это стандартный индикатор большинства редакторов, который показывает, будут ли вводимые символы вставляться в текст или писаться поверх текста. Переключение режима вставки производится клавишей Insert.
Рис. 2.7. Окно Редактора Кода
Четвертая панель строки – индикатор модификации. Когда вы начинаете новый проект, то код, который Delphi автоматически написала для вас, еще не сохранен. Вы должны сделать это сами командой File Save. Если код изменялся вами или Delphi с того момента, когда вы в последний раз сохраняли его в файле, то в индикаторе модификации появляется слово «Modified». Это слово показывает, что код, который вы видите, не тот же самый, что на диске.
В окно Редактора Кода, как и в другие окна Delphi, встроена контекстная справка. Чтобы получить справку по какому-то слову кода (ключевому слову, написанному имени функции и т.п.), достаточно установить курсор на это слово и нажать клавишу F1. Вам будет показана соответствующая тема справки.
2.5.3. Инспектор Объектов
Инспектор Объектов (Object Inspector) – основной инструмент, с помощью которого можно задавать свойства компонентов и писать обработчики событий. Окно Инспектора Объектов (рис. 2.8) имеет две страницы. В верхней части окна расположен выпадающий список всех компонентов, помещенных на форме. В нем вы можете выбрать тот компонент, свойства и события которого вас интересуют. Страница свойств (Properties) Инспектора Объектов показывает свойства того объекта, который в данный момент выделен вами. Щелкните на окне пустой формы, и на странице свойств Инспектора Объектов вы сможете увидеть свойства формы (см. рис. 2.8). По умолчанию эти свойства сгруппированы по категориям.
а б в
Рис. 2.8. Инспектор Объектов (страница свойств, упорядоченная по категориям, по алфавиту и страница событий)
Категории выделены в окне Инспектора Объектов жирным красным шрифтом. Например, в категорию Action собраны свойства, отображающие действия, связанные с компонентом, в категорию Layout – свойства, связанные с размещением компонента на форме и т.д. Около каждого названия категории имеется значок «+» или «-», позволяющий раскрыть или свернуть относящийся к категории список свойств. Некоторые свойства могут попасть одновременно в несколько категорий, например, свойство Caption (см. рис. 2.8) . Это не имеет значения, поскольку изменение значения свойства в любой категории приводит к синхронному изменению этого свойства во всех остальных категориях.
Можно сделать какие-то категории невидимыми, чтобы сократить число отображаемых свойств и проще находить среди них нужные. Для этого щелкните в окне Инспектора Объектов правой кнопкой мыши. Во всплывшем меню вы можете выбрать раздел View. Вам будет показан ряд категорий. Около каждой категории имеется индикатор. Вы можете включить индикаторы только у некоторых категорий и тогда в Инспекторе Объектов вы увидите события и свойства только указанных категорий. Выбор раздела Toggle переключит видимость разделов: те, которые были видимы, станут невидимы и наоборот. Выбор раздела All сделает видимыми все свойства и события, а выбор раздела None сделает все события и свойства невидимыми. Внизу окна Инспектора Объектов указывается, сколько свойств или событий невидимо в данный момент или видимы все – All shown (см. рис. 2.8).
В том же меню, всплывающем при щелчке правой кнопкой мыши в окне Инспектора Объектов, можно выбрать раздел Arrange и в нем установить одну из двух возможностей: by Name – упорядочить свойства и события в алфавитной последовательности их имен, или by Category – упорядочить их по категориям. При упорядочивании по алфавиту форма представления свойств и событий кардинально меняется – все располагается по алфавиту (см. рис. 2.8 б). Вы можете изменять свойства, отображаемые в окне Инспектора Объектов. Например, измените свойство Caption (надпись) вашей формы, написав в нем «Моя форма». Вы увидите, что эта надпись появится в полосе заголовка вашей формы.
Если щелкнуть на некоторых свойствах, например, на свойстве Color (цвет), то справа от имени свойства откроется окно выпадающего списка. Нажав в нем на кнопочку со стрелкой вниз, вы можете увидеть список возможных значений свойства. Например, смените значение свойства Color с принятого по умолчанию clBtnFace – цвета поверхности кнопок на clWindow – цвет окна. Вы увидите, что поверхность формы изменит свой цвет.
Рядом с некоторыми свойствами располагается знак плюс, например, свойство BorderIcons. Это означает, что данное свойство является объектом, который в свою очередь имеет ряд свойств. Так же свойство Font (шрифт) имеет знак плюс. Если щёлкнуть на этом плюсе или сделать двойной щелчок на свойстве Font, то откроется таблица таких свойств, как Color (цвет), Height (высота), Name (имя шрифта) и др. Среди них есть свойство Style (стиль), около которого тоже имеется знак плюс. Щелчок на этом плюсе или двойной щелчок на этом свойстве раскроет дополнительный список подсвойств, в котором можно, например, установить в true свойство fsBold (жирный). Кстати, для смены true на false и обратно в подобных булевых свойствах не обязательно выбирать значение из выпадающего списка. Достаточно сделать двойной щелчок на значении свойства, и оно изменится. После того как вы просмотрели или изменили подсвойства, вы можете опять сделать двойной щелчок на головном свойстве или щелчок на знаке минус около него, и список подсвойств свернется.
Страница событий (Events) составляет вторую часть Инспектора Объектов (см. рис. 2.8 в). На ней указаны все события, на которые может реагировать выбранный объект. Например, если вам надо выполнить какие-то действия в момент создания формы (обычно это различные операции настройки), то вы должны выделить событие OnCreate. Рядом с именем этого события откроется окно с выпадающим списком. Если вы уже написали в своем приложении какие-то обработчики событий и хотите при событии OnCreate использовать один из них, вы можете выбрать необходимый обработчик из выпадающего списка. Если же вам надо написать новый обработчик, то сделайте двойной щелчок на пустом окне списка. Вы попадете в окно Редактора Кода, в котором увидите текст:
procedure TForml.FormCreate(Sender: TObject);
begin
end;
При этом курсор будет расположен в пустой строке между ключевыми словами begin и end. Увиденный код – это заготовка обработчика события, которую автоматически сделала Delphi. Вам остается только в промежутке между begin и end написать необходимые операторы.
Если вы сделали эти операции, то вернитесь в Инспектор Объектов, выделите в нем, например, событие OnActivate, и нажмите в нем кнопку выпадающего списка. Вы увидите в нем введенный вами ранее обработчик события OnCreate. Если вам надо использовать тот же самый обработчик и в событии OnActivate, просто выберите его из списка. Таким образом вы можете избежать дублирования в программе одних и тех же фрагментов кода.
Пользуясь Инспектором Объектов, вы можете получить контекстную справку по свойствам или событиям. Для этого выделите в окне Инспектора Объектов интересующее вас свойство или событие и нажмите клавишу F1 [1].