Основы алгоритмизации и программирования - Учебное пособие (Струков В.М.)

2. знакомство с интегрированной средой delphi

Delphi – это высокопроизводительная инструментальная система визуального конструирования программ (приложений) для Windows. В качестве базового языка программирования в ней принят алгоритмический язык Pascal.

2.1. Основные термины и понятия

Интерфейс приложения – это средство взаимодействия приложения с пользователем. Иногда под этим термином понимают более широкий набор функций, рассматривая его как средство взаимодействия приложения с внешней средой вообще. Примером интерфейса приложения может быть текстовый интерфейс командной строки приложений, работающих в среде MSDOS. В среде Windows, как правило, используется диалоговый интерфейс, под которым понимают обычно такой порядок взаимодействия пользователя с программой: программа на каждом шаге взаимодействия предлагает пользователю «меню» возможных вариантов действий в виде различных графических элементов (набор кнопок, список возможных значений и т.п.), из которых пользователь выбирает нужный ему элемент щелчком мыши или другим способом. Отметим, что львиная доля автоматизации программирования в Delphi направлена именно на разработку диалогового интерфейса. Основным носителем интерфейса в Delphi является форма с расположенными на ней компонентами.

Форма - это окно Windows со стандартным минимальным набором инструментов («свернуть», «распахнуть» «закрыть»), на котором разработчик приложения размещает компоненты диалогового интерфейса. Главное окно приложения (стартовая форма) - это стандартное окно, которое автоматически формируется ИСВП Delphi в самом начале работы. Стартовое окно формы, предлагаемой ИСВП Delphi представлено на рис. 2.1.

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

Палитра компонентов - набор встроенных компонентов, объединённых в одну группу (палитру) по функциональным признакам.

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

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

2.2. Состав ИСВП Delphi

Как уже было отмечено, Delphi – это мощная инструментальная система для разработки программ на языке Object Pascal. Она состоит из огромного количества различных файлов и занимает на диске несколько сотен мегабайт. Структурно в ее состав входят следующие основные составляющие:

высокопроизводительный компилятор;

встроенный отладчик;

редактор кода;

конструктор форм;

палитра инструментов;

палитра компонентов;

инспектор объектов;

эффективные средства разработки баз данных;

справочная подсистема.

Помимо перечисленных элементов в составе Delphi имеются и другие, более мелкие. Такие, например, как Менеджер проектов, Обозреватель, Редактор изображений (Image Editor), Конструктор меню, Редактор диаграмм и т.д.

Сразу после запуска Delphi на экране появляется картинка, представленная на рис. 2.2. Хотя, используя средства настройки, вы можете изменить стартовую структуру рабочего окна Delphi.

Рабочее окно ИСВП Delphi содержит следующие основные элементы:

главное меню;

палитра инструментов;

палитра компонентов;

окно инспектора объектов;

стартовая форма;

окно редактора кодов.

Главное меню расположено горизонтально в верхней части рабочего окна (выноска 2 на рис. 2.2.) и содержит наименования разделов команд – имена подменю, такие, как «Файл», «Правка», «Вид» и т.д. Приемы работы с главным меню знакомы пользователю по работе с окнами Windows или с редактором Microsoft Word. Все разделы главного меню представляют собой заголовки, открывающие доступ к выпадающим подменю второго уровня.

Панель инструментов представляет собой набор пиктограмм, расположенных под главным меню в левой части рабочего окна (выноска 1 на рис. 2.2.). Каждая пиктограмма представляет собой средство немедленного выполнения соответствующей команды путем щелчка мышью по ней. То есть, это «мышечная» альтернатива «горячих клавишных комбинаций». В некоторых источниках эти инструменты называют пиктографическими кнопками. Как правило, пиктографическая кнопка реализует операцию или команду, которая содержится в одном из подменю главного меню.

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

Палитра компонентов расположена непосредственно под главным меню в правой части рабочего окна (выноска 3 на рис. 2.2.) и имеет закладки, обеспечивающие быстрый поиск нужного компонента.

Большую часть рабочего окна занимает заготовка формы приложения – стартовая (или главная) форма приложения с автоматически сформированным именем Form1.

В процессе визуального конструирования приложения над компонентами можно выполнять следующие простейшие операции:

размещение компонента на форме;

выделение;

перемещение;

копирование;

удаление;

изменение свойств и некоторые другие.

 

Операции могут быть выполнены следующими способами:

с помощью главного меню;

с помощью горячих клавиш;

с помощью контекстного меню;

мышкой.

Инспектор объектов

Слева от стартовой формы приложения размещается окно Инспектора объектов. Он предназначен для 1) формирования и изменения свойств визуальных компонентов приложения  и   2) автоматизации формирования обработчиков стандартизованных событий для компонентов.

Окно Инспектора Объектов представляет собой таблицу, состоящую из двух страниц (закладок): страница свойств компонента (закладка Свойства/Properties) и страница событий (закладка События/Events).

Каждая страница разбита на две колонки - левая колонка содержит название свойства (например, AutoSize) или события, а правая - конкретное значение свойства (для свойства AutoSize - False) или имя подпрограммы, обрабатывающей соответствующее событие.

В Инспекторе объектов используются два типа свойств: простые (или скалярные) и составные. Простое свойство в любой момент времени может иметь только одно значение – числовое, текстовой либо другого допустимого простого типа языка Object Pascal. Значение простого свойства можно задать следующими способами:

путем ввода с клавиатуры в поле значения;

путем выбора из выпадающего списка значений;

механически с помощью мыши (например, растягиванием или сжатием компонента размерными маркерами на форме);

программным путем, присваивая свойству конкретное значение в процессе выполнения программы.

Рис. 2.4.

 
Составные свойства содержат в себе несколько подсвойств, каждое из которых, в свою очередь, может быть либо простым, либо составным. Признаком составного свойства является значок  слева от имени свойства. Щелчок мышью по этому значку раскрывает список подсвойств данного составного свойства. При этом вместо значка  появляется значок . Если в поле значения составного свойства справа появляется значок , то это значит, что значения подсвойств этого составного свойства можно установить с помощью диалогового окна, которое открывается щелчком мыши по значку . Типичным примером такого свойства является свойство Font любого компонента. Диалоговое окно этого свойства представлено на рис. 2.4.

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

Редактор кода

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

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

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

2.3. Краткий обзор библиотеки компонентов Delphi

Отметим сразу, что количество встроенных компонентов, которые поставляются вместе с ИСВП Delphi, увеличивается от версии к версии. Начиная с нескольких десятков в первых версиях, в последних версиях это число достигло уже нескольких сотен (около 400). Вместе с тем, основные палитры компонентов, такие как Standard, Additional, сохраняются и переходят от версии к версии. Причем, к примеру, палитра Standard осталась в практически неизменном виде, а палитра Additional существенно расширила свой состав. В то же время общие приемы и техника работы с компонентами также изменились весьма незначительно. Добавляются в основном новые компоненты для работы в локальных и глобальных сетях. Состав палитры компонентов может изменяться посредством окна «Настроить», которое вызывается из контекстного меню.

Рассмотрим кратко назначение основных палитр компонентов, которые используются в ИСВП Delphi.

Standard – стандартная. Компоненты этой палитры позволяют формировать типовые элементы оконного интерфейса Windows, такие, например, как кнопки, меню, окна ввода и вывода данных и т.д.

Additional – дополнительная. Содержит развитые компоненты пользовательского интерфейса для отображения элементов с иерархической структурой, воспроизведения музыки, графики, решётки и т.д.

Win32 – 32-разрядный интерфейс Windows.

System – эта палитра представляет компоненты для работы с ресурсами операционной системы: списки дисков, файлов, системные часы; обмен высокого уровня между программами посредством BDE и OLE.

Data Access, Data Control – создание элементов управления данными и доступа к базе данных с помощью механизма BDE.

 

Internet – создание приложений Web-сервера для сети Internet.

Dialogs – используется для организации стандартных диалоговых окон в Windows: открытие и сохранение файлов и папок, диалоговая настройка цветовой гаммы и параметров шрифта; настройка принтеров и т.д.

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

2.4. Общие свойства компонентов

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

Первые два свойства описывают координаты левого верхнего угла, описанного вокруг компонента прямоугольника. Свойство Visible делает компонент видимым (значение True) или прячет его (значение False). Свойство Color определяет цвет, которым заливается поверхность компонента. Его значение выбирается из выпадающего списка именованных констант (например, clblue – синий цвет) в окне Инспектора объектов или задается в программе. Свойство Font является комплексным и описывает ряд параметров шрифта, такие как тип шрифта, цвет начертания символов, стиль начертания (жирность, курсив) и др.

Таблица 2.1. Общие свойства компонентов

Имя

Тип

Описание

1

Left

Integer

Положение крайней левой точки

2

Top

Integer

Положение крайней верхней точки

3

Height

Integer

Высота компонента

4

Width

Integer

Ширина компонента

5

Visible

Boolean

Определяет видимость компонента

6

Color

Tcolor

Цвет заливки поверхности компонента

7

Font

Tfont

Параметры шрифта текста

8

Name

TcomponentName

Определяет имя компонента

2.5.Трансляция и запуск приложения на выполнение

Одним из замечательных свойств ИСВП Delphi является то, что как только Вы запустили эту инструментальную систему и еще не предпринимали в ней никаких действий, Вы уже имеете готовое к выполнению приложение – прообраз Вашей будущей программы. Чтобы убедиться в этом, можно сразу же запустить проект на компиляцию и выполнение. Это можно сделать одним из трех способов: 1) с помощью главного меню (Меню Run/Выполнить→Команда Run/Выполнить); 2) с помощью клавиатуры – нажав клавишу F9 и с помощью панели инструментов – щелкнув на инструменте . Сразу после этого на экране появится окно следующего вида:

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

Если Вы уже наполнили проект компонентами и функциональными подпрограммами, то можно выполнить трансляцию проекта. Трансляция может быть выполнена в следующих режимах:

Проверка синтаксиса проекта без последующего запуска на выполнение и создания объектного модуля. Это можно сделать с помощью главного меню (Меню Project/Проект→Команда SintaxCheck/Проверить синтаксис).

Проверка синтаксиса и последующая компиляции проекта с созданием выполняемого ехе-модуля проекта. Для выполнения этой операции нужно нажать комбинацию клавиш Ctrl-F9 либо войти в Меню Project/Проект и выполнить команду Compile/Компилировать.

Проверка синтаксиса, последующая компиляции проекта с созданием выполняемого ехе-модуля проекта и немедленный запуск приложения на выполнение в случае успешной трансляции. Для выполнения этой операции нужно нажать комбинацию клавиш F9 либо войти в Меню Run/Выполнить и выполнить команду Run/Выполнить.

Более детальные настройки процесса трансляции и его результатов можно выполнить в меню Project/Проект→Команда Options…/Опции… и далее на странице закладки Compile/Компилятор установкой нужных режимов.

Если в процессе трансляции в программе обнаружены ошибки, то транслятор укажет Вам строку текста программы, в которой обнаружена ошибка (выделив ее цветом) и в окне сообщений редактора кодов укажет характер ошибки:

После исправления ошибки трансляция повторяется.