ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.



 

Часть 9


       Часть II. Глава 12. Библиотеки исполняющей системы
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     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  обеспечивает  вам  доступ  к  большому числу
встроенных констант,  типов данных,  переменных, процедур и функ-
ций.  Некоторые из них специфичны для Borland Pascal, другие спе-
цифичны для программирования прикладных  задач  для  Windows  или
Dos. Их количество велико, однако, в своей программе вы редко ис-
пользуете их все сразу.  Поэтому они разделены на связанные груп-
пы,  называемые модулями. В этом случае можно использовать только
те модули, которые необходимы в программе.

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

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

     Структура модуля аналогична структуре программы.  Все описа-
ния внутри модуля связаны друг с другом. Например, модуль Strings
содержит  все  описания,  необходимые  для  подпрограмм обработки
строк, заканчивающихся нулевым символом.

                         Модуль System
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Модуль System  реализует поддерживающие подпрограммы нижнего
уровня для всех встроенных средств,  таких как ввод-вывод, работа
со строками, операции с плавающей точкой и динамическое распреде-
ление памяти.

     Модуль System содержит все стандартные и встроенные процеду-
ры  и функции Borland Pascal.  Любая подпрограмма Borland Pascal,
не являющаяся частью стандартного Паскаля и не находящаяся  ни  в
каком другом модуле,  содержится в модуле System. Этот модуль ав-
томатически используется во всех программах,  и его не  требуется
указывать в операторе uses.

                      Модуль Dos и WinDos
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Модули Dos и WinDos  реализуют  многочисленные  процедуры  и
функции Паскаля, которые эквивалентны наиболее часто используемым
вызовам DOS,  как например,  GetТime, SetТime, DiskSize и так да-
лее. Кроме  того,  WinDos определяет две программы низкого уровня
МsDos и Intr, которые позволяют активизировать любой вызов MS-DOS
или  системное  прерывание.  Тип Registers представляет собой тип
данных для параметра в МsDos и Intr. Кроме того, определяются не-
которые другие константы и типы данных.  Ни одна из этих подпрог-
рамм не определена в стандартном Паскале,  поэтому они помещены в
свои собственные модули. Подробнее модули WinDos и Dos описывают-
ся в Главе 16 "Интерфейс с DOS".

                          Модуль Crt
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Модуль Crt  реализует  ряд мощных программ,  предоставляющих
вам полную возможность управления средствами компьютера РС, таки-
ми,  как управление режимом экрана,  расширенные коды клавиатуры,
цвета,  окна, и звуковые сигналы. Модуль Crt может использоваться
только  в программах,  работающих на персональных компьютерах IBM
РС, РС AT, РS/2 фирмы IBM и полностью совместимых с ними.

     Одним из основных преимуществ использования модуля Crt явля-
ется большая скорость и гибкость при выполнении операций работы с
экраном. Программы, не работающие с модулем Crt, выводят на экран
информацию с помощью средств операционной системы DOS, что связа-
но с дополнительными непроизводительными затратами. При использо-
вании  модуля Crt выводимая информация посылается непосредственно
в базовую систему ввода-вывода (ВIОS), или, для еще более быстрых
операций, непосредственно в видеопамять.

     О модуле Crt рассказывает в Главе 14 "Ввод и вывод".

                         Модуль WinCrt
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Модуль WinCrt - это дpайвеp устpойства текстовых файлов, ко-
тоpый  пеpеопpеделяет  вывод в пpокpучиваемое окно.  Хотя большая
часть ваших пpогpамм для Windows,  как пpавило,  будет  создавать
свои  собственные  окна,  модуль  WinCrt  можно  использовать для
быстрых и простых программ,  базирующихся на текстах,  когда  вам
нужно быстро  получить  результаты.  Модуль  WinCrt описывается в
главе 14 "Ввод и вывод".

                        Модуль Printer
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Модуль Printer позволяет вам посылать стандартный вывод Пас-
каля на принтер,  используя процедуры Write и WriteLn.  Подробнее
он описывается в главе 14 "Ввод и вывод".

                         Модуль WinPrn
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Модуль WinPrn позволяет вам посылать своей  вашей  программы
Windows  на принтер по вашему выбору.  Подробнее он описывается в
главе 14 "Ввод и вывод".

                        Модуль Overlay
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Модуль Overlay  позволяет  вам уменьшить требования к памяти
программы DOS реального  режима.  Фактически,  вы  можете  писать
программы, превышающие общий объем доступной памяти,  поскольку в
каждый момент в памяти будет находиться только часть вашей  прог-
раммы.  Подробно  данный  модуль описан в Главе 20 "Использование
оверлеев".

                        Модуль Strings
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Модуль Strings обеспечивает обработку новых строк,  заканчи-
вающихся  пустым  символом.  Строки,  стандартные  для   Паскаля,
обрабатываются модулем System.  Подробнее модуль Strings описыва-
ется в Главе 18 "Использование строк с завершающим нулем".

                         Модуль Graph
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Модуль Graph  обеспечивает  ряд быстрых и мощных графических
подпрограмм. Он реализует независимый  от  устройств  графический
драйвер Borland,  поддерживающий графику CGA, EGA, VGA, Hercules,
AT&T 400,  MCGA,  3270PC  и  8514.  Модуль  Graph  не  встроен  в
TURBO.TPL, он находится на том же диске, что и файлы .BGI (графи-
ческий интерфейс Borland) и .CHR (шрифты).

     Подробнее о модуле Graph рассказывается в Главе 19  "Исполь-
зование графического интерфейса Borland".

                    Модули Turbo3 и Graph3
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Модули Turbo3 и Graph3  предусмотрены  только  для  обратной
совместимости. Turbo3  содержит две переменные и несколько проце-
дур, которые больше не поддерживаются Borland Pascal.  Graph3 со-
держит полный  набор  графических подпрограмм версии 3.0 - основ-
ных,  продвинутых,  и использующих графику в относительных коман-
дах. Информацию   об   этих   файлах  вы  можете  найти  в  файле
TURBO3.INT.

                  Модули WinTypes и WinProcs
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Модуль WinTypes  содержит все константы,  структуры данных и
стили,  используемые в прикладном программном интерфейсе Windows.
Модуль WinTypes подробно описывается в справочной системе Borland
Pascal.

     Модуль WinProcs содержит все функции и процедуры, составляю-
щие  прикладной  программный  интерфейс Windows.  Модуль WinProcs
также подробно описывается в справочной системе.

     Совместно эти модули образуют прикладной программный  интер-
фейс Windows (API).

                         Модуль Win31
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Модуль Win31 обеспечивает интерфейс с дополнительными  подп-
рограммами API,  которые  можно  найти в Windows 3.1.  Прикладные
программы, использующие Win31, не работают под Windows 3.0.

                         Модуль WinAPI
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Модуль WinAPI   определяет   подмножество   подпрограмм  API
Windows, поддерживаемых и в Windows,  и в защищенном режиме  DOS.
Подробнее об  этом модуле рассказывается в Главе 17 "Программиро-
вание в защищенном режиме DOS".

              Модули, поддерживающие Windows 3.1
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Borland Pascal  поддерживает API Windows 3.1 в следующих мо-
дулях:

     ColorDlg              LZExpand              ShellAPI
     CommDlg               MMSystem              Stress
     Cpl                   OLE                   ToolHelp
     DDEML                 PenWin                Ver
     Dlgs                  Print                 WinMem32

           Глава 13. Стандартные процедуры и функции
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     В данной главе кратко описываются  стандартные  (встроенные)
процедуры и  функции  Borland  Pascal и предописанные переменные,
определенные в модуле System.  Более подробную информацию о конк-
ретной процедуре,  функции или предописанной переменной вы можете
найти в Главе 1 ("Справочник по библиотеке") в "Руководстве прог-
раммиста".

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

           Примечание: О  других  процедурах и функциях вы можете
      прочесть в Главе 14 "Ввод и вывод".

     В данной главе освещаются следующие темы:

     - Процедуры управления программой.

     - Функции преобразования.

     - Арифметические функции.

     - Порядковые процедуры и функции.

     - Строковые процедуры и функции.

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

     - Прочие процедуры и функции.

     - Предописанные переменные модуля System.

            Процедуры управления работой программы
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Процедуры управления работой программы - это процедуры,  уп-
равляющие логикой выполнения программы.

ЪДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і  Процедура        і     Описание                              і
ГДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Break           і Завершает оператор for, while или repeat. і
ГДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Continue        і Продолжает итерацию оператора for,  while,і
і                   і или repeat.                               і
ГДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Eхit            і Позволяет немедленно выйти из текущего мо-і
і                   і дуля.                                     і
ГДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Наlt            і Останавливает выполнение программы и возв-і
і                   і ращает управление операционной системе.   і
ГДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   RunError        і Останавливает выполнение программы и гене-і
і                   і рирует ошибку этапа выполнения.           і
АДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

                    Функции преобразования
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Ниже перечислены функции преобразования.

ЪДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і    Функция       і       Описание                             і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Chr            і Возвращает символ, заданный целым числом.  і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   High           і Возвращает старшее значение в диапазоне ар-і
і                  і гумента.                                   і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Low            і Возвращает младшее значение в диапазоне ар-і
і                  і гумента.                                   і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Оrd            і Возвращает порядковое число по значению пе-і
і                  і речислимого типа.                          і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Rоund          і Округляет значение  вещественного  типа  доі
і                  і значения, имеющего длинный целый тип.      і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Тrunс          і Усекает значение вещественного типа до зна-і
і                  і чения, имеющего длинный целый тип.         і
АДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

                    Арифметические функции
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Эти функции полезно использовать для выполнения арифметичес-
ких операций.

            Примечание: Значения, возвращаемые процедурами опера-
       ций с  плавающей  запятой модуля System,  при компиляции в
       режиме числовой обработки (директива {$N+}),  имеют не ве-
       щественный тип (real), а расширенный (extended).

ЪДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і    Функция       і       Описание                             і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Abs            і Возвращает абсолютное значение аргумента.  і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Аrctan         і Возвращает арктангенс аргумента.           і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Cоs            і Возвращает косинус аргумента.              і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Eхp            і Возвращает экспоненту аргумента.           і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Frас           і Возвращает дробную часть аргумента.        і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Int            і Возвращает целую часть аргумента.          і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Ln             і Возвращает натуральный логарифм аргумента. і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Pi             і Возвращает значение числа Pi               і
і                  і (3.141592653897932385).                    і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Sin            і Возвращает синус аргумента.                і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Sqr            і Возвращает аргумент в квадрате.            і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Sqrt           і Возвращает квадратный корень аргумента.    і
АДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

                Порядковые процедуры и функции
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

ЪДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і Процедура/функцияі            Описание                        і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і     Dес          і Уменьшает значение переменной.             і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і     Inс          і Увеличивает значение переменной.           і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і     Оdd          і Проверяет, является  ли  аргумент  нечетнымі
і                  і числом.                                    і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і     Рred         і Возвращает предшествующее значение аргумен-і
і                  і та.                                        і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і     Suсс         і Возвращает его последующее значение.       і
АДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

                 Строковые процедуры и функции
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Следующие процедуры  и  функции  используются  для работы со
строками Паскаля.

ЪДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Процедура      і      Описание                              і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    Cоncat        і Выполняет конкатенацию   последовательностиі
і                  і строк.                                     і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    Cору          і Возвращает подстроку строки.               і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    Delete        і Удаляет из строки подстроку.               і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    Insert        і Добавляет в строку подстроку.              і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    Length        і Возвращает динамическую длину строки.      і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    Pоs           і Производит поиск подстроки в строке.       і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    Str           і Преобразует численное  значение в его стро-і
і                  і ковое представление.                       і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    Val           і Преобразует строковое значение в  его  чис-і
і                  і ленное представление.                      і
АДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

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

     Эти процедуры  и функции используются для управления динами-
чески распределяемой областью - областью памяти, которая занимает
всю  свободную  память  или  ее часть,  остающуюся при выполнении
программы.  Полное описание методов,  используемых для управления
динамически  распределяемой  областью памяти приводится в разделе
"Программа динамического распределения памяти" в Главе 21  ("Воп-
росы управления памятью").

          Процедуры динамического распределения памяти
ЪДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і Процедура/функцияі            Описание                        і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Dispose        і Уничтожает динамическую переменную.        і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   FrееМем        і Уничтожает динамическую  переменную данногоі
і                  і размера.                                   і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   GetМем         і Создает новую динамическую  переменную  за-і
і                  і данного  размера и устанавливает на нее пе-і
і                  і ременную-указатель.                        і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   МахАvail       і Возвращает размер  наибольшего непрерывногоі
і                  і свободного модуля в динамически распределя-і
і                  і емой области памяти, соответствующий разме-і
і                  і ру наибольшей динамической переменной,  ко-і
і                  і торая может быть выделена при  обращении  ві
і                  і МахAvail.                                  і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   МемАvail       і Возвращает количество  имеющихся  в динами-і
і                  і чески  распределяемой   области   свободныхі
і                  і байт.                                      і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   New            і Создает новую динамическую переменную и ус-і
і                  і танавливает на нее переменную-указатель.   і
АДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

          Функции для работы с указателями и адресами
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Ниже перечислены  функции для работы с указателями и адреса-
ми.

ЪДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і    Функции       і              Описание                      і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    Аddr          і Возвращает адрес заданного объекта.        і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    CSeg          і Возвращает текущее значение регистра CS.   і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    DSeg          і Возвращает текущее значение регистра DS.   і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    Оfs           і Возвращает смещение для заданного объекта. і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    Ptr           і Преобразует адрес базового сегмента и  сме-і
і                  і щение в значение типа указатель.           і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    Seg           і Возвращает сегмент для заданного объекта.  і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    SPtr          і Возвращает текущее значение регистра SР.   і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    SSeg          і Возвращает текущее значение регистра SS.   і
АДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

                  Прочие процедуры и функции
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

ЪДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і Процедура/функцияі            Описание                        і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Exclude        і Исключает элемент из множества.            і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   FillChar       і Заполняет заданное число следующих  друг заі
і                  і другом бит указанным значением.            і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Hi             і Возвращает старший байт аргумента.         і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Include        і Включает элемент в множество.              і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Lo             і Возвращает младший байт аргумента.         і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Моvе           і Копирует заданное  число непрерывных байт ві
і                  і указанных границах из одного места  в  дру-і
і                  і гое, границы которого также указываются.   і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   ParamCount     і Возвращает   число  параметров,  переданныхі
і                  і программе в командной строке.              і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   ParamStr       і Возвращает параметр, заданный  в  команднойі
і                  і строке.                                    і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Random         і Возвращает случайное число.                і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Rаndомizе      і Инициализирует встроенный генератор случай-і
і                  і ных чисел случайным значением.             і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   SizeOf         і Возвращает число байт, занимаемых  аргумен-і
і                  і том.                                       і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Swap           і Меняет местами  старший и младший байты ар-і
і                  і гумента.                                   і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   TypeOf         і Указывает на  таблицу  виртуальных  методові
і                  і объекта.                                   і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   UpCase         і Преобразует символ в верхний регистр.      і
АДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

                   Предописанные переменные
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Кроме процедур и функций в модуле  System  предусмотрен  ряд
предописанных переменных.  Их  перечень зависит от библиотеки ис-
полняющей системы, к которой относится модуль System.

     Следующие переменные описываются в модуле System  библиотеки
TURBO.TPL -  библиотеке исполняющей системы для приложений реаль-
ного режима DOS.

ЪДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і Переменная    і   Тип          і     Описание                 і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і ErrorAddr     і Pointer        і адрес ошибки этапа  выполне- і
і               і                і ния                          і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і ExitProc      і Pointer        і процедура выхода             і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і ExitCode      і Integer        і код выхода                   і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і FileMode      і Byte           і режим открытия файла         і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і FreeList      і Pointer        і список свободных блоков  ди- і
і               і                і намически распределяемой об- і
і               і                і ласти памяти                 і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і FreeZero      і Pointer        і должен быть равен 0          і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і HeapOrg       і Pointer        і начало динамически распреде- і
і               і                і ляемой области               і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і HeapPtr       і Pointer        і указатель  динамически  рас- і
і               і                і пределяемой области          і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і HeapError     і Pointer        і функция  ошибки  динамически і
і               і                і распределяемой области памя- і
і               і                і ти                           і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і Input         і Text           і стандартный файл ввода       і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і InOutRes      і Integer        і буфер   результата  операции і
і               і                і ввода-вывода                 і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і Output        і Text           і стандартный файл вывода      і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і OvrCodeList   і Word           і список сегментов оверлейного і
і               і                і кода                         і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і OvrDebugPtr   і Pointer        і используется   при   отладке і
і               і                і оверлеев                     і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і OvrDosHandle  і Word           і описатель оверлея DOS        і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і OvrEmsHandle  і Word           і описатель оверлея EMS        і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і OvrHeapEnd    і Word           і конец оверлейного буфера     і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і OvrHeapOrg    і Word           і начало оверлейного буфера    і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і OvrHeapPtr    і Word           і указатель оверлейного буфера і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і OvrHeapSize   і Word           і начальный размер оверлейного і
і               і                і буфера                       і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і OvrLoadList   і Word           і список загруженных оверлеев  і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і PrefixSeg     і Word           і префикс программного сегмен- і
і               і                і та                           і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і RandSeed      і Longint        і случайное  число  (генериру- і
і               і                і ется датчиком  случайных чи- і
і               і                і сел)                         і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SaveInt00     і Pointer        і сохраненное прерывание $00   і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SaveInt02     і Pointer        і сохраненное прерывание $02   і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SaveInt1B     і Pointer        і сохраненное прерывание $1B   і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SaveInt23     і Pointer        і сохраненное прерывание $23   і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SaveInt24     і Pointer        і сохраненное прерывание $24   і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SaveInt34     і Pointer        і сохраненное прерывание $34   і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SaveInt35     і Pointer        і сохраненное прерывание $35   і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SaveInt36     і Pointer        і сохраненное прерывание $36   і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SaveInt37     і Pointer        і сохраненное прерывание $37   і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SaveInt38     і Pointer        і сохраненное прерывание $38   і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SaveInt39     і Pointer        і сохраненное прерывание $39   і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SaveInt3A     і Pointer        і сохраненное прерывание $3A   і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SaveInt3B     і Pointer        і сохраненное прерывание $3B   і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SaveInt3C     і Pointer        і сохраненное прерывание $3C   і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SaveInt3D     і Pointer        і сохраненное прерывание $3D   і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SaveInt3E     і Pointer        і сохраненное прерывание $3E   і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SaveInt3F     і Pointer        і сохраненное прерывание $3F   і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SaveInt75     і Pointer        і сохраненное прерывание $75   і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і Seg0040       і Word           і селектор сегмента $0040      і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SegA000       і Word           і селектор сегмента $A000      і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SegB000       і Word           і селектор сегмента $B000      і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SegC000       і Word           і селектор сегмента $C000      і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SelectorInc   і Word           і шаг увеличения селектора     і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і StackLimit    і Word           і указатель на нижнюю границу  і
і               і                і стека                        і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і Test8086      і Byte           і результат  проверки  процес- і
і               і                і сора 8086                    і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і Test8087      і Byte           і результат проверки сопроцес- і
і               і                і сора 8087                    і
АДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     PrefixSeg представляет собой переменную длиной в слово,  со-
держащую адрес префикса программного сегмента (PSP), создаваемого
при выполнении программы операционной системой DOS. Полное описа-
ние PSP приведено в руководстве по операционной системе DOS.

     Переменная StackLimit содержит смещение начала стека относи-
тельно сегмента стека, что соответствует минимальному допустимому
значению регистра SP, после которого уже возникает ситуация пере-
полнения стека. По умолчанию значение этой переменной равно 0, но
если программа компилируется с директивами {$N+,$E+}, то эмулятор
сопроцессора 8087 при отсутствии в системе сопроцессора  8087 для
резервирования места в младших адресах сегмента стека будет уста-
навливать ее в значение 224.


     Переменная InOutRes  используется  встроенными   программами
ввода-вывода для сохранения значения, возвращаемого при следующем
обращении к функции IOResult.

     В RandSeed сохраняется начальное  значение  для  встроенного
генератора случайных чисел.  Если присваивать этой переменной оп-
ределенное значение,  то функция Random будет генерировать задан-
ную  последовательность случайных чисел.

     Переменная FileMode  позволяет изменять режим доступа к отк-
рытым типизированным и нетипизированным  файлам.

     В переменной  Test8087 сохраняется результат работы алгорит-
мов автоматического распознавания сопроцессора 8087,  которые на-
чинают работать при запуске программы,  скомпилированной с дирек-
тивой  {$N+}.

     Input и Оutput - это стандартные файлы ввода-вывода, необхо-
димые в каждой реализации Паскаля.  По умолчанию они  связываются
со стандартными входными и выходными файлами в Dos.


     Следующие переменные описываются в модуле System  библиотеки
TPW.TPL - библиотеке исполняющей системы для приложений Windows.

ЪДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і Переменная    і   Тип          і     Описание                 і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і CmdLine       і PChar          і указатель командной строки   і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і CmdShow       і Integer        і параметр CmdShow для Create- і
і               і                і Window                       і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і ErrorAddr     і Pointer        і адрес ошибки этапа  выполне- і
і               і                і ния                          і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і ExitProc      і Pointer        і процедура выхода             і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і ExitCode      і Integer        і код выхода                   і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і FileMode      і Byte           і режим открытия файла         і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і Input         і Text           і стандартный файл ввода       і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і HeapAllocFlag і Word           і флаги   распределения  блока і
і               і                і динамически   распределяемой і
і               і                і области памяти               і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і HeapBlock     і Word           і размер   блока   динамически і
і               і                і распределяемой области памя- і
і               і                і ти                           і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і HearError     і Pointer        і функция  ошибки  динамически і
і               і                і распределяемой области памя- і
і               і                і ти                           і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і HeapLimit     і Word           і размер наименьшего блока ди- і
і               і                і намически распределяемой об- і
і               і                і ласти памяти                 і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і HeapList      і Word           і список сегментов динамически і
і               і                і распределяемой области памя- і
і               і                і ти                           і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і HInstance     і Word           і описатель данного экземпляра і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і HPrevInst     і Word           і описатель предыдущего экзем- і
і               і                і пляра                        і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і InOutRes      і Integer        і буфер   результата  операции і
і               і                і ввода-вывода                 і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і Output        і Text           і стандартный файл вывода      і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і PrefixSeg     і Word           і префикс программного сегмен- і
і               і                і та                           і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і RandSeed      і Longint        і случайное  число  (генериру- і
і               і                і ется датчиком  случайных чи- і
і               і                і сел)                         і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і SelectorInc   і Word           і шаг увеличения селектора     і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і StackLimit    і Word           і указатель на нижнюю границу  і
і               і                і стека                        і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і Test8086      і Byte           і результат  проверки  процес- і
і               і                і сора 8086                    і
АДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     HInstance содержит описатель экземпляра прикладной программы
или библиотеки,  как это  предусматривается  операционной  средой
Windows. В  программе  HPrevInst  содержит  предыдущий  экземпляр
прикладной программы,  или 0,  если предыдущего экземпляра нет. В
библиотеке HPrevInst всегда равно 0.

     В программе  CmdLine содержит указатель на завершающуюся ну-
лем строку, которая содержит аргументы командной строки, заданные
при запуске прикладной программы.  В библиотеке эта переменная не
определена.

     В программе CmdShow содержит  значение  параметра,  передачу
которого в ShowWindow ожидает Windows, когда прикладная программа
создает основное окно.  В библиотеке эта переменная всегда  равна
0.

     Подсистемой управления  динамически  распределяемой областью
памяти для реализации программ динамического распределения памяти
Borland Pascal   используются   переменные  HeapList,  HeapLimit,
HeapBlock и HeapError.

     Для реализации  процедур  выхода   используются   переменные
ExitProc, ErrorCode и ErrorAdr.

     Переменная PrefixSeg  представляет собой переменную длиной в
слово,  содержащую адрес префикса  программного  сегмента  (PSP),
создаваемого  при выполнении программы операционной системой DOS.
Полное описание PSP приведено в руководстве по операционной  сис-
теме DOS.

     Переменная InOutRes   используется  встроенными  программами
ввода-вывода для сохранения значения, возвращаемого при следующем
обращении к функции IOResult.

     Переменная FileMode позволяет изменять режим доступа к  отк-
рытым типизованным и нетипизированным файлам.  Более подробно это
описано в Главе 14 "Ввод и вывод".

     Следующие переменные описываются в модуле System  библиотеки
TPP.TPL - библиотеке исполняющей системы для приложений  защищен-
ного режима DOS.

ЪДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і Переменная    і   Тип          і     Описание                 і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і ErrorAddr     і Pointer        і адрес ошибки этапа  выполне- і
і               і                і ния                          і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і ExitProc      і Pointer        і процедура выхода             і
АДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ



Яндекс цитирования