Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ.Исрапилова.442.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
641.02 Кб
Скачать

1.4. Описание языка Delphi

Обзор среды программирования Delphi. Охватываются такие вопросы как главные части рабочей среды, требования к системным ресурсам и основные части программы, созданной в Delphi.

Внешний вид среды программирования Delphi отличается от многих других из тех, что можно увидеть в Windows. К примеру, Borland Pascal for Windows 7.0, Borland C++ 4.0, Word for Windows, Program Manager - это все MDI приложения и выглядят по-другому, чем Delphi. MDI (Multiple Document Interface) - определяет особый способ управления нескольких дочерних окон внутри одного большого окна.

Среда Delphi же следует другой спецификации, называемой Single Document Interface (SDI), и состоит из нескольких отдельно расположенных окон. Это было сделано из-за того, что SDI близок к той модели приложений, что используется в Windows 95.

Главные составные части среды программирования

Ниже перечислены основные составные части Delphi:

  • Дизайнер Форм (Form Designer);

  • Окно Редактора Исходного Текста (Editor Window);

  • Палитра Компонент (Component Palette);

  • Инспектор Объектов (Object Inspector);

  • Справочник (On-line help).

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

Дизайнер Форм первоначально состоит из одного пустого окна, которое можно заполнить всевозможными объектами, выбранными на Палитре Компонент.

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

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

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

Слева от Дизайнера Форм можно видеть Инспектор Объектов. Информация в Инспекторе Объектов меняется в зависимости от объекта, выбранного на форме.

Инспектор Объектов состоит из двух страниц, каждую из которых можно использовать для определения поведения данного компонента. Первая страница - это список свойств, вторая - список событий. К примеру, можно изменить имя и размер компонента TLabel изменяя свойства Caption, Left, Top, Height, и Width.

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

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

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

Справочник является контекстно-зависимым; при нажатии клавиши F1, появляется подсказка, соответствующая текущей ситуации. Например, находясь в Инспекторе Объектов, выбрав какое-нибудь свойство и нажав F1 – появится справка о назначении данного свойства.

Инструментальные средства

В дополнение к инструментам, обсуждавшимся выше, существуют пять средств, поставляемых вместе с Delphi. Эти инструментальные средства:

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

  • Внешний отладчик (поставляется отдельно);

  • Компилятор командной строки;

  • WinSight;

  • WinSpector.

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

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

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

Внешний компилятор, называется DCC.EXE, полезен, в основном, если есть необходимость скомпилировать приложение перед отладкой его во внешнем отладчике.

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

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

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

Описание языка Pascal

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

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

Паскаль, в его первоначальном виде, представляет собою чисто процедурный язык и включает в себя множество алголоподобных структур и конструкций с зарезервированными словами наподобие if, then, else, while, for, и т. д. Тем не менее, Паскаль также содержит большое количество возможностей для структурирования информации и абстракций, которые отсутствуют в изначальном Алголе-60, такие как определение типов, записи, указатели, перечисления, и множества. Эти конструкции были частично унаследованы или инспирированы от языков Симула-67, Алгол-68, созданного Никлаусом Виртом AlgolW и предложены Хоаром.

В современных диалектах (Free Pascal) доступны такие операции как перегрузка операторов и функций.

В Паскале подпрограммы делятся на процедуры и функции:

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

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

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

Вслед за заголовком процедур/функций вместо тела может помещаться ключевое слово forward, это делается в том случае, если описание процедуры/функции располагается в программе после её вызова, и связано с поддерживаемой в Паскале возможностью компиляции программы за один проход.

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

Структура

Общая структура подключаемого модуля на Паскале выглядит следующим образом:

unit UnitName1;

interface

...

implementation

...

begin {может отсутствовать-используется, если необходимо поместить операторы инициализации}

...

end.

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

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

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