Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Руководство пользователя 3.doc
Скачиваний:
4
Добавлен:
22.04.2019
Размер:
1.44 Mб
Скачать

Глава 2. Что нового в Borland Pascal

─────────────────────────────────────────────────────────────────

Borland Pascal with Objects - это профессиональная объект-

но-ориентированная система программирования для реального и защи-

щенного режима DOS и Windows. Если вы работаете с программными

продуктами Turbo Pascal или Turbo Pascal for Windows, то из дан-

ной главы вы узнаете о новых средствах Borland Pascal и о том,

где найти информацию о них.

Три интегрированных интерактивных среды разработки программ

─────────────────────────────────────────────────────────────────

Borland Pascal предоставляет вам три интегрированных инте-

рактивных среды разработки программ (IDE):

* BP.EXE, интегрированную среду разработки программ, которая

работает в защищенном режиме DOS и генерирует по вашему

выбору прикладные программы DOS реального режима, Windows

и DOS защищенного режима. IDE защищенного режима означает,

что каждое ваше очень большое приложение будет иметь для

компиляции достаточно памяти.

* BPW.EXE, интегрированную среду, которая работает под

Windows и генерирует по вашему выбору прикладные программы

DOS реального режима, Windows и DOS защищенного режима.

* TURBO.EXE, интегрированную среду, которая работает в ре-

альном режиме DOS и генерирует только прикладные программы

DOS реального режима, работающие только на процессорах

80х86.

Примечание: Для работы IDE DOS защищенного режима ваш

компьютер должен иметь процессор 80286 или старше и не ме-

нее 2 мегабайт памяти.

Об интегрированных средах для DOS рассказывается в Главе 4

"Программирование в интегрированной интерактивной среде для DOS".

О специальных средствах интегрированной среды для Windows вы мо-

жете узнать из Главы 5 "Программирование в интегрированной инте-

рактивной среде для Windows".

Новые средства IDE

─────────────────────────────────────────────────────────────────

В перечисленных IDE вы можете найти следующие новые средс-

тва:

* Два средства просмотра объектов ObjectBrowser - одно в IDE

для DOS защищенного режима, другое в IDE для Windows. С

помощью ObjectBrowser вы можете просматривать в своей

B.Pascal 7 & Objects /UG - 19 -

программе объекты и модули, проверять свой исходный код,

получать полные перекрестные ссылки на каждый используемый

в программе идентификатор и видеть свою программу с новой

позиции. Об ObjectBrowser для DOS и Windows в данной книге

рассказывается ниже.

* Выделение синтаксиса. Во всех интегрированных средах в

программах используется цветовое выделение элементов кода,

благодаря чему вы можете быстро идентифицировать фрагменты

исходного кода. В IDE для Windows вы можете также исполь-

зовать синтаксические элементы, выделяемые жирным, наклон-

ным шрифтом или подчеркиванием. Во всех IDE вы можете пе-

чатать синтаксически выделенный код. О выделении синтакси-

са рассказывается в Главе 4 "Программирование в интегриро-

ванной интерактивной среде для DOS" и в Главе 5 "Програм-

мирование в интегрированной интерактивной среде для

Windows".

* Оперативная полоса SpeedBar в IDE для Windows. Эта опера-

тивная полоса предоставляет быстрый способ выбора команд

меню и других действий с помощью "мыши". Вы можете по сво-

ему выбору выводить ее горизонтально, вертикально или в

виде свободной палитры, либо даже выключить ее полностью.

* В редакторах для DOS и Windows имеются средства Undo (От-

мена) и Redo (Повтор). Если вы сделаете в процессе редак-

тирования ошибку, нажмите Undo, и ваша ошибка исчезнет.

Нажмите Redo - и она появится вновь.

* Меню инструментальных средств Tools. Инструментальные

средства и утилиты, поставляемые с Borland Pascal, вы мо-

жете запускать непосредственно из IDE. В IDE для DOS в ме-

ню Tools вы можете добавить свои собственные утилиты и из-

менить по своему усмотрению оперативные клавиши. О меню

Tools IDE для DOS и о меню Tools IDE для Windows рассказы-

вается в Главе 4.

* Окно сообщений Messages в IDE для DOS. Окно Messages вы

можете использовать для вывода сообщений из таких утилит

как GREP. Вы можете выбрать редактирование программной

строки со ссылкой на сообщение или отслеживать сообщения в

исходном коде при просмотре сообщений.

* Локальные меню во всех интегрированных средах. Простым на-

жатием правой кнопки "мыши" или клавиш Alt+F10 вы можете

вывести локальное меню со списком команд, относящихся к

активному окну.

* Информация об идентификаторах сохраняется от одного сеанса

к другому. Это позволяет после выхода и перезапуска IDE

вам просматривать, отлаживать или выполнять программы без

перекомпиляции.

B.Pascal 7 & Objects /UG - 20 -

* Информация об идентификаторах сохраняется от одной до дру-

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

измените исходный код, перекомпилируете ее, и компиляция

завершится неудачно, информация об идентификаторах сохра-

нится с момента последней компиляции. Ее просмотр может

помочь вам выявить ошибку в исходном коде.

* В интегрированных средах для DOS поддерживаются множест-

венные устанавливаемые пользователем справочные файлы. В

справочную систему Borland Pascal вы можете загрузить до-

полнительные справочные файлы. IDE объединяет тематические

указатели вновь загруженных справочных файлов и стандарт-

ного системного тематического указателя Help.

Компилятор командной строки, работающий в защищенном режиме

─────────────────────────────────────────────────────────────────

Компилятор командной строки BPC.EXE, работает в защищенном

режиме, благодаря чему очень большие программы имеют достаточно

памяти для успешной компиляции. Аналогично IDE для DOS, работаю-

щей в защищенном режиме, BPC.EXE может создавать прикладные прог-

раммы реального режима DOS, Windows и защищенного режима DOS. О

компиляторе, работающем в режиме командной строки, рассказывается

в Главе 3 "Компиляторы, работающие в режиме командной строки"

"Справочного руководства программиста".

Среда разработки программ защищенного режима DOS

─────────────────────────────────────────────────────────────────

С помощью компиляторов командной строки BP.EXE и BPC.EXE вы

можете создавать программы, работающие в защищенном режиме DOS

без использования оверлеев. Ваши программы смогут, наконец, пре-

высить барьер реального режима DOS в 640К.

Для многих ваших программ все, что нужно сделать для созда-

ния приложения DOS защищенного режима, это выбор защищенного ре-

жима DOS в качестве целевой платформы и установка соответствующих

параметров компилятора (см. Главу 4). Возможно, вы захотите про-

честь также Главу 17 "Руководства по языку" ("Программирование в

защищенном режиме DOS"), которой вопросы, касающиеся защищенного

режима, рассматриваются более углубленно.

Динамически компонуемые библиотеки DOS

─────────────────────────────────────────────────────────────────

Динамически компонуемые библиотеки (DLL) традиционно были

частью разработки программ Windows. С помощью Borland Pascal вы

сможете создавать DLL для DOS.

Библиотеки DLL загружаются на этапе выполнения отдельно от

ваших файлов .EXE и могут совместно использоваться несколькими

прикладными программами. DLL для DOS работают в защищенном режиме

B.Pascal 7 & Objects /UG - 21 -

DOS и полностью совместимы с DLL для Windows, что позволяет вам

совместно использовать DLL для прикладных программ DOS и Windows.

О динамически компонуемых библиотеках рассказывается в Главе 11

"Динамически компонуемые библиотеки" в "Руководстве по языку".

B.Pascal 7 & Objects /UG - 22 -

Добавления к языку Паскаль

─────────────────────────────────────────────────────────────────

Borland Pascal имеет несколько новых расширения языка, об-

легчающих написание программ:

* Открытые параметры. Открытые параметры позволяют переда-

вать в процедуру или функцию строки и массивы переменных

размеров. Об этих параметрах рассказывается в Главе 9

"Процедуры и функции", в разделе "Открытые параметры" кни-

ги "Руководство по языку".

* Стандартная директива public. В Turbo Pascal 6.0 и Turbo

Pascal for Windows допускаются секции компонентов объектов

private. Borland Pascal вводит секции компонентов объектов

public, не имеющие ограничений по области действия описан-

ных в них полей и методов. Если вы находите это удобным, в

объектах можно чередовать секции компонентов public и

private. Подробнее о новой стандартной директиве public

рассказывается в разделе "Компоненты и область действия"

Главы 4 "Типы" в "Руководстве программиста".

* Зарезервированное слово inherited. Зарезервированное слово

inherited может использоваться внутри метода для ссылки на

предка объектного типа метода. См. раздел "Активизация

уточненного метода" Главы 4 "Типы" книги "Руководство по

языку".

* Параметры-константы. Процедуры и формулы могут использо-

вать параметры-константы: группе параметров предшествует

зарезервированное слово const, за которым следует тип. Па-

раметры-константы защищают от случайных присваиваний фор-

мальному параметру, и в некоторых случаях это позволяет

компилятору генерировать более эффективный код. См. раздел

"Параметры" в Главе 9 "Процедуры и функции" в "Руководстве

по языку".

* Динамические методы и таблицы динамических методов (DMT).

Если вы работали с Turbo Pascal for Windows, то уже знаете

о динамических методах и таблицах динамических методов

DMT. В Borland Pascal их могут также использовать програм-

мы для DOS.

Динамические методы отличаются от виртуальных методов спо-

собом диспетчеризации динамических методов на этапе выпол-

нения. Вместо построения для динамических методов таблицы

виртуальных методов (VMT) компилятор строит DMT. Использо-

вание DMT уменьшает потребности вашей прикладной программы

в памяти при программировании с объектами. Более подробно

о динамических методах рассказывается в разделе "Динами-

ческие методы" в Главе 4 ("Типы") "Руководства по языку".

Чтобы узнать подробности о таблицах динамических методов,

см. раздел "Таблицы динамических методов" в Главе 21

B.Pascal 7 & Objects /UG - 23 -

("Вопросы использования памяти") "Руководства по языку".

Улучшения в библиотеке исполняющей системы

─────────────────────────────────────────────────────────────────

Borland Pascal имеет три библиотеки исполняющей системы:

TURBO.TPL для программ DOS реального режима, TPW.TPL для программ

Windows и TPP.TPL для программ DOS защищенного режима.

Улучшения библиотек исполняющей системы касаются следующих

элементов:

* более быстрого ввода-вывода текстового файла;

* более быстрой функции Pos;

* оптимизации 80386 для операций умножения, деления, сдвига

влево и вправо со значениями типа Longint.

B.Pascal 7 & Objects /UG - 24 -

Новые подпрограммы модуля System

─────────────────────────────────────────────────────────────────

Модуль System содержит семь новых процедур и функций. Вы мо-

жете найти их в Главе 1 ("Справочник по библиотеке") "Справочного

руководства программиста".

* Процедура Assigned выполняет проверку и анализ того, со-

держит ли указатель или процедурная переменная nil.

* Процедура Break завершает оператор for, while или repeat.

* Процедура Continue продолжает следующие итерации оператора

for, while или repeat.

* Процедура Include включает элемент в множество.

* Процедура Exclude исключает элемент из множества.

* Функция High возвращает наивысшее значение в диапазоне ар-

гумента.

* Функция Low возвращает низшее значение в диапазоне аргу-

мента.

Новые модули

─────────────────────────────────────────────────────────────────

Благодаря модулю Strings программисты, использующие Turbo

Pascal for Windows, могли работать со строками с завершающим ну-

лем (в стиле Си). Теперь модуль Strings могут использовать как

программисты, работающие в Windows, так и работающие в DOS. Под-

робнее о строках с завершающим нулем рассказывается в Главе 18

"Использование строк с завершающим нулем" в "Руководстве по язы-

ку". Полную информацию о строках с завершающим нулем вы можете

получить, прочитав Главу 1 ("Справочник по библиотеке") "Справоч-

ного руководства программиста".

Программисты, работающие с Turbo Pascal for Windows, уже

знакомы с модулем WinDos. Программисты, работающие в DOS, также

могут использовать модуль WinDos для реализации операционных сис-

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

использовать модуль WinDos или Dos, прочитайте Главу 16 "Интер-

фейс с DOS" "Руководства по языку". Все процедуры и функции под-

робно поясняются в Главе 1 ("Справочник по библиотеке") "Справоч-

ного руководства программиста".

Модуль WinAPI дает вам возможность прямого доступа к расши-

рениям DOS защищенного режима. Интерфейс WinAPI разработан как

подмножество API (интерфейс прикладных программ) Windows, чтобы

облегчить написание переносимых приложений и двоично-совместимых

DLL. О модуле WinAPI рассказывается в Главе 17 "Программирование

B.Pascal 7 & Objects /UG - 25 -

в DOS в защищенном режиме" "Руководства по языку". Более полную

информацию о процедурах и функциях модуля WinAPI можно найти в

Главе 1 ("Справочник по библиотеке") "Справочного руководства

программиста".

Модуль WinPrn позволяет послать информацию, выводимую вашей

программой Windows, на выбранный принтер. О печати в программах

Windows рассказывается в Главе 14 ("Ввод и вывод") "Руководства

по языку". См. также расширенные пояснения по процедурам WinPrn в

Главе 1 ("Справочник по библиотеке") "Справочного руководства

программиста".

Модуль Win31 обеспечивает интерфейс с дополнительными прог-

раммами API, которые можно найти в DLL KERNEL и USER Windows 3.1.

Приложения, использующие модуль Win31, не будут работать под

Windows 3.0. Подробности о модуле Win31 вы можете узнать в спра-

вочной системе Borland Pascal.

Остальные расширения API Windows 3.1 Borland Pascal поддер-

живает в нескольких модулях (информацию о них вы можете получить

в справочной системе Borland Pascal):

ColorDlg LZExpand ShellAPI

CommDlg MMSystem Stress

Cpl OLE TooHelp

DDEML PenWin Ver

Dlgs Print WinMem32

Новые директивы компилятора

─────────────────────────────────────────────────────────────────

Borland Pascal имеет пять новых директив компилятора. Под-

робнее о них рассказывается в Главе 2 ("Директивы компилятора")

"Справочного руководства программиста":

* Директива $P (открытые строковые параметры) управляет

смыслом параметров-переменных, описанных с помощью ключе-

вого слова string.

* Директива $T (указатели с проверкой типа) управляет типами

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

* Директива $Q (проверка переполнения) управляет генерацией

кода проверки переполнения для отдельных арифметических

операций.

* Директива $K (эффективные вызовы) управляет генерацией эф-

фективных вызовов процедур и функций, экспортируемых при-

ложением Windows. Подробнее об обработке в Borland Pascal

эффективных вызовов рассказывается в разделе "Код входа и

выхода" Главы 22 ("Вопросы управления") "Руководства по

языку".

B.Pascal 7 & Objects /UG - 26 -

* Директива $Y (информация об идентификаторе) генерирует

в компилируемой программе или модуле ссылочную информацию

идентификатора, благодаря чему ObjectBrowser может выво-

дить на экран определение идентификатора и ссылочную ин-

формацию для данного программного модуля.

Усовершенствования компилятора

─────────────────────────────────────────────────────────────────

Кроме расширений языка Borland Pascal и добавления новых ди-

ректив компилятора, в сам компилятор также внесены улучшения:

* Компилятор позволяет выполнять более простую компоновку с

Си и ассемблером путем передачи в ваш выполняемый файл ин-

формации о номерах строк .OBJ. Таким образом, вы можете

использовать встроенные отладчик для выполнения по шагам

кода языка Си и ассемблера. См. в данной книге Главу 6

"Отладка в интегрированной среде".

* Когда правым операндом операции in является константа мно-

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

код. См. раздел "Встраивание констант множественного типа"

в Главе 23 ("Оптимизация кода") в "Руководстве по языку".

* Компилятор генерирует более эффективный код для малых мно-

жеств. О малых множествах подробнее рассказывается в Главе

23 ("Оптимизация кода") в "Руководстве по языку".

* Компилятор допускает неограниченную вложенность модулей.

* Оператор uses в разделе implementation модуля не вызывает

теперь циклической ссылки на модуль.

* В определенных ситуациях компилятор подавляет операции из-

быточной загрузки указателей. См. Главу 23 ("Оптимизация

кода") "Руководства по языку".

Улучшения в Turbo Vision

─────────────────────────────────────────────────────────────────

В Turbo Vision 2.0 в иерархию добавлены новые объекты, а к

существующим объектам добавлены некоторые новые возможности. Из-

менения существующий объектов имеют обратную совместимость, поэ-

тому существующий код Turbo Vision следует компилировать без из-

менений, а существующие потоки и ресурсы загружаются без ошибок.

В Turbo Vision 2.0 имеются некоторые новые средства. О них

рассказывается в "Руководстве по программированию с Turbo

Vision":

B.Pascal 7 & Objects /UG - 27 -

* Поддержка проверки допустимости данных. Ваши приложения

Turbo Vision могут обеспечить получения для обработки до-

пустимых данных.

* Кнопки с независимой фиксацией с множеством состояний.

Кнопки с независимой фиксацией могут иметь состояния, от-

личные от "выбрана" и "не выбрана". IDE защищенного режима

DOS (BP.EXE) использует кнопки с независимой фиксацией с

множеством состояний в своем диалоговом окне параметров

компилятора Compiler Options.

* Средство просмотра схемы объектов. Для вывода схем ваши

приложения могут использовать два объекта - TOutlineViewer

и TOutline. Эти объекты использует средство DOS

ObjectBrowser.

* Поддержка версий объектов в потоках. Даже если ваши объек-

ты были созданы с помощью Turbo Vision 1.0, ваши программы

все равно смогут считывать их как объекты, совместимые с

Turbo Vision 2.0.

* Новое учебное руководство и пересмотренная документация.

Вы увидите, что можно быстро изучить и освоить Turbo

Vision.

Улучшения ObjectWindows

─────────────────────────────────────────────────────────────────

В иерархию ObjectWindows добавлены новые объекты. К сущест-

вующим объектам также добавлены некоторые новые возможности.

Модуль WObjects больше не существует. Существующий у вас ис-

ходный код можно будет успешно перекомпилировать, если вы замени-

те каждую ссылку на WObjects модулями OWindows, ODialogs, OMemory

и Objects.

ObjectWindows содержит новые средства. Узнать о них можно,

прочитав "Руководство по программированию с использованием

ObjectWindows":

* Поддержка проверки допустимости данных. Ваши приложения

ObjectWindows могут обеспечить получение для обработки до-

пустимых данных.

* Печать объектов. Благодаря новым объектам печати выводить

данные на печать в программах ObjectWindows стало проще.

* Поддержка специализированных управляющих элементов Windows

фирмы Borland. Ваши программы Windows могут иметь вид, со-

ответствующий стандарту Borland.

B.Pascal 7 & Objects /UG - 28 -

Новые средства и утилиты

─────────────────────────────────────────────────────────────────

Если вашей целевой платформой является Windows, помочь про-

цессу разработки могут два новых средства. Прочесть о них можно в

"Руководстве по инструментальным средствам и утилитам".

* Утилита WinSight. WinSight - это инструментальное средство

отладки, которое дает вам информацию об окнах, классах и

сообщениях. Используйте ее для изучения новых приложений

Windows (ваших или чужих), чтобы увидеть как создаются и

используются окна и классы окон, и какие сообщения получа-

ют окна во время выполнения программы.

* Утилита WinSpector. С помощью WinSpector вы можете прове-

рить приложение Windows после завершения его с невосста-

навливаемой ошибкой (Unrecoverable Application Error -

UAE). Это поможет вам понять причину ошибки.

Borland Pascal также включает в себя обновленные версии сле-

дующих инструментальных средств:

* Turbo Debugger (Турбо отладчик) включает отладчик TDW, ко-

торый может отлаживать прикладные программы Windows, и

TDX, который может отлаживать прикладные программы защи-

щенного режима DOS.

* Turbo Profiler (Турбо профилировщик), который включает в

себя два профилировщика - один для программ DOS, а другой

для программ Windows.

* Turbo Assembler (Турбо ассемблер), добавляющий к коду ас-

семблера объектно-ориентированное программирование.

* Resource Workshop (Пакет разработчика ресурсов), работаю-

щий в среде Windows и способный создавать для приложений

Windows все ресурсы (диалоговые окна, курсоры, битовые

массивы, пиктограммы и т.д.).

B.Pascal 7 & Objects /UG - 29 -

────────────────────────────────────────────────────────────────────────────

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]