Назва
| Призначення
|
Concat
| виконує конкатенацію декількох рядків
|
Copy
| Повертає підрядок з рядка
|
Delete
| видаляє підрядок з рядка
|
Insert
| Вставляє підрядок у рядок
|
Length
| Повертає поточну довжину рядка
|
Pos
| Здійснює пошук підрядка в рядку
|
Srt
| перетворює числове значення аргументу в його рядкове представлення
|
Val
| перетворює рядковий аргумент в його числове представлення
|
ПРОЦЕДУРИ ТА ФУНКЦІЇ УПРАВЛІННЯ ДИНАМІЧНОЮ ПАМ’ЯТТЮ
Ці процедури та функції використовуються для управління кучею (Heap-областю) – так називають частину вільної пам'яті, яка залишається при виконанні програми.
Назва
| призначення
|
Dispose
| видаляє динамічну змінну
|
Freemem
| видаляє динамічну змінну заданого розміру
|
Getmem
| створює нову динамічну змінну заданого розміру
|
MaxAvail
| повертає розмір найбільшого неперервного вільного блоку кучі, відповідного розміру найбільшої динамічної змінної, яка може бути розміщена в кучі в час виклику функції
|
Mark
| фіксує поточний стан кучі
|
MemAvail
| повертає кількість вільних байтів кучі, доступних для використання
|
New
| створює нову динамічну змінну
|
Release
| Повертає кучу в стан, збережений процедурою mark
|
ФУНКЦІЇ РОБОТИ З ВКАЗІВНИКАМИ І АДРЕСНІ ФУНКЦІЇ
Ці функції дозволяють отримувати адреси змінних, процедур і функцій програми, а також здійснюють доступ до вмісту ряду регістрів процесора.
Назва
| призначення
|
Addr
| Повертає адресу заданого об’єкта
|
Assigned
| Визначає чи рівний вказівник чи процедурна змінна nil
|
CSeg
| Повертає поточне значення регістра cs
|
DSeg
| Повертає поточне значення регістра ds
|
Ofs
| Повертає зміщення заданого об’єкту
|
Ptr
| перетворює базову сегментну адресу і зміщення в значення типу pointer
|
Seg
| Повертає сегментну адресу заданого об’єкту
|
SPtr
| Повертає поточне значення регістра sp
|
SSeg
| Повертає поточне значення регістру ss
|
ПРОЦЕДУРИ ВВОДУ-ВИВОДУ І РОБОТИ З ФАЙЛАМИ І КАТАЛОГАМИ
В модулі System визначені слідуючи процедури і функції управління вводом-виводом і роботи з файлами і каталогами:
Назва
| Призначення
|
Append
| відкриває існуючий файл для доповнення
|
Assign
| Зв’язує ім’я зовнішнього файлу з файловою змінною
|
BlockRead
| читає один чи декілька записів з нетипізованого файлу
|
BlockWrite
| Записує один чи декілька записів в не типізований файл
|
ChDir
| встановлює поточний каталог
|
Close
| закриває поточний файл
|
EOF
| повертає ознаку кінця файлу
|
EOLn
| повертає ознаку кінця рядка текстового файлу
|
Erase
| Видаляє зовнішній файл
|
FilePos
| повертає поточну позицію в типізованому чи не типізованому файлі
|
FileSize
| повертає поточний розмір файлу; не використовується для текстових файлів
|
Flush
| звільняє буфер вводу-виводу текстового файлу
|
GetDir
| повертає поточний каталог вказаного диску
|
IOResult
| повертає ціле значення, яке визначає стан останньої виконаної операції вводу-виводу
|
MkDir
| Створює підкаталог
|
Read
| зчитує одне чи декілька значень з файлу в одну чи декілька змінних відповідно
|
ReadLn
| виконує ті ж дії, що і read, і переходить на початок слідую чого рядка текстового файла
|
Rename
| перейменування зовнішнього файлу
|
Reset
| відкриває існуючий файл для читання
|
Rewrite
| створює і одкриває новий файл
|
RmDir
| видаляє пустий каталог
|
Seek
| встановлює поточну позицію в типізованому чи не типізованому файлі на вказаний елемент; не використовується в текстових файлах
|
SeekEOF
| повертає ознаку кінця текстового файлу
|
SeekEOLn
| повертає ознаку кінця рядка текстового файлу
|
SetTextBuf
| призначає буфер вводу-виводу текстового файлу
|
Truncate
| обмежує розмір типізованого чи нетипізованого файлу поточною позицією у файлі
|
Write
| записує в текстовий файл одну чи декілька змінних
|
WriteLn
| виконує ті ж дії, що і write, а потім добавляє у файл маркер кінця рядка
|
ІНШІ ПРОЦЕДУРИ І ФУНКЦІЇ
В модулі System визначене також велике число процедур і функцій, які не можна віднести не до однієї з груп, описаних мною раніше.
Назва
| призначення
|
Exclude
| Видаляє елемент з множини
|
FillChar
| заповнює задану кількість послідовних байтів змінною вказаного значення (виразом будь-якого порядкового типу)
|
Hi
| повертає старший байт аргументу
|
Include
| включає елемент в множину
|
Lo
| повертає молодший байт аргументу
|
Move
| копіює задану кількість послідовних байтів з вихідної області пам'яті в назначену область
|
ParamCount
| повертає число параметрів, переданих в програму з командного рядка
|
ParamStr
| повертає вказаний параметр командного рядка
|
Random
| повертає псевдо-випадкове число
|
Randomize
| прив’язує стартове значення функції random до поточного системного часу
|
SizeOf
| повертає число байтів, які займає аргумент
|
Swap
| Міняє місцями старший і молодший байти двохбайтного аргументу
|
TypeOf
| повертає вказівник на таблицю віртуальних методів аргументу типу object
|
UpCase
| перетворює рядкову букву в прописну
|
ЗМІННІ ТА КОНСТАНТИ МОДУЛЯ
Крім процедур і функцій в модулі System описаний ряд раніше оголошених змінних:
Змінна
| Тип
| Опис
|
Input
| TEXT
| стандартна файлова змінна, яка визначає прилад вводу. По замовчуванню таким приладом являється клавіатура
|
Output
| TEXT
| стандартна файлова змінна, яка визначає прилад виводу. По замовчуванню таким приладом являється екран
|
SaveInt00
| POINTER
| змінна для збереження вектора переривання $00
|
SaveInt02
| POINTER
| Те ж, що $02
|
SaveInt1B
| POINTER
| Те ж, що $1B
|
SaveInt21
| POINTER
| Те ж, що $21
|
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
|
В момент завантаження середовища Turbo Pascal змінює значення 18 векторів переривання. В змінних SaveIntXX зберігається старі значення цих векторів.
Крім змінних, в модулі System також міститься ряд типізованих констант.
Константа
| Тип
| початкове значення
| Опис
|
ErrorAddr
| POINTER
| NIL
| адреса помилки виконання
|
ExitCode
| INTEGER
|
| код завершення
|
ExitProc
| POINTER
| NIL
| адреса процедури завершення
|
FileMode
| BYTE
|
| Режим доступу до файлу
|
FileList
| POINTER
| NIL
| вказівник списку вільних блоків кучі
|
FreeZero
| POINTER
| NIL
| зарезервована
|
HeapEnd
| POINTER
| NIL
| вказівник на кінець кучі
|
HeapError
| POINTER
| NIL
| вказівник на функцію обробки помилок кучі
|
HeapOrg
| POINTER
| NIL
| вказівник на початок кучі
|
HeapPtr
| POINTER
| NIL
| вказівник кучі
|
InOutRes
| INTEGER
|
| буфер результату операції вводу-виводу
|
OvrCodeList
| WORD
|
| список оверлейних сегментів
|
OvrDebugPtr
| POINTER
| NIL
| вказівник відладчика оверлеєв
|
OvrDosHandle
| WORD
|
| параметр зв’язку оверлеєв з DOS
|
OvrEmsHandle
| WORD
| $FFFF
| параметр зв’язку оверлеєв з EMS
|
OvrHeapEnd
| WORD
|
| кінець оверлейного буфера
|
OvrHeapOrg
| WORD
|
| початок оверлейного буферу
|
OvrHeapPtr
| WORD
|
| вказівник оверлейного буферу
|
OvrHeapSize
| WORD
|
| початковий розмір оверлейного буферу
|
OvrLoadList
| WORD
|
| список завантажених оверлеєв
|
PrefixSeg
| WORD
|
| префікс програмного сегменту
|
RandSeed
| LONGINT
|
| параметр ініціалізації генератора випадкових чисел
|
Seg0040
| WORD
| $0040
| селектор сегменту $0040
|
SegA000
| WORD
| $A000
| селектор сегменту $A000
|
SegB000
| WORD
| $B000
| селектор сегменту $B000
|
SegB800
| WORD
| $B800
| селектор сегменту $B800
|
SelectorInc
| WORD
| $1000
| перетворення селектора
|
StackLimit
| WORD
|
| границя стеку
|
Test8086
| BYTE
|
| результат тестування процесора 80х86
|
Test8087
| BYTE
|
| результат тестування процесора 80х87
|
Змінні OvrCodeList, OvrDebugPtr, OvrDosHandle, OvrEmsHandle, OvrHeapEnd, OvrHeapOrg, OvrHeapPtr, OvrHeapSize і OvrLoadList використовуються модулем Overlay для роботи адміністратора оверлеєв.
Змінні FreeList, HeapEnd, HeapError, HeapOrg, HeapPtr використовується адміністратором кучі для реалізації розподілу динамічної пам'яті.
Змінні ErrorAddr, ExitCode і ExitProc використовується процедурами виходу.
Змінна PrefixSeg являє собою змінну довжиною в слово, яка містить адресу префікса програмного сегменту (PSP), яка створюється при виконанні програми системою DOS.