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.

* Для защищенного режима DOS библиотека TPP.TPL содержит модули System,  Crt, Dos, Printer, Strings, WinDos и WinAPI.  Кроме того,  в виде отдельного файла .TPP поставляется модуль Graph.

* Для  Windows  библиотека  TPW.TPL содержит модули System,  Strings, WinTypes, WinProcs, Win31, WinAPI, WinDos, WinCrt   и WinPrn. В виде исходного кода поставляются некоторые дополнительные модули Windows.

Кроме библиотек исполняющей системы, 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