0

Визуальное программирование в delphi

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

Признак наследования характеристик шрифта родительской формы

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

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

Рис.50. Окно Object Inspector с развернутым списком объектов

Ниже приведены свойства полей редактирования нашего проекта.

Поле для коэффициента А Поле для коэффициента B Поле для коэффициента B

Помимо полей редактирования окно формы должно содержать поясняющий текст: краткое информационное сообщение и пояснение рядом с каждым полем редактирования— для ввода какого коэффициента это поле предна­значено.Текст, находящийся непосредственно в форме, — это метка. Добавляется метка к форме точно так же, как и поле редактирования. Кнопка с пикто­граммой метки (большой буквой А) находится в палитре компонентов перед кнопкой поля редактирования. После того как метка добавлена, можно, ис­пользуя Object Inspector , изменить свойства метки.

К форме разрабатываемого приложения надо добавить пять меток: одна ( Label 2) будет представлять собой информационное сообщение, три ( Label 3, Label 4, Label 5) — тексты, поясняющие назначение полей редактирования, и одна ( Label 1) будет использоваться для вывода значений корней уравнения. После добавления меток форма разрабатываемого приложения приобретает вид, представленный на рис. 51.

Рис. 51. Вид формы после добавления меток Ниже в таблицах приведены свойства меток Label 1 и Label2.

Управление задается коэффициентами

Свойство ParentFont метки Label 2 имеет значение False , поэтому свойство Font этой метки не наследует значения свойства Font "родителя", в данном случае — свойства основной формы. Это дает возможность установить свой­ства шрифта метки иные, чем у формы. У других меток значение свойства ParentFont оставлено без изменения.

Если свойство AutoSize (автоматический подгон размера) имеет значение Тrue, то Delphi автоматически устанавливает размеры метки в зависимости от количества символов текста метки, используемого шрифта и его размера. Если надо, чтобы метка представляла собой текст из нескольких строк, то свойству AutoSize надо присвоить значение False и вручную установить зна­чения свойств, определяющих ее размер. Ниже приведены свойства меток Label3, Label4 и Label5.

При 2-ой степени( a)

При 1-ой степени (b)

При нулевой степени (c)

Рис. 52. Форма приложения для решения квадратного уравнения

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

Окончательный вид формы приложения для решения квадратного уравне­ния представлен на рис. 52.

Событие и обработчик события

Вид созданной формы подсказывает, как работает приложение. Очевидно, что пользователь должен ввести значения коэффициентов в поля редактиро­вания, затем щелкнуть на кнопке Вычислить. Щелчок кнопки мыши это пример события. Событие это то, что происходит во время работы приложе­ния. В Delphi у каждого события есть имя, например щелчок кнопкой мы­ши это OnClick , двойной щелчок — OnDblClick .

Реакцией на событие должно быть какое-либо действие. Например реакцией на событие OnClick, произошедшее на кнопке Вычислить, должно быть вы­числение корней уравнения. В Delphi реакция на событие реализуется как процедура его обработки, называемая обработчиком события. ,Таким обра­зом, задача программиста состоит в написании необходимых обработчиков событий.

Методику создания обработчика события (или просто обработчика) рас­смотрим на примере обработчика для кнопки Вычислить.

Сначала надо выделить объект, для которого создается обработчик. Затем щелкнуть на ярлычке вкладки Events (События) окна Object Inspector . В ре­зультате этих действий в окне Object Inspector появится карточка со списком событий, которые способен воспринимать маркированный компонент, в данном случае — командная кнопка (рис. 53).

В левой колонке вкладки перечислены имена событий, на которые может реагировать маркированный объект. Если для него определен обработчик события, то в правой колонке рядом с именем события выводится его имя.

Чтобы создать обработчик события, надо сделать двойной щелчок в поле имени события. В результате открывается окно редактора кода (в Delphi ко­дом называется текст программы) с макетом процедуры-обработчика собы­тия (рис. 54).

Рис. 53. Вкладка Events для командной кнопки "Выполнить"

Рис. 54. Окно редактора кода с макетом обработчика события

Delphi автоматически присваивает обработчику имя, состоящее из двух частей. Первая идентифицирует форму, содержащую объект, для которого создается обработчик события. Вторая часть имени идентифицирует сам объект и событие. В нашем я формы — Form 1, имя командной кнопки Вычислить — Button 1, а имя события — Click . Теперь между BEGIN и END можно печатать инструкции языка Pascal , реализующие обработчик события.

Ниже приведен текст процедуры для события Click кнопки Выполнить.

procedure TForm1.Button1Click(Sender: TObject);

a,b,c:real; < коэффициенты уравнения >

label1.caption:=’ Ошибка !’+chr(13)

+’Коэффициент при второй степени’ +chr(13)+’неизвестного равен нулю’

if d нет решений ‘; exit; end;

label4.caption:=’ Корни уравнения :’

В приведенном тексте программы нет обычных для Turbo Pascal инструкций READ и WRITE . Исходные данные программа получает из полей редакти­рования, обращаясь к свойству Text . Вспомните, что именно свойство Text определяет содержимое поля редактирования. Так как характеристика Text содержит текст — данные символьного типа, то для преобразования изобра­жения числа в число в программе используется процедура VAL . Процедура STR помещает в переменные s 1 и s 1 строковое изображение корней уравне­ния. Вывод значений вычисленных корней программа осуществляет при­своением свойству Caption метки Label 1 значения — текста сообщения.

Рис. 55. Выбор шрифта для редактора кода

Примечание: Если при наборе текста программы вместо русских букв появляются буквы европейских языков или символы, то надо изменить шрифт, используемый редактором кода. Для этого надо в меню Options (Параметры) выбрать команду Environment (Среда). В появившемся диалоговом окне Environment Options (Параметры среды) следует выбрать вкладку Editor display (окно редактора кода)

Из раскрывающегося списка Editor font (Шрифт редактора кода) надо вы­брать шрифт, содержащий русские буквы, например, Courier New Cyr и щелкнуть на кнопке ОК.

При сохранении проекта Delphi создает несколько файлов. Некоторые из них содержат описание проекта в целом, некоторые — описания программ­ных модулей и форм. Если проект еще ни разу не был сохранен, то в ответ на команду сохранения проекта Save Project (Сохранить проект), которая находится в меню File (Файл), Delphi сначала запрашивает имя программ­ного модуля (рис. 56), затем имя проекта (рис. 57), причем требует, чтобы эти имена были разными. Здесь следует обратить внимание на то, что вы­полняемому файлу Delphi присваивает имя проекта.

Рис. 56. Диалоговое окно сохранения модуля

Рис. 57. Диалоговое окно сохранения проекта

После сохранения проекта можно выполнить компиляцию программы .

После ввода текста обработчика события и сохранения проекта можно, "вы­брав команду Compile (Компилировать) меню Compile , откомпилировать приложение. Если в программе нет синтаксических ошибок, то на экране появляется диалоговое окно, информирующее об успешном завершении компиляции (рис. 58).

Следует обратить внимание, что после установки Delphi среда программиро­вания автоматически настроена таким образом, что окно с сообщением об успешной компиляции на экране не появляется. Чтобы окно Compiling появ­лялось, надо в меню Options (Параметры) выбрать команду Environment (Среда), в открывшемся диалоговом окне Environment Options (Параметры среды)" (рис. 59) установить флажок Show compiler progress (Показывать работу компилятора), находящийся в группе Compiling , затем нажать кнопку ОК.

Рис. 58. Сообщение об успешной компиляции

Рис. 59. Диалоговое окно Environment Options

Если компилятор обнаружит в программе ошибку, то он выделяет строку с неверной инструкцией и- в нижней части окна выводит сообщение об ошибке.

Если ошибок в программе нет, компилятор создает исполняемый файл программы, который позже можно будет запустить непосредственно из Windows . Имя исполняемого файла такое же, как и у файла проекта, расши­рение — exe . Delphi помещает исполняемый файл в тот каталог, где нахо­дится файл проекта.

Запуск приложения из среды программирования

Запустить приложение можно, не завершая работу с Delphi , для этого надо выбрать команду Run (Выполнить) меню Run . После ввода коэффициентов и нажатия кнопки Вычислить программа вычисляет значения корней урав­нения (рис. 60).

Рис. 60. Пример работы приложения "Решение квадратного уравнения"

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

Структура простой программы Delphi

Программа Delphi представляет собой набор программных единиц — моду­лей. Один из модулей, главный модуль, содержит инструкции, с которых на­чинается выполнение программы. Главный модуль приложения формирует­ся средой Delphi .

Ниже приведен текст главного модуля программы решения квадратного уравнения.

Примечание: Главный модуль хранится в файле с расширением dpr . Чтобы увидеть текст главного модуля приложения, надо в меню View (Вид) выбрать команду Project source (Исходный текст проекта).

Читайте также:  Втб 24 официальный сайт телебанк вход

Forms, Root_u in ‘ROOT_U.PAS’ ;

Application.Title:=’ Квадратное уравнение ‘;

Начинается главный модуль словом PROGRAM , за которым следует имя программы, которое совпадает с именем проекта. Имя программы задается программистом в момент сохранения проекта, и оно определяет имя созда­ваемого компилятором исполняемого файла программы. Далее, за словом USES , следуют имена используемых модулей: библиотечного модуля Forms и модуля формы Root _ u .

Директива <$ R *. RES >указывает компилятору, что нужно использовать файл ресурсов, который содержит описания ресурсов приложения, например, пиктограммы. Звездочка показывает, что имя файла ресурсов такое же, как и у файла проекта, но с расширением res .

Примечание: Файл ресурсов не является текстовым файлом, и просмотреть его с помощью редактора текста нельзя. Для работы с файлами ресурсов используют специальные программы, например Resource Workshop . Можно использовать также входящую в состав Delphi утилиту ImageEditor , доступ к которой можно получить, выбрав команду Image Editor (Редактор образов) меню Tools (Сервис)

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

Ниже приведен текст модуля формы для программы решения квадратного уравнения.

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Edit1KeyPress(Sender: TObject; var Key: Char);

procedure FormCreate(Sender: TObject);

procedure TForm1.Button1Click(Sender: TObject);

a,b,c:real; < коэффициенты уравнения >

label1.caption:=’ Ошибка !’+chr(13)

+’Коэффициент при второй степени’ +chr(13)+’неизвестного равен нулю’

if d нет решений ‘; exit; end;

label4.caption:=’ Корни уравнения :’

Начинается модуль словом UNIT , за которым следует имя модуля. Именно это имя упоминается в списке используемых модулей в инструкции USES главного модуля приложения.

Состоит модуль из трех частей: раздела интерфейса, раздела реализации и раздела инициализации.

– Раздел интерфейса (начинается словом INTERFACE ) сообщает компиля­тору, какая часть модуля является доступной для других модулей про­граммы. Здесь перечислены используемые модулем другие библиотечные модули, описание сформированного Delphi типа TForm 1, описание дос­тупных другим модулям переменных.

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

Начинается раздел директивой <$ R *. DFM >, указывающей компилятору, что в раздел реализации надо вставить инструкции установки значений свойств формы, которые находятся в файле с расширением dfm , имя которого сов­падает с именем модуля. Файл *. dfm на основе внешнего вида формы гене­рируется средой Delphi . Просмотреть файл DFM можно при помощи редак­тора текста.

За директивой <$ R *. DFM >следует описание обработчиков событий формы. Сюда же программист может поместить описание своих процедур и функ­ций, которые могут вызываться из обработчиков событий обычным образом.

– Раздел инициализации позволяет выполнить инициализацию перемен­ных модуля. Инструкции раздела инициализации располагаются после раздела реализации между BEGIN и END . Если раздел инициализации

не содержит инструкций (как в приведенном примере), то слово BEGIN не указывается.

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

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

Для того чтобы программа делала то, о чем было сказано выше, надо напи­сать процедуры обработки события OnKeyPress для каждого поля редактиро­вания. Событие OnKeyPress происходит при нажатии клавиши на клавиату­ре. Заготовка процедуры обработки события OnKeyPress для поля Editi , генерируемая Delphi в результате щелчка на поле OnKeyPress на вкладке Events окна Object Inspector , выглядит следующим образом:

procedure StartForm.EditlKeyPress(Sender:Tobject var Key:Char);

Из заголовка процедуры видно, что она в качестве параметра получает сим­вольную переменную key . Эта переменная содержит символ, соответствую­щий нажатой клавише. Обратите внимание, что параметр принимается по ссылке (перед именем переменной стоит слово VAR), поэтому процедура может изменить значение переменной. Ниже приведен текст обработчика события OnKeyPress для поля Edit1.

procedure StartForm . EditlKeyPress ( Sender : Tobject ;

Процедура обработки события OnKeyPress проверяет, какая клавиша нажата. Если допустимая ( , или Backspace >), то процедура ничего не делает — символ появляется в поле редактирования. Если нажата точка, то делается проверка: есть ли уже точка в поле редактирования (свойство Text поля редактирования во время работы программы содержит введенный в поле текст) и если есть, то переменной key присваивается символ с нулевым кодом, тем самым блокируется его появление в поле редактирования. При нажатии клавиши Enter >, которой соответствует символ с кодом 13, к объ­екту Edit2 формы применяется метод SetFocus (Установить фокус), который перемещает курсор из поля Edit 1 в поле Edit2, предназначенное для ввода следующего коэффициента уравнения.

Процедура обработки события OnKeyPress для объекта Edit2 отличается от процедуры обработки события OnKeyPress для объекта Editi только тем, что вместо. Edit 2. SetFocus следует записать Edit 3. SetFocus .

Примечание: Окно редактора кода содержит тексты всех обработчиков событий. Поэтому что­бы не набирать заново текст, который уже набирался для какой-то процедуры, можно найти нужный фрагмент в другой процедуре и скопировать его обычным образом.

Предыдущая реализация программы вычисляла значения корней при нажа­тии кнопки Вычислить. Теперь мы хотим, чтобы корни вычислялись еще и при нажатии клавиши Enter >, когда курсор находится в поле Edit3. Оче­видно, что вычисление корней уравнения следует оформить как процедуру и вызывать ее как при нажатии клавиши Enter > в поле Edit3, так и при на­жатии кнопки Вычислить.

Ниже приведен текст процедуры SqRoot .

a,b,c:real; < коэффициенты уравнения >

Рис. 2. Главное окно Delphi

Окно формы (его заголовок Form 1) представляет собой заготовку — макет одного из окон разрабатываемого приложения.

Окно Инспектора объектов (его заголовок Object Inspector ) позволяет видеть и менять характеристики (свойства) объектов проекта. После запуска Delphi в этом окне находятся свойства формы Form 1.

3. Создание простого проекта

Демонстрацию возможностей Delphi и технологии визуального проектирования рассмотрим на примере разработки программы решения квадратного уравнения.

Работа над новым проектом — так в Delphi называется разрабатываемое приложение, начинается с создания стартовой формы — окна, которое по­является при запуске приложения.

3.1. Форма приложения

Стартовая форма создается путем изменения свойств (характеристик) формы Forml . Свойства формы определяют ее внешний вид: размер, положение на экране, текст заголовка, вид рамки. Они перечислены на вкладке (странице) Properties (Свойства) окна Object Inspector . В левой колонке перечислены имена свойств, в правой — их значения.

Сначала надо изменить значение свойства Caption (Заголовок) — заменить текст "Forml" на текст "Решение квадратного уравнения". Для этого нужно щелкнуть на поле Caption . В результате этого в правой колонке, где находится текущее значение свойства — текст "Forml", появляется курсор (рис.3 ).

Рис. 3. Установка свойства путем ввода значения

Используя клавишу Backspace >, надо удалить текст "Forml" и ввести текст "Решение квадратного уравнения".

Аналогичным образом можно установить значения свойств Height (Высота) и Width (Ширина), которые определяют высоту и ширину формы. Размер формы, а также ее положение на экране задается в пикселях.

При выборе некоторых свойств, например Color (Цвет), которое определяет цвет фона формы, после значения свойства выводится кнопка раскрывающегося списка. В результате щелчка на ней появляется список доступных значений свойства, из которого можно выбрать нужное значение (рис. 4).

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

Рис. 4. Установка свойств путем выбора значений из списка

Рис. 5. Пример раскрытого списка, уточняющих свойств свойства Font

В поле значения свойства Font (Шрифт) после значения расположена кнопка с тремя точками, при нажатии которой появляется стандартное диалоговое окно Windows выбора шрифта и его характеристик.

Большинство свойств определяют внешний вид формы. Свойство Name (Имя) определяет имя формы, оно используется в программе для управления формой.

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

Решение квадратного уравнения

Таблица содержит значения вложенных свойств свойства Font (Шрифт): Name (Имя) и Size (Размер). Перед именем вложенного свойства указывается имя вмещающего его свойства с точкой ( Font ).

3.2. Компоненты формы

Программа решения квадратного уравнения должна получить от пользовате­ля исходные данные — значения коэффициентов уравнения. В Windows данные вводятся в поля редактирования с клавиатуры. Поэтому в нашу форму надо добавить три компонента — три поля редактирования.

Читайте также:  Движение по спирали физика

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

Для создания проекта используется следующий минимальный набор компонент.

Button — стандартная кнопка, обычно кнопка используется для запуска действия, при этом задействуют только метод OnEvent (реакция на нажатие). Свойство Default = True ассоциирует вводимый компонент с кнопкой Enter, Cancel = True — с кнопкой Esc. Свойства Color для оформления надписи (Caption) у кнопки нет. Амперсант, помещенный в тексте надписи, указывает быструю Alt — клавишу запуска, например, Caption = A & Ppend вызывает срабатывание кнопки при нажатии Alt-P. Свойство ModalResult = true определит обязательность щелчка мышью кнопки для закрытия дочернего окна.

Label — метка, используется как надпись или как область вывода информации для чтения. Как и для кнопки, для метки можно определить клавишу быстрого доступа, но она будет запускать связанный с меткой компонент (по FocusControl). Свойство AutoSize=True определит минимизацию размера метки под текст надписи, Aligment — центровку этого текста, WordWrap — возможность расположения текста в несколько строк, Transparent — прозрачность при наложении на другие элементы.

Edit — строка ввода. Заголовка (Caption) у этого компонента нет, но есть свойство Text как содержимое строки. Это свойство можно как считывать, так и присваивать (при необходимости с ограничением длины назначением свойства MaxLength). При вводе конфиденциальной информации указывают отображаемые символы (обычно "*").

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

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

На рис. 6 представлен вид формы после добавления к ней трех полей редактирования.

Рис. 6. Форма с тремя компонентами — полями редактирования

Один компонент формы окружен восемью маленькими квадратиками (маркерами выделения). Он называется выделенным (маркированным). Свойства маркированного компонента отображаются в окне Object Inspector . Ниже в таблице перечислены основные свойства компонента "Поле редактирования".

Имя поля. Используется в программе для доступа к содержимому (тексту) поля

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

Delphi позволяет быстро и удобно разрабатывать эффективные приложения, включая приложения для работы с базами данных. Система имеет развитые возможности по созданию пользовательского интерфейса, широкий набор функций, методов и свойств для решения прикладных расчетно-вычислительных задач. В системе имеются развитые средства отладки, облегчающие разработку приложений. Традиционно Delphi относят к системам быстрой разработки приложений. Вместе с тем эта система обладает практически всеми возможностями СУБД, таких как Microsoft Access и Visual FoxPro. Она позволяет удобно создавать приложения с помощью инструментальных программных средств, визуально подготавливать запросы к базам данных, а также непосредственно писать SQL- запросы к базам данных. Применительно к работе с базами данных Delphi обеспечивает широкий набор инструментальных средств, поддерживает современные технологии, в том числе многоуровневую технологию «клиент – сервер» [28].

Как любая подобная система программирования, Delphi предназначена для разработки программ и имеет две характерные особенности: создаваемые с ее помощью программы могут работать не только под управлением Windows, а сама она относится к классу инструментальных средств ускоренной разработки программ. Это ускорение достигается за счет двух характерных свойств Delphi: визуального конструирования форм и широкого использования библиотеки визуальных компонентов.

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

Библиотека визуальных компонентов предоставляет программисту огромное разнообразие созданных разработчиками Delphi программных заготовок, которые немедленно или после несложной настройки готовы к работе в рамках вашей программы. Размещение объектов в Delphi связано с более тесными отношениями между объектами и реальным программным кодом. Объекты помещаются в созданную форму, при этом код, отвечающий объектам, автоматически записывается в исходный файл. Этот код компилируется, обеспечивая существенно более высокую производительность, чем визуальная среда, которая интерпретирует информацию лишь в ходе исполнения программы. Использование компонентов не только во много раз сокращает сроки разработки программ, но и существенно снижает вероятность случайных программных ошибок, от которых, увы, не защищен ни один крупный программный проект.

Ни один из инструментов ускоренной разработки программ не создается без средств прогона и отладки вновь созданной программы. В Delphi эти средства доведены до совершенства. Можно начать использование программы и последовательно – оператор за оператором – следить за ее выполнением по исходному тексту. В любой момент можно узнать текущее значение переменной и при необходимости изменить его без перекомпиляции программы [35].

Две вышеперечисленные особенности Delphi

1) визуальное конструирование форм

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

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

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

Среда Delphi устраняет необходимость программировать такие компоненты Windows общего назначения, как метки, пиктограммы и даже диалоговые панели. Delphi позволяет приспособить компоненты диалоговой панели (например, Choose File и Save File) к имеющейся задаче, чтобы они работали именно так, как требуется создаваемому приложению. Также здесь имеются предварительно определенные визуальные и невизуальные объекты, включая кнопки, объекты с данными, меню и уже построенные диалоговые панели. С помощью этих объектов можно, например, обеспечить ввод данных просто несколькими нажатиями кнопок мыши, не прибегая к программированию. Это наглядная реализация применений CASE-технологий в современном программировании приложений [36].

В процессе создания проектов в среде Windows с помощью Delphi наблюдаются следующие выгоды: устраняется необходимость в повторном вводе данных; обеспечивается согласованность проекта и его реализации; увеличивается производительность разработки и переносимость программ.

Визуальное программирование как бы добавляет новое измерение при создании приложений, давая возможность изображать объекты на экране монитора до выполнения самой программы. Без визуального программирования процесс отображения требует написания фрагмента кода, создающего объект «по месту». Увидеть закодированные объекты было возможно только в ходе исполнения программы. При таком подходе достижение того, чтобы объекты выглядели и вели себя заданным образом, становится утомительным процессом, который требует неоднократных исправлений программного кода с последующей прогонкой программы и наблюдения за тем, что в итоге получилось.

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

Cреда Delphi включает в себя полный набор визуальных инструментов для скоростной разработки приложений (RAD – rapid application development), поддерживающей разработку пользовательского интерфейса и подключение к корпоративным базам данных. VCL – библиотека визуальных компонент, включает в себя стандартные объекты построения пользовательского интерфейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файлами, управление DDE и OLE. Визуальные компоненты Delphi открыты для надстройки и переписывания.

Эта библиотека объектов включает в себя стандартные объекты построения пользовательского интерфейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файлами, управление DDE и OLE.

Среда Delphi состоит их четырех окон, управляемых как многооконное приложение с интерфейсом одного документа (рисунок 1). Главное окно Delphi управляет связанными с ним окнами – инспектора объектов, формы и окна редактора кода.

Рисунок 1 – Интерфейс основных окон среды Delphi

Главное окно (рисунок 2) является центром управления разработками. В нем размещены меню, панель быстрого доступа (SpeedВаг) и палитра компонентов. Строка меню дает возможность осуществлять контроль за всеми окнами среды разработки. Панель быстрого доступа обеспечивает оперативный доступ к общим операциям. Палитра компонентов состоит из нескольких групп, в каждой из которых расположены пиктограммы компонентов. Указав в палитре нужный компонент, можно перенести его (щелчком мыши) в окно формы. При этом создается активный объект, для которого с помощью инспектора объект нужно задавать свойства и описывать реакции на события, которые будут происходить с этим объектом при решении задачи.

Читайте также:  Как в биосе узнать разрядность системы

Рисунок 2 – Главное окно

Окно инспектора объектов (рисунок 3) является многостраничным окном, содержащим помеченные ярлыками страницы свойств (Ргореperties) и событий (Events). На странице свойств показаны свойства объектов, расположенных в окне формы (Form). На странице событий представлены события, на которые реагирую объекты окна формы. Инспектор Объектов состоит из двух страниц, каждую из которых можно использовать для определения поведения данного компонента. Первая страница – это список свойств, вторая – список событий. Если нужно изменить что-нибудь, связанное с определенным компонентом, то Вы обычно делаете это в Инспекторе Объектов. К примеру, Вы можете изменить имя и размер компонента TLabel, изменяя свойства Caption, Left, Top, Height, и Width.

Можно использовать закладки внизу Инспектора Объектов для переключения между страницами свойств и событий. Страница событий связана с Редактором; если Вы дважды щелкнете мышкой на правую сторону какого-нибудь пункта, то соответствующий данному событию код автоматически запишется в Редактор, сам Редактор немедленно получит фокус, и Вы сразу же имеете возможность добавить код обработчика данного события. Данный аспект среды программирования Delphi будет еще обсуждаться позднее.

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

Программисты на Delphi проводят большинство времени переключаясь между Дизайнером Форм и Окном Редактора Исходного Текста (которое для краткости называют Редактор). Расскажем поподробнее о каждом окне среды Delphi.

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

Рисунок 3 – Инспектор Объектов

Дизайнер Форм в Delphi – то место, где Вы создаете визуальный интерфейс программы. Он столь интуитивно понятен и прост в использовании, что создание визуального интерфейса превращается в детскую игру. Дизайнер Форм первоначально состоит из одного пустого окна, которое Вы заполняете всевозможными объектами, выбранными на Палитре Компонент. Несмотря на всю важность Дизайнера Форм, местом, где программисты проводят основное время, является Редактор. Логика является движущей силой программы и Редактор – то место, где Вы ее «кодируете» [35, 36].

Рисунок 4 – Дизайнер Форм

Несмотря на всю важность Дизайнера Форм, местом, где программисты проводят основное время, является Редактор.

Окно редактора кода (рисунок 5) дает возможность набирать и редактировать код модуля программы на языке Object Pascal. Это окно является многостраничным, оно позволяет выполнять переходы между модулями программы. Логика является движущей силой программы и Редактор – то место, где Вы ее «кодируете». В окне Редактора Вы создаете логику управления программой.

Рисунок 5 – Окно Редактора

В главном окне принято выделять три основных выделенных элемента (не считая стандартной строки-заголовка):

– строка меню (Menu System);

– панель быстрого доступа (SpeedBar).

Меню (рисунок 6) предоставляет быстрый и гибкий интерфейс к среде Delphi, потому что может управляться по набору «горячих клавиш».

Рисунок 6 – Строка меню

В этом смысле проектирование в Delphi мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции мы получаем код, который исполняется в 10 – 20 раз быстрее, чем то же самое, сделанное при помощи интерпретатора.

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

Палитра Компонент (рисунок 7) позволяет Вам выбрать нужные объекты для размещения их на Дизайнере Форм. Для использования Палитры Компонент просто первый раз щелкните мышкой на один из объектов и потом второй раз – на Дизайнере Форм. Выбранный Вами объект появится на проектируемом окне и им можно манипулировать с помощью мыши.

Палитра Компонент использует постраничную группировку объектов. Внизу Палитры находится набор закладок – Standard, Additional, Dialogs и т.д. Если Вы щелкнете мышью на одну из закладок, то Вы можете перейти на следующую страницу Палитры Компонент. Принцип разбиения на страницы широко используется в среде программирования Delphi и его легко можно использовать в своей программе (на странице Additional есть компоненты для организации страниц с закладками сверху и снизу).

Рисунок 7 – Палитра Компонент

SpeedBar (рисунок 8) находится непосредственно под меню, слева от Палитры Компонент. SpeedBar выполняет много из того, что можно сделать через меню. Если задержать мышь над любой из иконок на SpeedBar, то Вы увидите, что появится подсказка, объясняющая назначение данной иконки.

Рисунок 8 – SpeedBar

Последняя важная часть среды Delphi – Справочник (on-line help), (рисунок 9). Для доступа к этому инструменту нужно просто выбрать в системном меню пункт Help и затем Delphi Help.

Рисунок 9 – Справочник

Редактор Картинок (рисунок 10) работает аналогично программе Paintbrush из Windows. Вы можете получить доступ, к этому модулю выбрав пункт меню Tools | Image Editor.

Рисунок 10 – Редактор Картинок

А теперь нужно рассмотреть те элементы, которые программист на Delphi использует в повседневной жизни. В дополнение к инструментам, обсуждавшимся выше, существуют пять средств, поставляемых вместе с Delphi. Эти инструментальные средства: встроенный отладчик; внешний отладчик (поставляется отдельно); компилятор командной строки; WinSight; WinSpector.

Данные инструменты собраны в отдельную категорию не потому, что они менее важны, чем другие, но потому, что они играют достаточно абстрактную техническую роль в программировании [37].

Чтобы стать сильным программистом на Delphi, Вам понадобится понять, как использовать отладчик Delphi. Отладчик позволяет Вам пройти пошагово по исходному тексту программы, выполняя по одной строке за раз, и открыть просмотровое окно (Watch), в котором будут отражаться текущие значения переменных программы.

Встроенный отладчик, который наиболее важен из пяти вышеперечисленных инструментов, работает в том же окне, что и Редактор. Внешний отладчик делает все, что делает встроенный и кое – что еще. Он более быстр и мощен, чем встроенный. Однако он не так удобен в использовании, главным образом из-за необходимости покидать среду Delphi.

Внешний компилятор, называется DCC.EXE, полезен, в основном, если Вы хотите скомпилировать приложение перед отладкой его во внешнем отладчике. Большинство программистов, наверняка, посчитают, то гораздо проще компилировать в среде Delphi, нежели пытаться создать программу из командной строки. Однако, всегда найдется несколько оригиналов, которые будут чувствовать себя счастливее, используя компилятор командной строки. Но это факт – возможно, создать и откомпилировать программу на Delphi используя только DCC.EXE и еще одну программу CONVERT.EXE, которая поможет создать формы. Однако, данный подход неудобен для большинства программистов [38].

WinSight и WinSpector интересны преимущественно для опытных программистов в Windows. Это не значит, что начинающий не должен их запускать и экспериментировать с ними по своему усмотрению. Но эти инструменты вторичны и используются для узких технических целей.

Из этих двух инструментов WinSight определенно более полезен. Основная его функция – позволить наблюдать за системой сообщений Windows. Хотя Delphi делает много для того, чтобы спрятать сложные детали данной системы сообщений от неопытных пользователей, тем не менее Windows является операционной системой, управляемой событиями. Почти все главные и второстепенные события в среде Windows принимают форму сообщений, которые рассылаются с большой интенсивностью среди различными окнами на экране. Delphi дает полный доступ к сообщениям Windows и позволяет отвечать на них, как только будет нужно. В результате, опытным пользователям WinSight становится просто необходим [38, 39]. WinSpector сохраняет запись о текущем состоянии машины в текстовый файл; Вы можете просмотреть этот файл для того, чтобы узнать, что неправильно идет в программе. Данный инструмент полезен, когда программа находится в опытной эксплуатации – можно получить важную информацию при крушении системы.

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

admin

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *