Система программирования delphi

Среда разработчика Delphi позволяет визуально строить приложение. После запуска системы на экране размещается пустая форма – главное окно приложения. На данной форме можно размещать различные компоненты, а также добавлять в проект новые формы приложения – дочерние.

Проект имеет расширение *.dpr, формы – *.dfm, исходные тексты модулей – *.pas, *.dcu – откомпилированные модули.

В верхней части располагается главное меню Delphi, ниже представлены страницы палитры компонент, в левой части отображается окно инспектора объектов (Object Inspector), с помощью которого можно на этапе проектирования изменять различные свойства компонентов (закладка Properties) и описывать реакцию на события (Events).

Структура программы, созданной с помощью Delphi, несколько отличается от традиционной, что, в свою очередь, обусловливает особенности создания подобных программ. Подобную программу можно представить себе, состоящей из двух частей: интерфейса – части программы, предназначенной для ввода в программу и вывода из нее информации, и собственно операторов, предназначенных для непосредственного решения задачи. В своей работе программа взаимодействует с операционной системой, различными внешними устройствами, базами данных, файлами, другими программами и .т.п.

Интерфейс представляет собой совокупность объектов, с помощью которых осуществляется передача информации в соответствующем направлении, – формы, диалоговые окна, элементы управления и т.д. Во многом выбранный интерфейс определяет структуру всей программы.

Так как объекты в программе являются достаточно автономными, для передачи информации между ними, а также между программой и операционной системой, программой и внешними устройствами и т.д. используется система сообщений. Обычно программа после своего запуска находится в режиме ожидания очередного сообщения, при появлении которого программа анализирует его, определяет, какие действия следует выполнить, и выполняет их, после чего ожидает следующее сообщение. Так как при появлении различных сообщений программа, как правило, выполняет различные действия, все исполняемые операторы представляют собой совокупность подпрограмм, оформленных в виде тех или иных методов различных объектов (включая и методы обработки сообщений и событий), либо самостоятельных подпрограмм.

Приложение – основной связующий объект проекта, организующий цикл по обработке поступающих сообщений.

Форма – интерфейсный элемент, посредством которого осуществляется обмен информацией между приложениями и внешними устройствами. Формы размещаются в приложении, а само приложение может содержать одну или несколько форм.

Компоненты – объекты, размещаемые на формах и предназначенные для выполнения тех или иных операций по отображению, получению и преобразованию информации.

Основные свойства компонентов

Свойство – важный атрибут любого компонента. Изменение свойства в инспекторе объектов сразу отражается на визуальной компоненте. Например, если выделить главную форму и в инспекторе объектов поменять свойства Width, то незамедлительно изменится ширина окна формы. Значение свойств можно менять и программно, в ходе выполнения приложения.

Рассмотрим основные свойства, присущие большинству компонентов.

Name – имя компоненты.

Height – длина компоненты.

Width – ширина компоненты.

Top – положение левого верхнего угла компоненты по оси Y.

Left – положение левого верхнего угла компоненты по оси X.

Caption – заголовок.

Font – шрифт текста компоненты.

Style – стиль.

Text – отображаемый текст (например, для компоненты ввода Edit)

и др.

Для программного изменения свойства следует указать имя компонента и свойство через точку. Например:

Form1.Caption:=’Мое первое Windows-приложение’;

If CheckBox1.Checked=true then ….

События компонентов

Обработка событий заключается в написании кода – обработчика реакции на какое-либо событие. Например, при активном главном окне найдем в инспекторе объектов на закладке Events событие OnClose, которое возникает при закрытии окна. Дважды щелкнув на пустое поле справа от имении события, Delphi автоматически построит каркас обработчика – создаст процедуру:

procedure TИмяФормы.FormClose(Sender: TObject; var Action: TCloseAction);

begin

{Тело процедуры}

end;,

в теле которой можно написать, например, код для отображения окна сообщения:

ShowMessage(‘Форма закрывается!’);

Событие OnCreate возникает при создании компонента, OnClick – при щелчке мышкой по компоненте, OnDblClick – для двойном щелчке мышкой по компоненте, OnMouseMove – при движении курсора мыши над компонентом и т.п.

Таким образом, чтобы, например, вызвать другую форму при нажатии кнопки, необходимо написать соответствующий код в обработчике события OnClick для данной кнопки.

Компоненты Delphi

Палитра компонентов содержит несколько страниц (Standard, Additional, Dialog, Sample и др.)

Рассмотрим некоторые компоненты страницы Standard (стандартные компоненты).

1) MainMenu – главное окно программы. Служит для создания сложных иерархических меню.

2) PopupMenu – вспомогательное меню, обычно появляется в виде отдельного окна после нажатия правой кнопки мыши. Привязывается к конкретному компоненту.

3) Label – метка. Используется для размещения на форме не очень длинных однострочных надписей.

4) Edit – строка ввода. Предназначена для ввода и/или отображения одной текстовой строки.

5) Memo – многострочный текстовый редактор. Используется для ввода и/или отображения многострочного текста.

6) Button – командная кнопка. Обработчик события OnClick обычно используется для реализации некоторой команды.

7) CheckBox – независимый переключатель. Щелчок мышью по компоненту в работающей программе изменяет логическое свойство Checked.

8) RadioButton – зависимый переключатель. Обычно объединяется как минимум еще с одним таким же компонентом в группу. Щелчок по переключателю приводит к автоматическому освобождению ранее выбранного переключателя в той же группе.

9) ListBox – список выбора. Содержит список предлагаемых вариантов (опций) и дает возможность проконтролировать текущий выбор.

10) ComboBox – комбинированный список выбора. Представляет собой комбинацию списка выбора и текстового редактора.

11) GroupBox – группа элементов. Используется для группировки нескольких связанных по смыслу компонентов.

12) RadioGroup – группа зависимых переключателей. Содержит специальные свойства для обслуживания нескольких связанных зависимых переключателей.

13) Panel – Панель. Используется для визуального объединения нескольких компонентов.

Некоторые компоненты страницы Additional:

1) BitBtn – командная кнопка с надписью и пиктограммой.

2) SpeedButton – пиктографическая кнопка. Обычно используется для быстрого доступа к тем или иным опциям главного меню.

3) MaskEdit – специальный текстовый редактор. Способен фильтровать вводимый текст, например, для правильного ввода даты (задается маска).

4) StringGrid – таблица строк. Обладает мощными возможностями для представления текстовой информации в табличном виде.

5) DrawGrid – произвольная таблица. Строки этого компонента могут содержать произвольную информацию, в том числе и рисунки.

6) Image – рисунок. Предназначен для отображения рисунков.

7) Shape – фигура. Помогает вставить правильную графическую фигуру – прямоугольник, эллипс, окружность и т.п.

При изучении возможностей компонентов следует воспользоваться встроенной справочной службой Delphi.

Работа с формами

Как известно, существуют информационные окна (формы) и диалоговые. Информационное окно предназначено в основном для вывода информации пользователю. Диалоговые окна – специальные формы, предназначенные для организации диалога пользователя с программой посредством этого окна. Здесь возможна двусторонняя передача информации – как программе, так и пользователю.

Окна могут быть также модальными и немодальными. При открытии окна в немодальном режиме, возможен переход на окно, его вызвавшее, и на другие. При вызове окна в модальном режиме невозможен переход на другие окна до тех пор, пока не закроется модальное окно.

Вызов модального окна осуществляется с помощью метода ShowModal:

Имя_формы.ShowModal;

Немодальное окно вызывается методом Show.

Метод Close закрывает окно (при этом возникает событие закрытия окна OnClose), Hide – делает скрытым (для его отображения используется метод Show).

С каждой формой связан модуль (*.pas). Определив глобальные переменные, например, в главной форме, их можно сделать доступными в дочерних окнах с помощью пункта меню File – Use unit и указать модуль, содержащий описание глобальных переменных.

Обратиться к компоненте другой формы можно, указав сначала имя формы, затем имя компоненты и требуемое свойство. Например,

If Form2.Edit1.Text = » {Если не введено значение} then

Begin

// Выдаем сообщение об ошибке

ShowMessage(‘Пустое поле!’);

// Устанавливаем курсор на Edit1 для ввода

Form2.Edit1.SetFocus;

End;

Программирование на Delphi 7. Создаем удобный виджет


Похожие статьи.

Понравилась статья? Поделиться с друзьями: