Учебники. Программирование для начинающих.
Все для начинающего программиста
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 вы можете
найти следующие новые средства:
* Два средства просмотра объектов
ObjectBrowser - одно в IDE
для DOS защищенного
режима, другое в IDE для Windows. С
помощью ObjectBrowser вы можете просматривать в своей
программе объекты и модули, проверять свой исходный код,
получать полные перекрестные
ссылки на каждый используемый
в программе идентификатор и
видеть свою программу с новой
позиции. Об 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
вам просматривать, отлаживать или выполнять программы без
перекомпиляции.
* Информация об идентификаторах
сохраняется от одной до другой компиляции. Если вы успешно скомпилируете программу,
измените исходный код, перекомпилируете ее, и компиляция
завершится неудачно, информация об идентификаторах сохранится с момента последней
компиляции. Ее просмотр может
помочь вам выявить ошибку в
исходном коде.
* В интегрированных средах для
DOS поддерживаются множест-
венные устанавливаемые пользователем справочные файлы. В
справочную систему Borland
Pascal вы можете загрузить дополнительные справочные файлы.
IDE объединяет тематические
указатели вновь загруженных
справочных файлов и стандартного системного тематического
указателя Help.
Компилятор командной строки
BPC.EXE, работает в защищенном
режиме, благодаря чему очень большие программы имеют достаточно
памяти для успешной компиляции. Аналогично IDE для DOS, работаю-
щей в защищенном режиме, BPC.EXE может
создавать прикладные прог-
раммы реального режима DOS, Windows и защищенного режима DOS. О
компиляторе, работающем в режиме
командной строки, рассказывается
вГлаве 3 "Компиляторы, работающие в режиме командной строки"
"Справочного руководства
программиста".
С помощью компиляторов командной
строки BP.EXE и BPC.EXE вы
можете создавать программы, работающие в защищенном режиме
DOS
без использования оверлеев. Ваши программы смогут, наконец, превысить барьер реального режима DOS в
640К.
Для многих ваших программ
все, что нужно сделать для создания приложения DOS защищенного режима, это выбор защищенного режима DOS в качестве целевой платформы
и установка соответствующих
параметров компилятора (см. Главу 4). Возможно, вы захотите прочесть также Главу 17 "Руководства по языку" ("Программирование
в
защищенном режиме DOS"), которой вопросы, касающиеся защищенного
режима, рассматриваются более
углубленно.
Динамически компонуемые
библиотеки (DLL) традиционно были
частью разработки программ Windows. С помощью Borland Pascal вы
сможете создавать DLL для DOS.
Библиотеки DLL загружаются на
этапе выполнения отдельно от
ваших файлов .EXE и могут совместно использоваться несколькими
прикладными программами. DLL для DOS
работают в защищенном режиме
DOS и полностью совместимы с DLL для Windows, что позволяет вам
совместно использовать DLL для
прикладных программ DOS и Windows.
О динамически компонуемых библиотеках
рассказывается в Главе 11
"Динамически компонуемые
библиотеки" в "Руководстве по языку".
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
("Вопросы использования памяти")
"Руководства по языку".
Borland Pascal имеет три библиотеки исполняющей системы:
TURBO.TPL для программ DOS реального
режима, TPW.TPL для программ
Windows и TPP.TPL для программ DOS
защищенного режима.
Улучшения библиотек исполняющей
системы касаются следующих
элементов:
* более быстрого ввода-вывода
текстового файла;
* более быстрой функции Pos;
* оптимизации 80386 для операций
умножения, деления, сдвига
влево и вправо со значениями
типа Longint.
Модуль 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 "Программирование
в 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
("Вопросы управления") "Руководства по
языку".
* Директива $Y (информация об идентификаторе) генерирует
в компилируемой программе или
модуле ссылочную информацию
идентификатора, благодаря чему ObjectBrowser может выводить на экран определение
идентификатора и ссылочную информацию для данного
программного модуля.
Кроме расширений языка Borland
Pascal и добавления новых директив компилятора, в сам компилятор
также внесены улучшения:
* Компилятор позволяет выполнять более простую компоновку
с
Си и ассемблером путем передачи
в ваш выполняемый файл информации о номерах строк .OBJ. Таким образом, вы можете
использовать встроенные
отладчик для выполнения по шагам
кода языка Си и
ассемблера. См. в данной книге Главу 6
"Отладка в интегрированной
среде".
* Когда правым операндом операции
in является константа множественного типа, компилятор генерирует более эффективный
код. См. раздел
"Встраивание констант множественного типа"
в Главе 23 ("Оптимизация
кода") в "Руководстве по языку".
* Компилятор генерирует более
эффективный код для малых мно жеств. О малых множествах
подробнее рассказывается в Главе
23 ("Оптимизация
кода") в "Руководстве по языку".
* Компилятор допускает
неограниченную вложенность модулей.
* Оператор uses в разделе implementation модуля не
вызывает
теперь циклической ссылки на
модуль.
* В определенных ситуациях
компилятор подавляет операции избыточной загрузки указателей.См. Главу 23 ("Оптимизация
кода") "Руководства
по языку".
В Turbo Vision 2.0 в иерархию добавлены новые объекты, а к
существующим объектам добавлены
некоторые новые возможности. Изменения существующий объектов имеют
обратную совместимость, поэтому существующий код Turbo Vision
следует компилировать без изменений, а существующие потоки и
ресурсы загружаются без ошибок.
В Turbo Vision 2.0 имеются некоторые новые средства. О них
рассказывается в "Руководстве по программированию сTurbo
Vision":
* Поддержка проверкидопустимости данных. Ваши
приложения
Turbo Vision могут обеспечить
получения для обработки допустимых данных.
* Кнопки снезависимой фиксацией с множеством состояний.
Кнопки с независимой фиксацией
могут иметь состояния, отличные от "выбрана" и
"не выбрана". IDE защищенного режима
DOS (BP.EXE) использует кнопки
с независимой фиксацией с
множеством состояний всвоем диалоговом окне параметров
компилятора Compiler Options.
* Средство просмотра схемы
объектов. Для вывода схем ваши
приложения могут использовать
два объекта - TOutlineViewer
и TOutline. Эти объектыиспользует средство DOS
ObjectBrowser.
* Поддержка версий объектов в
потоках. Даже если ваши объекты были созданы с помощью Turbo
Vision 1.0, ваши программы
все равно смогут считывать их как объекты, совместимые с
Turbo Vision 2.0.
* Новое учебное руководство
и пересмотренная документация.
Вы увидите, что можно быстро изучить и освоить Turbo
Vision.
В иерархию ObjectWindows
добавлены новые объекты. К существующим объектам также добавлены
некоторые новые возможности.
Модуль WObjects больше не существует.
Существующий у вас исходный код можно будет успешно
перекомпилировать, если вы замените каждую ссылку на WObjects модулями
OWindows, ODialogs, OMemory
и Objects.
ObjectWindows содержит новые средства. Узнать о них можно,
прочитав "Руководство попрограммированию с использованием
ObjectWindows":
* Поддержка проверки допустимости данных. Ваши
приложения
ObjectWindows могут обеспечить
получение для обработки допустимых данных.
* Печать объектов. Благодаря новым объектам печати выводить
данные на печать в программах
ObjectWindows стало проще.
* Поддержка специализированных
управляющих элементов Windows
фирмы Borland. Ваши программы
Windows могут иметь вид, соответствующий стандарту
Borland.
Если вашей целевой платформой
является 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 всересурсы (диалоговые окна,курсоры, битовые
массивы, пиктограммы и т.д.).