Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

02 Лекция - Среда Delphi

.pdf
Скачиваний:
45
Добавлен:
13.04.2015
Размер:
813.27 Кб
Скачать

Лекция № 2.

 

Тема: IDE Delphi.

 

1.

Интегрированная среда разработки Delphi ..........................................................................

1

2.

Меню Delphi ............................................................................................................................

5

 

Раздел меню Project ...................................................................................................................

5

 

Раздел меню Run........................................................................................................................

6

 

Раздел меню Component............................................................................................................

7

 

Раздел меню Database................................................................................................................

7

 

Раздел меню Tools .....................................................................................................................

7

 

Раздел меню Help.......................................................................................................................

8

3.

Некоторые настройки компилятора Delphi..........................................................................

8

7.

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

9

1. Интегрированная среда разработки Delphi

На рис.1 показан общий вид интегрированной среды разработки (IDE) Delphi. На этом рисунке отмечены все основные компоненты среды разработки: главное окно, палитра компонентов, панели инструментов, окно конструктора форм, окно редактора кода, окно инспектора объектов и окно Code Explorer.

Главное окно

Главное окно можно представить как управляющий центр Delphi IDE. В нем содержатся все стандартные элементы и сохранена функциональность других окон Windows. Оно состоит из трех основных частей: главного меню, панелей инструментов и палитры компонентов (Component Palette).

Главное меню

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

Панели инструментов Delphi

Панели инструментов предоставляют доступ к различным функциям главного меню IDE с помощью единственного щелчка на соответствующей кнопке. Обратите внимание, что для каждой кнопки панели инструментов предусмотрен вывод подсказки, содержащей описание ее назначения. Не считая палитры компонентов, в IDE Delphi имеется несколько отдельных панелей инструментов: Debug (Отладка), Desktop (Рабочий стол), Standard (Стандартная), View (Вид) и Custom (Пользовательская). На рис.1 показана конфигурация кнопок этих панелей, принимаемая по умолчанию. Однако любую из кнопок можно удалить или добавить с помощью команды View -> Toolbars -> Customize. Добавление новых кнопок осуществляется путем их перетаскивания из этого окна на любую панель инструментов. Для удаления кнопки достаточно перетащить ее за пределы панели инструментов.

Панели инструментов Главное окно

 

Палитра компонен-

 

 

тов

 

Инспектор объектов Конструктор форм Окно Code Explorer

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

Рис.1- Общий вид интегрированной среды разработки (IDE) Delphi

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

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

Палитра компонентов представляет собой панель инструментов удвоенной высоты, содержащей несколько вкладок, в которых находятся все установленные в среде IDE компоненты VCL и ActiveX. Порядок следования и вид вкладок и компонентов может быть настроен с помощью щелчка правой кнопкой мыши на интересующем объекте или посредством выбора в главном меню команды Component -> Configure Palette.

Конструктор форм Form Designer

При запуске конструктор форм представляет собой пустое окно, готовое к превращению в окно приложения Windows. Его можно рассматривать как холст художника, предназначенный для создания интерфейса будущего приложения — здесь определяется, как оно будет выглядеть с точки зрения пользователя. Процесс создания заключается в выборе компонентов на палитре и перетаскивании их в форму. Точное размещение и установка размеров компонентов также выполняются с помощью мыши. Кроме того, внешним видом и поведением компонентов можно управлять из окон Object Inspector и Code Editor.

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

В окне Object Inspector можно изменять свойства компонентов формы или определять события, на которые будет реагировать эта форма или ее компоненты. Свойства (properties) представляют собой данные, определяющие, как объект выглядит на экране, — высоту, цвет, шрифт и т.д. События (events) — это подпрограммы, выполняемые в ответ на некоторые происходящие в вашем приложении действия. Примером события может

2

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

Cодержимое окна Object Inspector можно упорядочить либо по категории, либо по именам (в алфавитном порядке). Для этого достаточно щелкнуть правой кнопкой мыши в любом месте окна Object Inspector и выбрать в раскрывшемся контекстном меню команду

Arrange.

Инспектор объектов тесно связан с контекстной справочной системой. Если особенности какого -то события или свойства вам непонятны, поместите на него указатель мыши и нажмите клавишу <F1>. На экране раскроется окно справочной системы с соответствующим текстом.

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

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

Окно Code Explorer

В окне Code Explorer модули, представленные во вкладках окна Code Editor, можно просматривать в виде древовидной структуры. Подобное представление позволяет легче ориентироваться в модулях, а также добавлять новые или переименовывать уже имеющиеся элементы модулей. Очень важно помнить, что между окнами Code Explorer и Code Editor всегда поддерживается связь типа "один к одному". Щелчок правой кнопкой мыши на любом из элементов в окне Code Explorer позволяет вывести контекстное меню с командами, доступными этому объекту. Кроме того, можно управлять сортировкой и фильтрацией отображаемых в окне Code Explorer объектов. Для этой цели используются параметры, расположенные во вкладке Explorer диалогового окна Environment Options.

Генератор исходного кода

При работе с визуальными компонентами в конструкторе форм Delphi автоматически генерирует соответствующий код на языке Object Pascal. Простейший путь познакомиться с этой особенностью Delphi — начать новый проект. Выберите в главном окне команду File -> New Application. В результате в конструкторе форм будет создана новая форма, а в редакторе кода — заготовка исходного текста, представленная в листинге 1.1.

Листинг 1.1. Заготовка исходного текста программы

unit Unitl; interface uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms; type

TForml = class(TForm)

3

private

{Private declarations } public

{Public declarations } end;

var

Forml: TForml; implementation

{ $R *.DFM} end.

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

Рассмотрим код заготовки более подробно. Ниже приведена часть ее текста. type

TForml = class(TForm) private

{Private declarations } public

{Public declarations } end;

Этот фрагмент указывает, что объект TForml порожден от объекта TForm. Тут же комментариями отмечены места, предназначенные для ввода собственного кода — как доступного извне (public), так и скрытого (private) от внешних программ. Не беспокойтесь, если вы пока не знаете точного значения терминов "объект", "скрытый" и т.д. Очень важна следующая строка программы:

{$R *.DFM}

В Object Pascal директива $R используется для загрузки внешнего файла ресурсов. Приведенная строка связывает файл с расширением .dfm (расширение файлов форм Delphi) с выполняемым модулем. Файл .dfm содержит текствовое или бинарное представление созданной с помощью Form Designer формы. Символ шаблона "*" в данном случае означает, что имя файла должно быть тем же, что и имя модуля. В нашем примере имя модуля определено как Unitl, следовательно, его исходный текст будет находиться в файле Unitl.pas, а значение *.DFM в директиве соответствует файлу Unitl.dfm.

Файл проекта приложения также заслуживает хотя бы беглого взгляда. Расширение файла проекта - .dpr (от Delphi PRoject). Он представляет собой обычный исходный файл Pascal, но с некоторыми расширениями. В этом файле содержится основная часть (с точки зрения Object Pascal) вашей программы. В отличие от других версий Pascal, которые, возможно, вам знакомы, основная работа программ Delphi проходит в модулях, а не в главном файле программы. Текст файла проекта можно отобразить в окне редактора с помощью

команды Project -> View Source. Вот текст файла нашего нового проекта: program Projectl;

uses Forms,

Unitl in 'Unitl.pas' { Forml} ; { $R *.RES}

begin

Application.Initialize; Application.CreateForm (TForml, Forml); Application.Run;

end.

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

4

жит указания (в виде комментария) того, какая форма находится в подключаемом модуле. Если у вас когда-либо возникнут сомнения, в каком из модулей содержится та или иная форма, их легко можно будет развеять, воспользовавшись окном Project Manager, которое выводится на экран с помощью команды View->Project Manager.

2. Меню Delphi

Раздел меню Project

Раздел меню Project содержит команды (рисунок 1), которые используются для компиляции и построения приложения.

Команда Add to Project... открывает диалоговое окно для поиска необходимого проекта и добавления его к уже существующему проекту. Когда вы добавляете модуль в проект, Delphi автоматически добавляет в файл проекта соответствующий оператор uses.

Команда Remove from Project удаляет формы и модули из текущего проекта. Когда вы выбираете данную команду и нажимаете OK, Delphi удаляет избранные форму и модуль текущего проекта, а из файла проекта удаляет соответствующий оператор uses.

Команда Import Type Library... импортирует в проект одну из зарегистрированных в системе библиотек типов.

Команда Add to Repository позволяет добавить ваши собственные проекты и формы в хранилище компонентов. Это позволит использовать ваш проект многократно, не создавая его заново.

Команда View Source позволяет осуществлять просмотр файла проекта в окне Редактора кода.

Команда Languages позволяет добавлять, удалять и обновлять DLL ресурсы, используемые при интернационализации проектов, выбирать язык в процессе отладки приложений.

Команда Add New Project... добавляет в группу проектов новый проект.

Команда Add Existing Project добавляет в группу проектов ранее созданный проект. Команда Compile Project1 осуществляет компиляцию всех тех файлов проекта, ко-

торые были изменены с момента последнего выполнения вашей программы.

Команда Build Project1 компилирует все компоненты, модули, формы вне зависимости от того, изменялось ли в них что-нибудь с момента последней компиляции.

Syntax check Project1 производит синтаксическую проверку программы на наличие ошибок, без генерации исполняемого файла.

Команда Information for [none] показывает информацию о вашей программе: числе строк кода, размер выполняемого модуля, размер стека и т.п.

Команда Compile All Projects компилирует все измененные файлы проектов, которые изменялись с момента последней компиляции.

Команда Build All Projects компилирует все файлы проектов, включенных в групповой проект, независимо от того, изменялись они или нет.

Команда Web Deployment Options позволяет сделать установки для развертывания активной формы или элемента на сервере.

Команда Web Deploy развертывает активную форму ActiveForm или элемент ActiveX на сервере.

Команда Options активизирует диалоговое окно Project Options опций проекта, в котором вы можете устанавливать опции компиляции, редактирования связей и задавать каталоги.

5

Раздел меню Run

Раздел меню Run содержит команды, обеспечивающие отладку и выполнение приложения.

Команда Run запускает выполнение вашего приложения. Если до этого не была выполнена компиляция программы в ее текущем состоянии, то перед запуском эта компиляция выполняется.

Команда Attach to process отображает окно со списком выполняемых процессов, которые вы можете отлаживать. Для начала отладки надо выделить интересующий вас процесс и сделать на нем двойной щелчок.

Команда Parameters... задает параметры командной строки, необходимые при запуске приложения.

Команда Register ActiveX Server позволяет зарегистрировать в Windows активный сервер ActiveX. Если вы проведете подобную регистрацию, то ваш управляющий активный элемент можно вызывать, применяя программу просмотра Web или другие приложения.

Команда Unregister ActiveX Server позволяет снять с регистрации в Windows активный сервер ActiveX, в результате чего экземпляр вашего активного элемента удаляется из системы.

Команда Install MTS Objects... допускает MTS объекты в ваше приложение, выполняемое в MTS среде, если на вашем компьютере установлена программа Microsoft transaction server.

Команда Step Over производит пошаговое выполнение приложения, по одному оператору за шаг. Любая процедура или функция выполняется, как если бы она была одним оператором программы. Это удобно, если вам необходимо просмотреть поведение программы, не заходя внутрь каждой процедуры или функции.

Команда Trace Into в отладочном режиме выполняет текущую строку кода и прослеживает работу вызываемых подпрограмм.

Команда Trace To Next Source Line позволяет выполнять программу до следующей исполняемой команды. Ее удобно использовать при работе с окном CPU.

Команда Run To Cursor выполняет программу до той точки в исходном тексте, где находится курсор.

Команда Run Until Return позволяет выполнять ваше приложение до тех пор, пока не произойдет возврат из выполняемой функции. Процесс остановится на операторе, следующим за вызовом этой функции.

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

Команда Program Pause приостанавливает прогон отлаживаемой программы, и вы можете работать с окном Watch.

Команда Program Reset прекращает выполнение приложения и выгружает его из па-

мяти.

Команда Inspect открывает окно инспектора отладки приложения. Команда доступна только во время выполнения приложения при останове его средствами отладки или вследствие генерации исключения. После останова программы вы можете поставить курсор на имя интересующей вас переменной, или компонента, или функции и выполнить команду Run/Inspect. Инспектор отладки позволяет исследовать различные данные (переменные, массивы, классы, функции, указатели) и изменять значения переменных и свойств

6

компонентов.

Команда Evaluate/Modify открывает окно оценки и модификации выражений. Опции этого окна позволяют вычислять выражения и изменять значения переменных.

Команда Add Watch добавляет переменную или выражение в окно наблюдения. Команда Add Breakpoint добавляет точку прерывания, которая вызывает выделение

цветом соответствующего оператора в исходном тексте вашей программы.

Раздел меню Component

Раздел меню Component (рисунок 3) содержит команды, позволяющие создавать новые компоненты, изменять палитру компонентов и т.д.

Команда New Component... открывает диалоговое окно эксперта компонентов, помогающее создавать новые компоненты.

Команда Install Component... устанавливает новый визуальный компонент Delphi в новый или уже существующий пакет Delphi.

Команда Import ActiveX Control... позволяет импортировать активный управляющий элемент ActiveX, который уже зарегистрирован в системе, в новый или уже существующий проект Delphi.

Команда Create Component Template... сохраняет компонент с нужным набором свойств как шаблон для создания подобных компонентов. Эта команда становится активной, когда вы выделите на форме один или несколько компонентов.

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

Команда Configure Palette... вызывает диалоговое окно настройки палитры компонентов.

Раздел меню Database

Раздел меню DataBase (рисунок 4) содержит команды, позволяющие создавать, модифицировать и просматривать ваши базы данных.

Команда Explore вызывает инструмент исследования и редактирования структур баз данных Database Explorer или SQL Explorer (в зависимости от версии Delphi).

Команда SQL Monitor вызывает инструмент запросов к базе данных, позволяет наблюдать прохождение запросов в среде Windows и то, как они обрабатываются в вашем приложении.

Команда Form Wizard... вызывает окно эксперта форм для создания формы, отображающей наборы данных из удаленных или локальных баз данных.

Раздел меню Tools

Этот раздел главного меню Delphi дает возможность просматривать и изменять установки среды Delphi, модифицировать список программ в меню Tools. Нижняя перестраиваемая часть меню отображает разделы программ, установленных в него пользователем или заданных при установке системы.

Команда Environment Options вызывает окно настройки параметров Delphi и ее инструментов - палитры компонентов и окно просмотра объектов.

Команда Editor Options, введенная в Delphi 5, позволяет отображать диалоговое окно настройки Редактора кода. В Delphi 4 страницы настройки Редактора кода включены в окно настройки окружения Enviromental Options.

Команда Debugger Options... вызывает окно отладчика приложения для установки

7

необходимых опций.

Команда Repository... открывает окно репозитория Delphi, позволяя добавлять и удалять объекты из репозитория.

Команда Translation Repository имеется только в Delphi 5, она вызывает окно репозитория трансляции, которое используется при интернационализации проектов.

Команда Configure Tools... позволяет настроить Delphi, добавляя инструменты отладки приложения в меню Tools.

Команда Database Desktop вызывает инструмент обслуживания баз данных. Команда Package Collection Editor вызывает окно редактора пакетов. Команда Image Editor вызывает окно редактора графики.

Раздел меню Help

Команды этого раздела позволяют работать со справочной системой Delphi. Команда Contents или Delphi Help показывает содержимое справочной системы

Delphi.

3. Некоторые настройки компилятора Delphi

Компилятор может оказать большую помощь при разработке программы. Компилятор Delphi, например, позволяет включить различные режимы диагностики ошибок во вкладке Compiler диалогового окне Project->Options, показанной на рис.2. Некоторые специальные директивы компилятора можно поместить непосредственно в текст программы. Кроме того, для получения дополнительной информации о коде полезно установить флажки опций Show Hints (Вывод советов) и Show Warnings (Вывод предупреждений), расположенных в той же вкладке диалогового окна свойств проекта. Зачастую программист тратит несколько часов в бесплодных поисках одной-единственной ошибки, которую компилятор, используя эти вспомогательные средства, смог бы найти немедленно.

Рис.2 - Вкладка Compiler диалогового окна Project Options

8

Таблица 1. Классификация ошибок времени выполнения в Delphi

Проверка

Директива

Функция

Range Checking

{$R+}

Позволяет убедиться, что индекс массива,

(Проверка диапазона)

 

строки или значение скалярной переменной не

 

 

вышли за пределы допустимого диапазона

I/O Checking

{$I + }

Контролирует ошибки ввода-вывода после ка-

(Контроль ввода-вывода)

 

ждого вызова функций ввода-вывода, напри

 

 

мер, таких как ReadLn() и WriteLn(). Эту

 

 

опцию желательно всегда включать

Overflow Checking

{$Q+}

Проверяет, не превышает ли результат вычис-

(Контроль переполнения)

 

лений размер регистра

Нужно иметь в виду, что эти директивы снижают производительность программы, следовательно, когда отладка входит в финальную фазу, можно повысить производительность, отменив некоторые из директив. Чаще всего отключают проверку всех ошибок, кроме ошибок ввода-вывода.

7. Десять важнейших функций графической среды разработки Delphi

1. Функция дополнения класса (Class Completion)

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

Безусловно , самым важной особенностью функции дополнения класса является то, что она не имеет собственного интерфейса. Достаточно просто ввести часть объявления класса и нажать комбинацию клавиш <Ctrl+Shift+C>, для того чтобы функция дополнения класса предприняла попытку определить, что именно предполагалось ввести, и сгенерировала соответствующий текст. Например, если поместить в класс объявление процедуры Foo, после этого нажать упомянутую выше комбинацию клавиш, то описание этого метода автоматически будет внесено в раздел реализации данного модуля. Если объявить новое свойство, значение которого считывается из поля, а записывается с помощью метода, то после вызова функции дополнения класса будет автоматически создано определение поля, а также текст описания и реализации метода.

2. Функция навигации AppBrowser

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

3. Перемещение между разделами объявления и реализации

Для перемещения между объявлением и реализацией метода достаточно поместить на его имя курсор ввода и нажать комбинацию клавиш <Ctrl+Shift+ Стрелка вверх> или

<Ctrl+Shift+ Стрелка вниз>.

9

4. Состыковка окон

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

иудерживайте клавишу <Ctrl>. Кроме того, можно щелкнуть в окне правой кнопкой мыши

исбросить в раскрывшемся контекстном меню флажок опции Dockable.

5. Броузер объектов

Выводится на экран с помощью команды View -> Browser. В окне отображается древовидная структура, позволяющая получать доступ к глобальным переменным, классам и модулям, а также контролировать области видимости, цепочки наследования и ссылки на символы.

6. Создание нового GUID

Нажатие комбинации клавиш <Ctrl+Shift+G> позволяет поместить в окно редактора кода новое уникальное значение GUID (уникального глобального идентификатора интерфейса). Эта возможность оказывается весьма полезной при создании нового интерфейса.

7. Подсветка синтаксиса С+ +

Если в процессе работы в среде Delphi вам часто приходится просматривать файлы с программами на языке С++ (например, файлы заголовков SDK), то вы сможете по достоинству оценить эту встроенную функцию редактора кодов. Нужно просто загрузить в редактор файл с текстом программы на С++ - все остальное будет сделано автоматически.

8. Список То Do

Используйте список "То Do List" для управления ходом работы над файлами с программами. Вывести содержимое этого списка можно с помощью команды View->To Do List. В этот список автоматически помещаются любые комментарии из создаваемых программ, которые начинаются словом "TODO". Окно То Do Items может использоваться для определения владельца, приоритета и категории каждого из объектов "То Do".

9. Использование менеджера проектов

Окно Project Manager может оказаться очень удобным инструментом при работе над большими проектами — особенно над теми, которые предусматривают создание нескольких файлов ЕХЕ или DLL Вывести это окно на экран можно с помощью команды View -> Project Manager.

10. Использование функции Code Insight для завершения объявлений и параметров

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

10