Borland Pascal включает в себя библиотеки исполняющей системы для защищенного режима DOS, реального режима DOS и Windows. Наиболее часто используемые библиотеки исполняющей системы находятся в файлах TURBO.TPL (реальный режим DOS), TPP.TPL (защищенный режим DOS) и TPW.TPL (Windows). Дополнительные модули поставляются в отдельных файлах .TPU, .TPP и .TPW.
* Для реального режима DOS библиотека TURBO.TPL содержит модули System, Overlay, Crt, Dos иPrinter. Кроме того, в отдельных файлах .TPU поставляются модули Graph, Strings, WinDos, Turbo3 иGraph3.
Кроме библиотек исполняющей системы, Borland Pascal включает в себя прикладную среду Turbo Vision для реального и защищенного режима DOS и прикладную среду ObjectWindows для Windows. Эти библиотеки описаны в "Руководстве по программированию с Turbo Vision" и в "Руководстве по программированию с использованием ObjectWindows".
В данной главе кратко описывается каждый модуль библиотеки исполняющей системы.
Borland Pascal обеспечивает вам доступ к большому числу встроенных констант, типов данных, переменных, процедур и функций. Некоторые из них специфичны для Borland Pascal, другие специфичны для программирования прикладных задач для Windows или Dos. Их количество велико, однако, в своей программе вы редко используете их все сразу. Поэтому они разделены на связанные группы, называемые модулями. В этом случае можно использовать только те модули, которые необходимы в программе.
Программный модуль (unit) представляет собой набор констант, типов данных, переменных, процедур и функций. Каждый модуль аналогичен отдельной программе на Паскале: он может иметь основное тело, которое вызывается перед запуском вашей программы и осуществляет необходимую инициализацию. Короче говоря, модуль представляет собой библиотеку описаний, которую можно вставить в программу и которая позволит разбить программу на части, компилируемые отдельно.
Модуль обеспечивает набор средств благодаря входящим в него процедурам и функциям при поддержке констант, типов данных и переменных, однако действительная реализация этих средств скрыта в силу того, что модуль разделен на две части: интерфейс и реализацию. Если программа использует модуль, то все описания модуля становятся доступными этой программе, как если бы они были определены в ней самой.
Структура модуля аналогична структуре программы. Все описания внутри модуля связаны друг с другом. Например, модуль Strings содержит все описания, необходимые для подпрограмм обработки строк, заканчивающихся нулевым символом.
Модуль System реализует поддерживающие подпрограммы нижнего уровня для всех встроенных средств, таких как ввод-вывод, работа со строками, операции с плавающей точкой и динамическое распределение памяти.
Модуль System содержит все стандартные и встроенные процедуры и функции Borland Pascal. Любая подпрограмма Borland Pascal, не являющаяся частью стандартного Паскаля и не находящаяся ни в каком другом модуле, содержится в модуле System. Этот модуль автоматически используется во всех программах, и его не требуется указывать в операторе uses.
Модули Dos и WinDos реализуют многочисленные процедуры и функции Паскаля, которые эквивалентны наиболее часто используемым вызовам DOS, как например, GetТime, SetТime, DiskSize и так далее. Кроме того, WinDos определяет две программы низкого уровня МsDos и Intr, которые позволяют активизировать любой вызов MS-DOS или системное прерывание. Тип Registers представляет собой тип данных для параметра в МsDos и Intr. Кроме того, определяются некоторые другие константы и типы данных. Ни одна из этих подпрограмм не определена в стандартном Паскале, поэтому они помещены в свои собственные модули. Подробнее модули WinDos и Dos описываются в Главе 16 "Интерфейс с DOS".
Модуль Crt реализует ряд мощных программ, предоставляющих вам полную возможность управления средствами компьютера РС, такими, как управление режимом экрана, расширенные коды клавиатуры, цвета, окна, и звуковые сигналы. Модуль Crt может использоваться только в программах, работающих на персональных компьютерах IBM РС, РС AT, РS/2 фирмы IBM и полностью совместимых с ними.
Одним из основных преимуществ использования модуля Crt является большая скорость и гибкость при выполнении операций работы с экраном. Программы, не работающие с модулем Crt, выводят на экран информацию с помощью средств операционной системы DOS, что связано с дополнительными непроизводительными затратами. При использовании модуля Crt выводимая информация посылается непосредственно в базовую систему ввода-вывода (ВIОS), или, для еще более быстрых операций, непосредственно в видеопамять.
О модуле Crt рассказывает в Главе 14 "Ввод и вывод".
Модуль WinCrt - это дpайвеp устpойства текстовых файлов, котоpый пеpеопpеделяет вывод в пpокpучиваемое окно. Хотя большая часть ваших пpогpамм для Windows, как пpавило, будет создавать свои собственные окна, модуль WinCrt можно использовать для быстрых и простых программ, базирующихся на текстах, когда вам нужно быстро получить результаты. Модуль WinCrt описывается в главе 14 "Ввод и вывод".
Модуль Printer позволяет вам посылать стандартный вывод Паскаля на принтер, используя процедуры Write и WriteLn. Подробнее он описывается в главе 14 "Ввод и вывод".
Модуль WinPrn позволяет вам посылать своей вашей программы Windows на принтер по вашему выбору. Подробнее он описывается в главе 14 "Ввод и вывод".
Модуль Overlay позволяет вам уменьшить требования к памяти программы DOS реального режима. Фактически, вы можете писать программы, превышающие общий объем доступной памяти, поскольку в каждый момент в памяти будет находиться только часть вашей программы. Подробно данный модуль описан в Главе 20 "Использование оверлеев".
Модуль Strings обеспечивает обработку новых строк, заканчивающихся пустым символом. Строки, стандартные для Паскаля, обрабатываются модулем System. Подробнее модуль Strings описывается в Главе 18 "Использование строк с завершающим нулем".
Модуль Graph обеспечивает ряд быстрых и мощных графических подпрограмм. Он реализует независимый от устройств графический драйвер Borland, поддерживающий графику CGA, EGA, VGA, Hercules, AT&T 400, MCGA, 3270PC и 8514. Модуль Graph не встроен в TURBO.TPL, он находится на том же диске, что и файлы .BGI (графический интерфейс Borland) и .CHR (шрифты).
Подробнее о модуле Graph рассказывается в Главе 19 "Использование графического интерфейса Borland".
Модули Turbo3 и Graph3 предусмотрены только для обратной совместимости. Turbo3 содержит две переменные и несколько процедур, которые больше не поддерживаются Borland Pascal. Graph3 содержит полный набор графических подпрограмм версии 3.0 - основных, продвинутых, и использующих графику в относительных командах. Информацию об этих файлах вы можете найти в файле TURBO3.INT.
Модуль WinTypes содержит все константы, структуры данных и стили, используемые в прикладном программном интерфейсе Windows. Модуль WinTypes подробно описывается в справочной системе Borland Pascal.
Модуль WinProcs содержит все функции и процедуры, составляющие прикладной программный интерфейс Windows. Модуль WinProcs также подробно описывается в справочной системе.
Совместно эти модули образуют прикладной программный интерфейс Windows (API).
Модуль Win31 обеспечивает интерфейс с дополнительными подпрограммами API, которые можно найти в Windows 3.1. Прикладные программы, использующие Win31, не работают под Windows 3.0.
Модуль WinAPI определяет подмножество подпрограмм API Windows, поддерживаемых и в Windows, и в защищенном режиме DOS. Подробнее об этом модуле рассказывается в Главе 17 "Программирование в защищенном режиме DOS".
Borland Pascal поддерживает API Windows 3.1 в следующих модулях:
ColorDlg LZExpand ShellAPI
CommDlg MMSystem Stress
Cpl OLE ToolHelp
DDEML PenWin Ver
Dlgs Print WinMem32