интерфейсов (Visual User Interface Builder), Object Browser(позволяющее изучать
иерархиюклассов и просматривать списки их полей, методов и свойств), окна
управления проектом (Project Manager) и редактора.
Delphi содержит полноценный текстовый редактор типа Brief, назначения клавиш в
которомсоответствуют принятым в Windows стандартам, а глубина иерархии операций
Undo неограниченна. Как это стало уже обязательным, реализовано цветовое
выделениеразличных лексических элементов программы. Процесс построения
приложения достаточно прост. Нужно выбрать форму (в понятие формы входят
обычные,диалоговые, родительские и дочерние окна MDI), задать ее свойства и
включить в нее необходимые компоненты (видимые и, если понадобится,
неотображаемые): меню,инструментальные панели, строку состояния и т. п., задать
их свойства и далее написать (с помощью редактора исходного кода) обработчики
событий. ObjectBrowser Окна типа Object Browser стали неотъемлемой частью систем
программирования на объектно-ориентированных языках. Работа с ними становится
возможной сразупосле того, как вы скомпилировали приложение.
Projeсt Manager - это отдельное окно, где перечисляются модули и формы,
составляющиепроект. При каждом модуле указывается маршрут к каталогу, в котором
находится исходный текст. Жирным шрифтом выделяются измененные, но еще не
сохраненныечасти проекта. В верхней части окна имеется набор кнопок: добавить,
удалить, показать исходный текст, показать форму, задать опции и
синхронизироватьсодержимое окна с текстом файла проекта, т. е. с головной
программой на языке Pascal.
Опции, включая режимы компиляции, задаются для всего проекта в целом. В этом
отношениитрадиционные make-файлы, используемые в компиляторах языка C,
значительно более гибки.
Visual Component Library (VCL) Богатство палитры объектов для построения
пользовательского интерфейса - один из ключевых факторов при выборе
инструментавизуального программирования. При этом для пользователя имеет
значение как число элементов, включенных непосредственно в среду, так и
доступностьэлементов соответствующего формата на рынке. [4, 22].
1.7.1Высокопроизводительный компилятор в машинный код
Компиляторы языка Pascal компании Borland никогда не заставляли пользователя
подолгу ждатьрезультатов компиляции. Производители утверждают, что на сегодня
данный компилятор - самый быстрый в мире. Компилятор, встроенный в Delphi
позволяетобрабатывать до 390 тыс. строк исходного текста в минуту на машине
Pentium-100. Он предлагает легкость разработки и быстроевремя проверки готового
программного блока, характерного для языков четвертого поколения (4GL) и в то же
время обеспечивает качество кода, характерного длякомпилятора 3GL.
В смысле проектирования Delphi мало чем отличается от проектирования в
интерпретирующейсреде, однако после выполнения компиляции мы получаем код,
который исполняется в 10-20 раз быстрее, чем тоже самое, сделанное при помощи
интерпретатора. Крометого, компилятор компилятору рознь, в Delphi компиляция
производится непосредственно в родной машинный код, в то время как существуют
компиляторы,превращающие программу в так называемый p-код, который затем
интерпретируется виртуальной p-машиной. Это не может не сказаться на фактическом
быстродействииготового приложения.
Следует отметить также, что благодаря опции оптимизации сегментов удается
существенносократить размер выполняемого файла. Можно запустить компилятор в
режиме проверки синтаксиса. При этом наиболее длительная операция компоновки
иизготовления исполняемого файла выполняться не будет.
Вероятно, то обстоятельство, что Delphi позиционируется как средство создания
приложений,взаимодействующих с базами данных, и ориентировано преимущественно на
рынок инструментальных средств клиент/сервер, где до настоящего момента
доминируютинтерпретируемые языки, позволило его авторам не задумываться над
созданием оптимизирующего компилятора, способного использовать все достоинства
архитектурсовременных процессоров. [22].
1.7.2Мощный объектно-ориентированный язык
Совместимость с программами, созданными ранее средствами Borland Pascal,
сохраняется,несмотря на то, что в язык внесены существенные изменения.
Необходимость в некоторых усовершенствованиях давно ощущалась. Самое заметное из
них - аппаратисключительных ситуаций, подобный тому, что имеется в C++, был
первым реализован в компиляторах корпорации Borland. Не секрет, что при
написанииобъектно-ориентированных программ, активно работающих с динамической
памятью и другими ресурсами, немалую трудность представляет аккуратное
освобождение этихресурсов в случае возникновения нештатных ситуаций. Особенно
это актуально для среды Windows, где число видов ресурсов довольно велико, а
неправильная работас ними может быстро привести к зависанию всей системы.
Предусмотренный в Delphi аппарат исключений максимально упрощает кодирование
обработки нештатныхситуаций и освобождения ресурсов.
Объектно-ориентированный подход в новой версии языка получил значительное
развитие. Перечислим основные новшества.
введено понятие класса.
реализованы методы классов, аналогичные статическим методам C++. Они оперируют
неэкземпляром класса, а самим классом.
механизм инкапсуляции во многом усовершенствован. Введены защищенные поля и
методы, которые, подобноприватным, не видны извне, но отличаются от них тем, что
доступны из методов класса- наследника.
введена обработка исключительных ситуаций. В Delphi это устроено в стиле
С++.Исключения представлены в виде объектов, содержащих специфическую информацию
о соответствующей ошибке (тип и место- нахождение ошибки). Разработчик
можетоставить обработку ошибки, существовавшую по умолчанию, или написать свой
собственный обработчик. Обработка исключений реализована в виде
exception-handlingblocks (также еще называется protected blocks), которые
устанавливаются ключевыми словами try и end. Существуют два типа таких блоков:
try...exceptи try...finally.
появилось несколько удобных синтаксических конструкций, в числе которых
преобразованиетипа объекта с контролем корректности (в случае неудачи
инициируется исключение) и проверка объекта на принадлежность классу.
Ссылки на классы придают дополнительный уровень гибкости, так, когда вы
хотитединамически создавать объекты, чьи типы могут быть известны только во
время выполнения кода. К примеру, ссылки на классы используются при
формированиипользователем документа из разного типа объектов, где пользователь
набирает нужные объекты из меню или палитры. Собственно, эта технология
использовалась ипри построении Delphi.
введено средство, известное как механизм делегирования. Под делегированием
понимаетсято, что некий объект может предоставить другому объекту отвечать на
некоторые события. Он используется в Delphi для упрощения
программированиясобытийно-ориентированных частей программ, т. е.
пользовательского интерфейса и всевозможных процедур, запускаемых в ответ на
манипуляции с базой данных.
После того как Borland внесла перечисленные изменения, получился мощный
объектно-ориентированный язык, сопоставимый по своим возможностям с C++. Платой
за новые функции стало значительноеповышение требований к профессиональной
подготовке программиста.
Язык программирования Delphi базируется на Borland Object Pascal.
Кроме того, Delphi поддерживает такие низкоуровневые особенности, как подклассы
элементовуправления Windows, перекрытие цикла обработки сообщений Windows,
использование встроенного ассемблера.[22].
1.7.3Объектно-ориентированная модель программных компонент
Основной упор этой модели в Delphi делается на максимальном повторном
использовании кода. Этопозволяет разработчикам строить приложения весьма быстро
из заранее подготовленных объектов, а также дает им возможность создавать свои
собственныеобъекты для среды Delphi. Никаких ограничений по типам объектов,
которые могут создавать разработчики, не существует. Действительно, все в Delphi
написано нанем же, поэтому разработчики имеют доступ к тем же объектам и
инструментам, которые использовались для создания среды разработки. В результате
нет никакой разницымежду объектами, поставляемыми Borland или третьими фирмами,
и объектами, которые можно создать самостоятельно.
В стандартную поставку Delphi входят основные объекты, которые образуют удачно
подобраннуюиерархию из 270 базовых классов. На Delphi можно одинаково хорошо
писать как приложения к корпоративным базам данных, так и, к примеру, игровые
программы.Во многом это объясняется тем, что традиционно в среде Windows было
достаточно сложно реализовывать пользовательский интерфейс. Событийная модель в
Windowsвсегда была сложна для понимания и отладки. Но именно разработка
интерфейса в Delphi является самой простой задачей для программиста.
Благодаря такой возможности приложения, изготовленные при помощи Delphi,
работают надежнои устойчиво. Delphi поддерживает использование уже существующих
объектов, включая DLL, написанные на С и С++, OLE сервера, VBX, объекты,
созданные припомощи Delphi. Из готовых компонент работающие приложения
собираются очень быстро. Кроме того, поскольку Delphi имеет полностью объектную
ориентацию,разработчики могут создавать свои повторно используемые объекты для
того, чтобы уменьшить затараты на разработку.
Delphi предлагает разработчикам - как в составе команды, так и индивидуальным
-открытую архитектуру, позволяющую добавлять компоненты, где бы они ни были
изготовлены, и оперировать этими вновь введенными компонентами в
визуальномпостроителе. Разработчики могут добавлять CASE-инструменты, кодовые