|
|
| Режим | Разрешение |
| VGALo = 0 | 640х200 |
| VGAMed = 1 | 640х350 |
| VGAHi = 2 | 640х480 |
| Тип | Диапазон | Размер в байтах |
| Byte ShortInt Word Integer LongInt |
0 ... 255 -128 ... 127 0 ... 65535 -32768 ... 32767 -2147483648 ... 2147483647 |
1 1 2 2 4 |
| + | сложение (унарный плюс) |
| - | вычитание (унарный минус) |
| * | умножение |
| / | деление |
| div | целочисленное деление |
| mod | остаток от целочисленного деления |
| I-й (высший) приоритет | унарные минус и плюс |
| II-й приоритет | * и / |
| III-й приоритет | + и - |
| Вызов функции | Тип аргумента | Тип результата | Назначение | |
| Abs(x) | целый вещественный |
целый вещественный | Абсолютное значение x | |
| Pi | - | вещественный | Ззначение числа ПИ | |
| Sin(x) | целый вещественный |
вещественный | Синус x радиан | |
| Cos(x) | целый вещественный |
вещественный | Косинус x радиан | |
| ArcTan(x) | целый вещественный |
вещественный | Арктангенс x радиан | |
| Sqrt(x) | целый вещественный |
вещественный | Квадратный корень из x>=0 | |
| Sqr(x) | целый вещественный |
целый вещественный | Ззначение квадрата x | |
| Exp(x) | целый вещественный |
вещественный | Значение e в степени x | |
| Ln(x) | целый вещественный |
вещественный | Натуральный логарифм x, x>0 | |
| Trunc(x) | целый вещественный |
LongInt | Целую часть значения x | |
| Frac(x) | целый вещественный |
вещественный | Дробную часть значения x | |
| Int(x) | целый вещественный |
вещественный | Целую часть значения x | |
| Round(x) | целый вещественный |
LongInt | Округляет x до ближайшего целого | |
| Random | - | вещественный | Случайное число от 0 до 1 | |
| Random(X) | Word | Word | Случайное число от 0 до Х | |
| Odd(x) | целый | логический | Проверяет нечетность значения x |
| Перейти к: | | Вывод данных | |
![]() |
Блез Паскаль родился во Франции в г. Клермон-Ферран в 1623 г. Его огромные способности, прежде всего в области математики, ослепили всех еще в детстве. После смерти (1662 г.) он вошел в история как один из величайших математиков, которых когда-либо знал мир. Так, он заложил основы математической области, которую теперь мы называем теорией вероятности. |
| Кроме математики Паскаль проявил свой талант в физике, философии и литературоведении. Чтобы помочь своему отцу, он сконструировал в 1642 г. счетную машину. Его отец был сборщиком налогов, и эта машина ему была очень полезна при счетных работах. Заслуживает интереса то, как сам Паскаль представлял читателям свою машину: "Уважаемый читатель, этим сообщением ставлю Вас в известность, что мною изобретена маленькая машина, на которой Вы сможете выполнять любую арифметическую операцию. Машина будет показана публике". |
| В настоящее время имя ПАСКАЛЬ используется в качестве названия очень эффективного языка программирования. Первая версия языка ПАСКАЛЬ, разработанного швейцарским ученым, профессором кафедры вычислительной техники Швейцарского федерального института технологии Никласом Виртом, появилась еще в 1968 г. как альтернатива существующим и все усложняющимся языкам программирования, таким как ПЛ/1, АЛГОЛ и ФОРТРАН. Интенсивное развитие языка ПАСКАЛЬ привело к появлению уже в 1973 г. его ANSI-стандарта, а число трансляторов с этого языка уже в 1979 г. перевалило, по оценке Н.Вирта, за 80. | ![]() |
|
| Новый язык оказался не только очень доступным для понимания и удобным в использовании, но и достаточно мощным для решени множества задач. Он быстро и широко распространился на различных платформах, но особенно широко - на IBM-совместимых компьютерах. Особую роль в распространении языка ПАСКАЛЬ на персональные компьютеры сыграла фирма , разработавшая компиляторы и другие инструментальные средства. |
![]() |
Инструментальные средства этой фирмы представляют собой интегрированную среду разработки программ, то есть дают возможность решить практически все задачи, стоящие перед программистом при разработке программ, а именно: |
| Первые версии интегрированной среды программирования носили название Turbo Pascal. После версии 5.5 появился новый, более совершенный продукт - Borland Pascal. Нумерация была продолжена, то есть на ряду с Turbo Pascal 6 и 7.0 появились Borland Pascal 6 и, наконец, Borland Pascal 7.0. | ![]() |
| В комплект Borland Pascal 7.0 входят три варианта среды программирования. Из них два работают под управлением операционной системы MS-DOS. Одна из программ (bp.exe) позволяет разрабатывать программы как для реального, так и для защищенного режимов работы процессора, в том числе и программы, предназначенные для работы под Windows. Другая программа (turbo.exe) обеспечивает разработку программ только для реального режима работы процессора. Третий вариант среды программирования (bpw.exe) работает под управлением системы Windows 3.1 и позволяет разрабатывать полноценные приложения, обладающие стандартным графическим интерфейсом (Windows API). |
Графический драйвер |
Константа режима |
Растр |
Палитра |
Число страниц |
|||||||||
Имя |
Значение |
Имя |
Значение |
||||||||||
| CurrentDriver* | -128 | ||||||||||||
| Detect | 0 | ||||||||||||
| CGA | 1 | CGACO | 0 | 320х200 | СО | 1 | |||||||
| CGAC1 | 1 | 320х200 | С1 | 1 | |||||||||
| CGAC2 | 2 | 320х200 | С2 | 1 | |||||||||
| CGAC3 | 3 | 320х200 | СЗ | 1 | |||||||||
| CGAHl | 4 | 640х200 | 2 цвета | 1 | |||||||||
| MCGA | 2 | MCGACO | 0 | 320х200 | СО | 1 | |||||||
| MCGAC1 | 1 | 320х200 | С1 | 1 | |||||||||
| MCGAC2 | 2 | 320х200 | С2 | 1 | |||||||||
| MCGAC3 | 3 | 320х200 | СЗ | 1 | |||||||||
| MCGAMed | 4 | 640х200 | 2 цвета | 1 | |||||||||
| MCGAHi | 5 | 640х480 | 2 цвета | 1 | |||||||||
| EGA | 3 | EGALo | 0 | 640х200 | 16 цветов | 4 | |||||||
| EGAHi | 1 | 640х350 | 16 цветов | 2 | |||||||||
| EGA64 | 4 | EGA64Lo | 0 | 640х200 | 16 цветов | 1 | |||||||
| EGA64Hi | 1 | 640х350 | 4 цвета | 1 | |||||||||
| EGAMono | 5 | EGAMonoHi | 3 | 640х350 | 2 цвета | 1** | |||||||
| EGAMonoHi | 3 | 640х350 | 2 цвета | 2*** | |||||||||
| IBM8514 | 6 | IBM8514Lo | 0 | 640х480 | 256 цветов | 1 | |||||||
| IBM8514Hi | 1 | 1024х768 | 256 цветов | 1 | |||||||||
| HercMono | 7 | HercMonoHi | 0 | 720х348 | 2 цвета | 2 | |||||||
| ATT400 | 8 | ATT400CO | 0 | 320х200 | СО | 1 | |||||||
| ATT400C1 | 1 | 320х200 | С1 | 1 | |||||||||
| ATT400C2 | 2 | 320х200 | С2 | 1 | |||||||||
| ATT400C3 | 3 | 320х200 | СЗ | 1 | |||||||||
| ATT400Med | 4 | 640х200 | 2 цвета | 1 | |||||||||
| ATT400Hi | 5 | 640х400 | 2 цвета | 1 | |||||||||
| VGA | 9 | VGALo | 0 | 640х200 | 16 цветов | 2 | |||||||
| VGAMed | 1 | 640х350 | 16 цветов | 2 | |||||||||
| VGAHi | 2 | 640х480 | 16 цветов | 1 | |||||||||
| PC3270 | 10 | PC3270Hi | 0 | 720х350 | 2 цвета | 1 |
Имя |
Тип |
Значение |
Использование |
Примечание |
||||
| TopOn | boolean | True | Определяют, изображать ли верхнюю грань в процедуре Bar3D | Изображать | ||||
| TopOff | boolean | False | Не изображать | |||||
| NormalPut | word | 0 | Определяют способ наложения изображения при выводе процедурой Putlmage | Изображение заменяется новым | ||||
| CopyPut | word | 0 | | |||||
| XORPut | word | 1 | по логике ХОР | |||||
| OrPut | word | 2 | по логике OR | |||||
| AndPut | word | 3 | по логике AND | |||||
| NotPut | word | 4 | по логике NOT | |||||
| ClipOn | boolean | True | Определяют, отсекать ли изображение за пределами визуального порта, устанавливаемого процедурой SetViewPort | Отсекать изображение | ||||
| ClipOff | boolean | False | Выводить изображение | |||||
| Black | word | 0 | Установка цвета в процедурах SetColor, SetBkColor, PutPixel | Черный | ||||
| Blue | word | 1 | Синий | |||||
| Green | word | 2 | Зеленый | |||||
| Cyan | word | 3 | Циан (цвет морской волны) | |||||
| Red | word | 4 | Темно-красный | |||||
| Magenta | word | 5 | Пурпурный | |||||
| Brown | word | 6 | Коричневый | |||||
| LightGray | word | 7 | Светло-серый | |||||
| DarkGray | word | 8 | Темно-серый | |||||
| LightBlue | word | 9 | Голубой | |||||
| LightGreen | word | 10 | Ярко-зеленый | |||||
| LightCyan | word | 11 | Светлый циан | |||||
| LightRed | word | 12 | Ярко-красный | |||||
| LightMagenta | word | 13 | Ярко-пурпурный | |||||
| Yellow | word | 14 | Желтый | |||||
| White | word | 15 | Белый | |||||
| EGABIack | word | 0 | Установка цветов при работе с монитором IBM 8514 | Черный | ||||
| EGABlue | word | 1 | Синий | |||||
| EGAGreen | word | 2 | Зеленый | |||||
| EGACyan | word | 3 | Циан | |||||
| EGARed | word | 4 | Темно-красный | |||||
| EGAMagenta | word | 5 | Пурпурный | |||||
| EGABrown | word | 20 | Коричневый | |||||
| EGALightgray | word | 7 | Светло-серый | |||||
| EGADarkgray | word | 56 | Темно-серый | |||||
| EGALightblue | word | 57 | Голубой | |||||
| EGALightgreen | word | 58 | Ярко-зеленый | |||||
| EGALightcyan | word | 59 | Светлый циан | |||||
| EGALightred | word | 60 | Ярко-красный | |||||
| EGALightmagenta | word | 61 | Ярко-пурпурный | |||||
| EGAYellow | word | 62 | Желтый | |||||
| EGAWhite | word | 63 | Белый | |||||
| SolidLn | word | 0 | Определение шаблона начертания линии в процедурах GetLineSettings и SetLineStyle | Сплошная | ||||
| Dotted Ln | word | 1 | Точечная | |||||
| CenterLn | word | 2 | Пунктирная | |||||
| DashedLn | word | 3 | Штриховая | |||||
| UserBitLn | word | 4 | Определенная пользователем | |||||
| EmptyFill | word | 0 | Для установки шаблонов закраски в процедурах GetFillSettings, SetFillStyle | Цвет фона | ||||
| SolidFill | word | 1 | Цвет рисунка | |||||
| LineFill | word | 2 | Горизонт. штриховка | |||||
| LtSlashFill | word | 3 | Штриховка ///// | |||||
| SlashFill | word | 4 | Утолщ. штриховка | |||||
| BkSlashFill | word | 5 | Утолщ. штриховка | |||||
| LtBkSlashFill | word | 6 | Расплывчатая штр. | |||||
| HatchFill | word | 7 | Решетка | |||||
| XHatchFill | word | 8 | Косая решетка а | |||||
| InterleaveFill | word | 9 | Частое переплетение | |||||
| WideDotFill | word | 10 | Редкие точки | |||||
| CloseDotFill | word | 11 | Частые точки | |||||
| UserFill | word | 12 | Шаблон, определенный пользователем | |||||
| LeftText | word | 0 | Установка способа привязки текста к точке вывода по горизонтали и вертикали | Левым краем | ||||
| CenterText | word | 1 | По центру | |||||
| RightText | word | 2 | Правым краем | |||||
| BottomText | word | 0 | Нижним краем | |||||
| CenterText | word | 1 | По центру | |||||
| TopText | word | 2 | Верхним краем | |||||
| NormWidth | word | 1 | Определение толщины линий в процедурах GetLineSettings и SetLineStyle | Одинарная | ||||
| ThickWidth | word | 3 | Тройная | |||||
| DefaultFont | word | 0 | Определение шрифта для текста в процедурах SetTextStyle и GetTextSettings | Матричный шрифт | ||||
| TriplexFont | word | 1 | Триплекс | |||||
| Small Font | word | 2 | Мелкий шрифт | |||||
| SansSerifFont | word | 3 | Сан-сериф | |||||
| GothicFont | word | 4 | Готический | |||||
| HorizDir | word | 0 | Определение направления текста в процедурах SetTextStyle и GetTextSettings | Горизонтальное | ||||
| VertDir | word | 1 | Вертикальное | |||||
| UserCharSize | word | 0 | Определение размера шрифта для процедур SetTextStyle и GetTextSettings | Размер, определенный пользователем |
| < | меньше |
| > | больше |
| <= | меньше или равно |
| >= | больше или равно |
| = | равно |
| <> | не равно |
| Приоритет | Операция | Название | ||
| I-й | NOT | логическое отрицание | ||
| II-й | AND | логическое умножение | ||
| III-й | OR | логическое сложение | ||
| III-й | XOR | логическое исключающее сложение |
| L1 | L2 | not L1 | L1 and L2 | L1 or L2 | L1 xor L2 | |
| False | False | True | False | False | False | |
| False | True | True | False | True | True | |
| True | False | False | False | True | True | |
| True | True | False | True | True | False |
Интерфейс |
Назначение |
|
Арифметические функции |
||
| Function Abs(x : real): real; | Абсолютное значение | |
| Function ArcTan(x : real): real; | Арктангенс угла в радианах | |
| Function Cos(x : real): real; | Косинус угла в радианах | |
| Function Exp(x : real): real; | Показательная функция (экспонента) | |
| Function Frac(x : real): real; | Дробная часть числа | |
| Function lnt(x : real): real; | Целая часть числа | |
| Function Ln(x : real): real; | Логарифм | |
| Function Pi: real; | Число ? | |
| Function Random: real; Function Random(Range : word): word; Если задан диапазон Range - значение типа word от 0 до (Range - 1), если не задан - вещественное от 0 до 1. |
Случайное число | |
| Procedure Randomize; | Инициализация генератора случайных чисел случайным значением | |
| Function Sin(x : real): real; | Синус угла в радианах | |
| Function Sqr(x : real): real; | Квадрат аргумента | |
| Function Sqrt(x : real) :real; | Квадратный корень из аргумента | |
Преобразование типов |
||
| Function Chr(i: byte): char; i-код ASCII символа |
Возвращает символ по его коду в таблице ASCII | |
| Function Ord(i: Порядковый тип>): longint; | Преобразует типы char и boolean к целому типу; для целых аргументов повторяет значение аргумента | |
| Function Round(x : <вещественный тип>): longint; | Округляет значение вещественного типа до целого | |
| Function Trunc(x : <вещественный тип>): longint; | Усекает значение вещественного типа до целого | |
Порядковые процедуры и функции |
||
| Procedure Dec(var i: <порядковый тип>); Procedure Dec(var i: <порядковый тип>, n: longint); | Преобразует переменную порядкового типа i к предшествующему значению или на n шагов назад | |
| Function High(X) :Tx; X - переменная порядкового типа, строка, массив или порядковый тип, строковый тип, тип массив; Тх - совпадает по типу с порядковым типом Х или имеет целое значение для строк и массивов |
Наибольшее значение для заданного объекта порядково го типа или наибольший индекс для строки и массива | |
| Procedure lnc( var i: <порядковый тип>); Procedure Inс( var i: <порядковый тип>, n : longint); | Преобразует переменную порядкового типа i к последующему значению или на n шагов вперед | |
| Function Low(X): Тх; X - переменная порядкового типа, строка, массив или порядковый тип, строковый тип, тип массив; Тх - совпадает по типу с порядковым типом Х или имеет целое значение для строк и массивов |
Наименьшее значение для заданного объекта порядкового типа или наименьший индекс для строки и массива | |
| Function Odd( i: <порядковый тип>): boolean; | Проверка числа на нечетность | |
| Function Predf i: <порядковый тип>): <порядковый тип>; | Возвращает предыдущее значение для порядкового типа, не изменяя переменной | |
| Function Succf i: <порядковый тип>): <порядковый тип>; | Возвращает следующее значение порядкового типа, не изменяя переменной | |
Байтовые операции |
||
| Function Hi(X : word): byte; | Старший байт аргумента | |
| Function Lo(X : word): byte; | Младший байт аргумента | |
| Function Swap(X: <двухбайтный аргумент>): <тип аргумента>; | Перестановка старших и младших байтов аргумента | |
Работа с параметрами командной строки |
||
| Function ParamCount: word; | Определяет число параметров, переданных программе при запуске в командной строке | |
| Function ParamStr(Num : byte): String; Num - номер параметра | Возвращает заданный параметр командной строки | |
Управление вычислительным процессом |
||
| Procedure Break; | Выход из цикла | |
| Procedure Continue; | Завершение очередной итерации цикла | |
| Procedure Exit; | Выход из текущего блока | |
| Procedure Halt; Procedure Halt(ExitCode : word); ExitCode - код завершения программы |
Прекращение выполнения программы и возврат в операционную систему | |
| Procedure RunError; Procedure RunError(ErrorCode : byte); ErrorCode- код ошибки |
Остановка выполнения программы и генерация ошибки времени выполнения |
|
Указатели и адресация |
||
| Function Addr(X : <переменная или подпрограмма>): Pointer; X - объект (переменная, процедура или функция); Результат - адрес объекта |
Определяет адрес заданного объекта | |
| Function Cseg: word; | Текущее значение регистра CS | |
| Function DSeg: word; | Текущее значение регистра DS | |
| Function Ofs(X : <переменная или подпрограмма>): word; X - объект (переменная, процедура или функция); Результат - смещение адреса объекта |
Определяет смещение адреса заданного объекта | |
| Function Ptr(Segment, Offset: word): Pointer; Segment, Offset - сегмент и смещение, результат указатель (полный адрес) | Образует указатель по заданному сегменту и смещению | |
| Function Seg(X : <переменная или подпрограмма>): word; Х - объект (переменная, процедура или функция); Результат - сегмент адреса объекта |
Определяет сегмент адреса заданного объекта | |
| Function SPtr : word; | Текущее значение регистра SP | |
| Function SSeg : word; |
Текущее значение регистра SS | |
Работа с памятью |
||
| Procedure FillChar(varX : <переменная любого типа>; Count: word; Value : X - переменная, с которой начинается заполнение; Count - число байт; Value - заполнение |
Заполняет заданное число последовательных байтов указанным значением | |
| Procedure Movefvar Source, Dest; Cound : word); Source - источник, Dest - приемник ; Count - число байтов; |
Копирование заданного числа байтов из источника в приемник | |
| Function SizeOf(X:<переменная любого типа или тип>): word; | Число байтов, занимаемых аргументом | |
Работа с динамическими переменными |
||
| Function Assigned(var P : Pointer): boolean; Результат - false, если P=nil и true в противном случае | Проверяет, присвоено ли значение указателю | |
| Procedure Dispose(var Ptr: Pointer); Procedure Dlspose(var Ptr: Pointer; Done : Destructor); Ptr - указатель на динамическую переменную; метод Done задается при уничтожении объектов |
Уничтожает динамическую переменную | |
| Procedure FreeMem (var Ptr: Pointer; Size : word); Ptr - указатель на переменную; Size - размер переменной в байтах; |
Уничтожает динамическую переменную заданного размера | |
| Procedure GetMein (var Ptr: Pointer; Size : word); Ptr - указатель на переменную; Size - размер переменной в байтах; |
Создает новую динамическую переменную заданного размера и устанавливает указатель на нее | |
| Procedure Mark(var Ptr: Pointer); Ptr -указатель; | Записывает текущее состояние кучи в переменную типа указатель | |
| Procedure New(var Ptr: Pointer); | Создает новую динамическую | |
| Procedure Dispose (var Ptr: Pointer; Init: constructor); Ptr - указатель на динамическую переменную; метод Init задается при создании объектов |
переменную и устанавливает указатель на нее | |
| Function MaxAvail: Longint; | Возвращает размер наибольшего непрерывного свободного блока кучи | |
| Function MemAvail: Longint; | Возвращает количество свобод ных байтов, имеющихся в куче | |
| Procedure Release(var Ptr: Pointer); Ptr - указатель; |
Освобождает часть памяти, следующую после указателя | |
Работа с множествами |
||
| Procedure Exclude(var S : set of T; Element: T); S - множество элементов типа T, Element - элемент типа Т |
Исключает элемент из множества | |
| Procedure lnclude(var S : set of T; Element: T); S - множество элементов типа T, Element - элемент типа Т |
Включает элемент в множество | |
Ввод и вывод |
||
| Procedure Assign(FileVar: <файловый тип>, File-Name); FileVar - переменная файлового типа; FileName - строка, содержащая имя файла |
Присвоение имени внешнего файла файловой переменной | |
| Procedure ChDir(NewDir: string); NewDir - новая директория |
Изменение текущего каталога | |
| Procedure Close(FileVar: <файловыйтип>): FileVar - переменная файлового типа; | Закрытие открытого файла | |
| Function Eof(FileVar: <файловый тип>): boolean; FileVar - переменная файлового типа | Определяет, достигнут ли конец файла | |
| Procedure Erase(FileVar: <файловыйтип>); FileVar - переменная файлового типа |
Удаление внешнего файла | |
| Function FilePos( FileVar: <файловый тип>): longint; FileVar - переменная файлового типа; результат - текущая позиция указателя в файле | Возвращает текущую позицию указателя в файле | |
| Function FileSize(FileVar: <файловый тип>): longint; FileVar - переменная файлового типа; результат - число записей в файле | Возвращает текущий размер файла | |
| Procedure GetDir(Driv : byte; var CurrentDir: string); Driv - числовой код диска (0-текущий, 1 -А, 2-В и т.д.) CurrentDir - текущий каталог; | Возвращает текущий каталог на заданном диске | |
| Function lOResult: integer; | Возвращает код состояния последней выполненной операции ввода / вывода | |
| Procedure MRDir(NewDir: string); NewDir - новый каталог |
Открывает новый каталог | |
| Procedure Read(FileVar: <файловый тип>; var v1,v2,....); Procedure Read(var FileVar: Text; varv1,v2,....); Procedure Read(v1,v2,....); FileVar - переменная файлового типа, для чтения при вводе с клавиатуры может не указываться; v1, v2,... - переменные |
Считывает одно или более значений из файла в одну или более переменных | |
| Procedure ReName(FileVar: <файловыйтип>, NewName); FileVar - переменная файлового типа; NewName -строка, содержащая новое имя файла |
Переименовывает внешний файл | |
| Procedure ReSet( FileVar: <файловый тип>):FileVar - переменная файлового типа | Открывает существующий файл | |
| Procedure ReWrite( FileVar: <файловый тип>):FileVar - переменная файлового типа | Создает и открывает новый файл | |
| Procedure RmDir(DelDir: string); DelDir - удаляемый каталог |
Удаление пустого каталога | |
| Procedure Seek(FileVar: <файловый тип>; Pos : longint); FileVar - переменная файлового типа; Pos – позиция указателя |
Передвигает указатель на заданную компоненту файла | |
| Procedure Truncate(FileVar: <файловый тип>): FileVar - переменная файлового типа | Усекает размер файла до текущей позиции в файле | |
| Procedure Write(FileVar: <файловый тип>; var v1,v2,„..); Procedure Write(var FileVar: Text; varv1,v2,....); Procedure Write(v1,v2,....); FileVar - переменная файлового типа, для вывода на экран может не указываться; v1,v2, ... -переменные |
Записывает одно или более значений из одной или более переменных в файл | |
Работа со строками и символами |
||
| Function Concat(s1, s2,... : string): string; s1, s2 - последовательность объединяемых строк |
Объединение (конкатенация) последовательности строк | |
| Function Copy(Source : String; Pos, Count: integer):string; Source - исходная строка; Pos - номер позиции, с которой начинается копирование; Count – число копируемых символов |
Копирует подстроку из строки | |
| Procedure Delete(var Source : String; Pos, Count: integer); Source- строка, с которой проводится операция; Pos- номер позиции, с которой начинается удаление; Count - число удаляемых символов |
Удаляет подстроку из строки | |
| Procedure lnsert(Source : String; var Dest: string; Pos: integer); Source - вставляемая строка; Dest - строка, с которой проводится операция; Pos - номер позиции, с которой начинается вставка |
Вставляет подстроку в строку | |
| Function Length(S : String): integer; S - строка | Определяет динамическую длину строки | |
| Function Pos(SubStr, S : String): byte; S - строка, в которой происходит поиск; SubStr -искомая подстрока, результат - позиция в S, начиная с которой следует искомая подстрока. Если подстрока не содержится в строке, возвращается 0 |
Поиск подстроки в строке | |
| Procedure Str(X : <целый или вещественный тип>;var S : String); Х - преобразуемое число (может быть указан форматпреобразования), S - результирующая строка |
Преобразует численное значение в строку | |
| Function UpCase(Symbol: Char): Char; | Преобразует буквы латинского алфавита в прописные | |
| Procedure Val(ValueString : string; var X: <целый или вещественный тип>; var ErrorCode: integer); ValueString - преобразуемая строка; Х – результат целого или вещественного типа; ErrorCode – код ошибки |
Преобразует строку в численное значение | |
Текстовые файлы |
||
| Procedure Append(var F: Text); F - переменная, соответствующая текстовому файлу | Открывает существующий файл для добавления текста в конец файла | |
| Function EoLn(var F : Text): boolean ; Значение функции true, если в файле достигнут конец строки, и false - в противоположном случае |
Определяет, достигнут ли в файле конец строки | |
| Procedure Flush(var F : Text); F - переменная, соответствующая текстовому файлу |
Выталкивает содержимое буфера в файл | |
| Procedure ReadLn(var F: Text; var v1,v2,....); Procedure ReadLn(varv1,v2,....); F - текстовый файл, для чтения при вводе с клавиатуры может не указываться; v1, v2,... -переменные |
Выполняет те же действия, что и Read, а потом делает пропуск до начала следующей строки файла | |
| Function SeekEof(var F : Text): boolean; F - текстовый файл |
Определяет, достигнут ли конец файла, пропуская пробелы, символы табуляции и конца строк | |
| Function SeekEoln(var F : Text): boolean; F - текстовый файл |
Определяет, достигнут лив файле конец строки, пропуская пробелы и символы табуляции | |
| Function SetTextBuf(var F : Text; var But; Size : word); Function SetTextBuf(var F : Text; var Buf); F - текстовый файл; Buf - буфер; Size – размер буфера |
Назначает буфер ввода, вывода для текстового файла | |
| Procedure WriteLn(var F : Text; varv1,v2,....); Procedure WriteLn(varv1,v2,....); F - текстовый файл, для вывода на экран может не указываться; v1, v2,... - переменные |
Выполняет те же действия, что и Write, а потом добавляет к файлу маркер конца строки | |
Работа с нетипизированными файлами |
||
| Procedure BlockRead(var F: File; var Buf: <любой тип>; Count: word); Procedure BlockRead(var F : File; var Buf: <любой тип>; Count: word; var Result: word); F - файл; Buf - буфер, в который осуществляется считывание; Count - число записей; Result – текущее положение указателя |
Считывает из файла в переменные одну или более записей | |
| Procedure BlockWrite(var F : File; var Buf: <любой тип>; Count :word); Procedure BlockWrite(var F: File; var Buf: <любой тип>; Count: word; var Result: word); F - файл; Buf - буфер, в который осуществляется считывание; Count - число записей; Result - текущее положение указателя |
Записывает в файл одну или более записей из переменных |
| Интерфейс | Назначение |
Установка режимов и окон |
|
| Procedure AssignCrt(File : Text); | Связывает окно дисплея с текстовым файлом, что позволяет ускорить вывод на экран |
| Procedure CIrScr; | Очищает экран и помещает курсор в верхний левый угол |
| Procedure TextMode(Mode: integer); Mode - номер текстового режима или соответствующая константа |
Выбор текстового режима |
| Procedure Window(X1, Y1, Х2, Y2 : byte); (Х1 ,Y1) и (X2.Y2) - координаты верхнего левого и нижнего правого углов окна |
Определяет окно вывода в текстовом режиме |
Управление цветом текста и фона |
|
| Procedure HighVideo; | Устанавливает высокую яркость выводимых символов |
| Procedure LowVideo; | Устанавливает низкую яркость выводимых символов |
| Procedure Norm Video; | Возвращает цвет символов и фона, свойственный данному графическому режиму по умолчанию |
| Procedure TextBackground(Color: byte); Color - код цвета или соответствующая константа |
Выбор цвета фона |
| Procedure TextColor (Color : byte); Color - код цвета или соответствующая константа |
Выбор цвета символов |
Управление выводом текста |
|
| Procedure CIrEol; | Стирает все символы от текущей позиции курсора до конца строки |
| Procedure DelLine; | Удаление линии, в которой находится курсор |
| Procedure InsLine; | Вставляет новую строку текста перед строкой, где находится курсор |
Работа с клавиатурой |
|
| Function KeyPressed : boolean; Значение функции true, если нажата клавиша, и false, если нет |
Определяет, была ли нажата клавиша на клавиатуре |
| Function ReadKey : char; Значение функции - код символа клавиши, нажатой на клавиатуре |
Чтение символа из буфера клавиатуры |
Управление курсором |
|
| Procedure GotoXY( X, Y : integer); X, Y - координаты курсора |
Перемещает курсор в указанные координаты окна вывода |
| Function WhereX: integer; Значение функции - координата X курсора |
Возвращает текущую координату Х курсора |
| Function WhereY: integer; Значение функции - координата Y курсора |
Возвращает текущую координату Y курсора |
Управление звуком |
|
| Procedure NoSound; | Выключает звук динамика |
| Procedure Sound(Hz: word); Hz - частота звука в герцах |
Включает звук динамика с заданной тональной частотой |
Управление временем |
|
| Procedure Delay(MS : word); MS - значение задержки в миллисекундах |
Задержка исполнения программы на заданное число миллисекунд |
Интерфейс |
Назначение |
Управление вычислительным процессом |
|
| Function DosExitCode: word; | Возвращает код завершения подпроцесса |
| Procedure Exec( Name : PathStr; CmdLine : string); Name - имя файла - строка типа PathStr; CmdLine - командная строка запускаемой программы |
Выполняет заданную программу с указанной командной строкой |
| Procedure Keep(ExitCode : word); ExitCode - код завершения программы |
Завершает программу и оставляет ее в памяти (реализует прерывание "завершить и оставить резидентным" - TSR) |
| Procedure SwapVectors; | Меняет сохраненные векторы прерываний с текущими векторам |
Функции работы с окружением |
|
| Function EnvCount: integer; | Возвращает число строк, содержащихся в окружении |
| Function EnvStr(lndex : integer): string; Index - номер строки |
Возвращает указанную строку окружения |
| Function GetEnv(EnvVal: string): string; EnvVal - заданная переменная окружения, результат - ее значение |
Возвращает значение указанной переменной среды окружения |
Функции управления прерываниями |
|
| Procedure GetlntVec(lntNo : byte; var Vector: Pointer); IntNo - номер вектора прерывания; Vector – дальний адрес процедуры обработки |
Возвращает FAR-адрес, хранящийся в указанном векторе прерывания |
| Procedure lntr(lntN: byte; var Regs : Registers); IntN - номер программного прерывания (О...255); Regs - регистры процессора (запись, тип которой определен в модуле DOS) |
Выполняет указанное программное прерывание |
| Procedure MSDos(var Regs : Registers); Regs - регистры процессора (запись, тип которой определен в модуле DOS) |
Выполняет функцию прерывания операционной системы |
| Procedure SetlntVec(lntNo : byte; Vector: Pointer); IntNo - номер вектора прерывания; Vector - длинный адрес процедуры обработки прерывания |
Устанавливает адрес процедуры обработки в заданном векторе прерывания |
Процедуры определения даты и времени |
|
| Procedure GetDate(var Year, Month, Day, DayOfWeek :word); Year - год, Month - месяц, Day - дата, DayOfWeek - день недели |
Возвращает текущую дату, установленную в операционной системе |
| Procedure GetFTime(var F : <файловый тип>; var Time : longint); F - файл (переменная файлового типа, типизированного, нетипизированного или текстового); Time - дата |
Возвращает дату и время последней записи в файл |
| Procedure GetTime(var Hour, Minute, Second, SedOO: word); Hour - часы, Minute - минуты, Second - секунды, SedOO - сотые доли секунды |
Возвращает текущее время, установленное в операционной системе |
| Procedure PackTime(varT: DateTime; var Time: longint); Т- запись типа DateTime, содержащая дату, часы, минуты, секунды и сотые секунды; Time - время в "упакованном" виде |
Преобразует запись времени типа DateTime к одной переменной типа longint, используемой процедурой SetFTime |
| Procedure SetDate(Year, Month, Day : word); Year - год, Month - месяц, Day – число |
Устанавливает текущую дату операционной системы |
| Procedure SetFTime(var F: <файловый тип>; Time: longint); F - переменная файлового типа; Time – время в упакованном виде |
Устанавливает в файле указанное время создания |
Процедуры установки даты и времени |
|
| Procedure SetTime(Hour, Minute, Second, SedOO : word); Hour - часы, Minute - минуты, Second - секунды, Sed 00 - сотые доли секунды |
Устанавливает в операционной системе текущее время |
| Procedure UnpackTime(Time : longint; var DT: DateTime); Time - "упакованное" время; DT – запись "распакованного времени" |
Преобразует время из упакованной формы в запись типа DateTime, содержащую дату, часы, минуты и т.д. |
Функции статуса диска |
|
| Function DiskFree(Drive : byte): longint Drive - номер диска ( 0'- текущий, 1 - А и т.д.) Результат - число свободных байтов (-1, если диск задан неверно) |
Возвращает число свободных байтов на заданном диске |
| Function DiskSize(Drive : byte): longint Drive - номер диска ( 0 - текущий, 1 - А и т.д.) Результат- число байтов на диске (-1, если диск задан неверно) |
Возвращает общее число байтов на диске |
Процедуры и функции работы с файлами |
|
| Function FExpand(Name : PathStr): PathStr Name - имя файла |
Получив имя файла, расширяет его до полностью определенного имени (диск, директория и расширение) |
| Function FSearch(Name : PathStr; OirList: string): PathStr Name - имя файла; DirList - список путей для поиска; результат - найденный путь к файлу |
Ищет файл в заданном списке директорий |
| Function FSplit(Path: PathStr; var Dir: DirStr; var Name: NameStr; var Ext: ExtStr); Path – имя файла с полным путем; Dir – директория; Name – имя файла; Ext - расширение |
Разделяет полное имя файла на 3 части (директория, имя файла, расширение) |
| Procedure FindFirst(Path : String; Attr: word; var F: TSearchRec); Path – путь для поиска с маской; Attr- атрибуты искомых файлов; F- запись типа TsearchRec с результатами поиска |
Ищет в заданном каталоге первый файл, соответствующий заданной спецификации |
| Procedure FindNext(var F : TSearchRec); F – запись типа TsearchRec с результатами поиска |
Ищет следующие файлы, удовлетворяющиеспецификации, заданной в процедуре FindFirst |
| Procedure GetFAttr(var F, var Attr: word); F - переменная файлового типа; Attr - код атрибутов файла |
Определяет атрибуты файла |
| Procedure SetFAttr(var R Attr: word); F - переменная файлового типа; Attr - код атрибутов файла |
Устанавливает атрибуты файла |
Дополнительные процедуры и функции |
|
| Function DosVersion: word; Значение функции – номер версии DOS, при этом старший байт содержит вторую цифру номера |
Возвращает номер версии DOS |
| Procedure SetCBreak(var Break : boolean); Break - если true, прерывание по Ctrl-Break установлено |
Возвращает состояние проверки Ctrl-Break в DOS |
| Procedure SetVerify(var Verify : boolean); | Возвращает состояние флага верификации в DOS. |
| Procedure SetVerify(Verify : boolean); | Устанавливает состояние флага верификации в DOS |
| Procedure SetCBreak(var Break : boolean); Break - если true, прерывание по Ctrl-Break установлено |
Устанавливает состояние Ctrl-Break в DOS |
Интерфейс |
Назначение |
Создание, уничтожение, длина |
|
| Function StrDispose(Str: Pchar); Str - уничтожаемая строка |
Освобождает память в куче, занятую строкой |
| Function StrEnd(Str: PChar): Pchar; | Возвращает указатель на конец заданной строки |
| Function StrLen(Str: PChar): word; | Определяет число символов в строке |
| Function StrNew(Str: PChar): PChar; | Выделяет память в куче под строку |
Объединение строк |
|
| Function StrCat(Dest, Source : PChar): PChar; Dest - первая и результирующая строка; Source - добавляемая строка |
Копирует одну строку после конца другой и возвращает указатель на объединенную строку |
| Function StrLCat(Dest, Source :.PChar; MaxLen : word) : PChar; Dest - первая и результирующая строка; Source - добавляемая в конец строка; MaxLen – максимальная длина результирующей строки |
Объединяет две строки с контролем длины результирующей строки |
Сравнение строк |
|
| Function StrComp(Str1, Str2 : PChar): integer; Str1 и Str2 - сравниваемые строки; результат сравнения <0, если Str1 =0, если Str1 = Str2 >0, если Str1 > Str2 |
Сравнивает две строки |
| Function StrlComp(Str1, Str2 : PChar): integer; Str1 и Str2 - сравниваемые строки; результат сравнения аналогично StrComp |
Сравнивает две строки, игнорируя разницу прописных и строчных букв (латинского алфавита) |
| Function StrLComp(Str1, Str2 : PChar; MaxLen : word): integer; Str1 и Str2 - сравниваемые строки; MaxLen – число сравниваемых символов; результат сравнения - как у функции StrLComp |
Сравнивает две строки, используя определенное число символов |
| Function StrLIComp(Str1, Str2 : PChar; MaxLen : word): integer; Str1 и Str2 - сравниваемые строки; MaxLen – число сравниваемых символов; результат сравнения - как у функции StrLComp |
Сравнивает определенное число символов двух строк, игнорируя разницу прописных и строчных букв (латинского алфавита) |
Копирование |
|
| Function StrCopy(Dest, Source : PChar): PChar; Source - источник; Dest - результат. Значение функции - указатель на Dest |
Копирует строку Source в строку Dest |
| Function StrECopy(Dest, Source : Pchar): PChar; Dest - первая и результирующая строка; Source - добавляемая строка |
Копирует одну строку после другой и возвращает указатель на конец результирующей строки |
| Function StrLCopy(Dest, Source : PChar; MaxLen word): PChar; Dest - строка, откуда ведется копирование; Source - строка, куда ведется копирование; MaxLen – число символов |
Копирует определенное число символов одной строки в другую |
Интерфейс |
Назначение |
Управление графическим режимом |
|
| Procedure CloseGraph; | Закрывает графический режим |
| Procedure DetectGraph(var grDriver, grMode : integer); GrDriver - код драйвера, grMode - код графического режима |
Определяет рекомендуемые к применению для данного компьютера графические драйвер и режим |
| Function GetDriverName : string; Значение функции - имя используемого драйвера |
Определяет имя файла с используемым графическим драйвером |
| Function GetGraphMode : integer; Значение функции - код графического режима |
Определяет код используемого графического режима |
| Function GetMaxMode : integer; Значение функции - максимальное значение кода режима |
Определяет максимальное значение кода графического режима для используемого драйвера |
| Function GetModeName : string; Значение функции - имя используемого графического режима |
Определяет имя используемого графического режима |
| Procedure GetModeRange(grDriver: integer; var LoMode, HiMode : integer); grDriver - код графического режима; LoMode, HiMode - наименьшее и наибольшее значение кода графического режима для данного драйвера |
Определяет минимальное и максимальное значение кода графического режима для указанного при обращении драйвера |
| Procedure GraphDefaults; | Устанавливает графический указатель в начало координат и переустанавливает графическую систему |
| Function GraphErrorMsg(ErrorCode : integer): string; ErrorCode - код графической ошибки. Значение функции - текстовое сообщение о характере ошибки |
Дает строку - сообщение об ошибке графического режима по коду ошибки |
| Function GraphResult: integer; Значение функции - код ошибки |
Определяет, произошла ли ошибка при исполнении процедур модуля |
| Procedure lnitGraph(var grDriver, grMode : integer; PathToDriver: string); grDriver - код драйвера, grMode - код графического режима; PathToDriver - путь к файлу используемого драйвера |
Устанавливает заданный графический режим |
| Function InstallUserDriver(Name : string; AutoDetectPtr: Pointer): integer; Name - имя файла графического драйвера AutoDetectPtr - указатель на процедуру, определяющую успешность запуска драйвера. Значение функции - цифровой код установленного драйвера. |
Инсталлирует пользовательский драйвер графического режима |
| Procedure RegisterBGIdriver(Driver: pointer) : integer; Driver - указатель на драйвер |
Регистрирует драйвер графической системы |
| Procedure RestoreSrtMode; | Закрывает графический режим и восстанавливает текстовый режим, установленный ранее |
| Procedure SetGraphMode(grMode: integer); grMode - код графического режима |
Устанавливает другой графический режим без изменения драйвера |
Управление экраном и окнами |
|
| Procedure ClearDevice; | Очищает экран, сбрасывает все графические установки к значениям по умолчанию, устанавливает графический указатель в положение (0,0) |
| Procedure ClearViewPort; | Очищает экран, устанавливая фон, заданный в SetBRColor |
| Function GetMaxX: integer; Значение функции - максимальная координата X |
|
| Function GetMaxY: integer; Значение функции - максимальная координата Y |
|
| Procedure GetAspectRatio(var Xasp, Yasp : word ); | Определяет коэффициенты, характеризующие расстояния между пикселами по осям Х и Y |
| Function GetBkColor: word; Значение функции – код цвета фона |
Определяет установленный цвет фона |
Экран в целом и окна |
|
| Procedure GetViewSettings(var ViewPort: ViewPortType); Viewport - параметры текущего окна |
Запрашивает текущие параметры окна и отсечения |
| Procedure SetBkColor(Color: word); Значение функции - код цвета фона |
Устанавливает цвет фона |
| Procedure SetActivePage(Page : word); Page - номер активной страницы |
Устанавливает активную графическую страницу |
| Procedure SetAspectRatio(var Xasp, Yasp : word ); Xasp, Yasp - коэффициенты по осям Х и Y |
Изменяет масштабный коэффициент отношения сторон экрана |
| Procedure SetVisualPage(Page : word); Page - номер активной страницы |
Устанавливает номер видимой графической страницы |
| Procedure SetViewPort(X1, Y1, X2, Y2 : integer; Clip : boolean); (X1, Y1) (X2, Y2) - координаты противоположных углов окна; Clip определяет, отсекать ли изображение за пределами окна (true) или нет (false) |
Устанавливает визуальный порт (окно) для вывода графического изображения |
Управление цветом |
|
| Function GetColor : word; Значение функции - код цвета |
Возвращает текущий цвет (установленный SetColor) |
| Procedure GetDefaultPalette(var Palette : PaletteType); Palette - палитра (массив типа PaletteType) | Определяет, какая палитра действует в режиме по умолчанию |
| Function GetMaxColor : word; Значение функции - максимальный код цвета |
Определяет максимальный код цвета в установленном режиме |
| Procedure GetPalette(var Palette : PaletteType); Palette - палитра (массив типа PaletteType) |
Определяет, какая палитра установлена |
| Function QetPaletteSize : word; Значение функции - количество цветов в палитре |
Возвращает размер таблицы палитры |
| Procedure SetAIIPalette(var Palette : PaletteType); Palette - палитра (массив типа PaletteType) |
Устанавливает все цвета палитры |
| Procedure SetColor(Color: word); Color - код цвета |
Устанавливает цвет для линий |
| Procedure SetPalette(ColorNum, Color: word); ColorNum - код заменяемого цвета; Color - код нового цвета |
Устанавливает один новый цвет в палитре |
| Procedure SetRGBPalette(ColorNum, RedValue, GreenValue, BlueValue : word ); ColorNum - код устанавливаемого в палитре цвета; RedValue, GreenValue, BlueValue – интенсивность красного, зеленого и синего для этого цвета |
Устанавливает в палитру цвет, заданный тремя компонентами: красным, зеленым и синим |
Управление указателем |
|
| Function GetX : integer; GetX - координата X указателя |
Возвращает координату Х текущего положения указателя |
| Function GetY: integer; GetY - координата Y указателя |
Возвращает координату Y текущего положения указателя |
| Procedure MoveTo(X : integer; Y : integer); X, Y - координаты точки экрана |
Перемещает указатель в точку, заданную координатами X, Y |
| Procedure MoveRel(DeltaX : integer; DeltaY : integer); DeltaX, DeltaY - вектор приращений координат точки экрана |
Перемещает указатель в точку, координаты которой отличаются от текущих координат на величину DeltaX, DeltaY |
Шаблоны, закраска областей |
|
| Procedure FloodFill(X, Y : integer; ColorBorder: word); X, Y - координаты точки, вокруг которой идет закраска; ColorBorder - цвет, обозначающий границы области закраски |
Закрашивает произвольную область по заданным шаблону и цвету, вокруг заданной точки до границ, обозначенных определенным цветом |
| Procedure GetFillPattern(var FillPattern : FillPatternType); FillPattern - массив типа FillPatternType, содержащий информацию о шаблоне |
Определяет установленный тип шаблона |
| Procedure GetFillSettings(var Filllnfo : FillSettingsType); Filllnfo - запись типа FillSettingsType, содержащая информацию о шаблоне |
Определяет установленный тип шаблона |
| Procedure GetLineSettings(var Linelnfo : LineSetting-sType); Linelnfo - запись типа LineSettingsType, содержащая информацию о типе линии |
Определяет установленный тип линии |
| Procedure SetGraphBufSize(Size : word); Size - размер буфера |
Изменяет размер буфера для функций заполнения |
| Procedure SetFillPattern(Pattern: FillPatternType; Color: word); Pattern - массив типа FillPatternType, содержащий информацию о шаблоне; Color - цвет закраски |
Устанавливает шаблон и цвет закраски |
| Procedure SetFillStyle( Pattern, Color: word ); Pattern - код стандартного шаблона, Color – цвет закраски |
Устанавливает один из стандартных шаблонов и цвет закраски |
| Procedure SetLineStyle(lineStyle, Pattern, Thickness : word); LineStyle - код стиля линии, Pattern - собственный шаблон линии, Thickness - толщина линии |
Устанавливает стиль линии как один из стандартных или по собственному шаблону |
Изображение геометрических фигур и линий |
|
| Procedure Arc(X, Y: integer; StartAngle, EndAngle, R : word); X, Y - координаты центра окружности; StartAngle, EndAngle - начальный и конечный углы дуги окружности в градусах ( 0 359); R-радиус окружности в пикселах в направлении Х |
Дуга окружности. Процедура учитывает неодинаковость масштаба по осям |
| Procedure Bar(X1, Y1, Х2, Y2 : integer); (Х1, Y1) и (Х2, Y2) - координаты левого верхнего и правого нижнего углов прямоугольника |
Окрашенный прямоугольник без контура |
| Procedure Bar3D(X1, Y1, Х2, Y2 : integer; Depth : word; Top : boolean); (X1, Y1) и (Х2, Y2) - координаты левого верхнего и правого нижнего углов параллелепипеда; Depth - его глубина; Тор -определяет, изображать ли верхнюю грань фигуры (true - изображать). |
Изображает трехмерный прямоугольный параллелепипед, с заполнением передней грани. Верхняя грань может изображаться или нет |
| Procedure Circle(X, Y : integer; R : word); (X, Y) - координаты центра окружности; R - радиус в направлении оси Х |
Окружность. Процедура учитывает неодинаковость масштаба по осям |
| Procedure DrawPoly(NumPoints : word; var PolyPoints); NumPoints - число точек, задающих ломаную линию, PolyPoints - массив точек (элементов типа Point), задающих ломаную линию |
Ломаная линия, проходящую через заданный массив точек |
| Procedure Ellipse(X, Y : integer; StartAngle, EndAngle, Rx, Ry :word); X, Y - координаты центра эллипса; StartAngle, EndAngle -начальный и конечный углы дуги эллипса в градусах(0 359); Rx, Ry - полуоси эллипса в направлениях Х и Y в пикселах |
Дуга эллипса,начиная от StartAngle до EndAngle, полуоси эллипса в направлениях Х и Y заданы в пикселах и не учитывают масштаб изображения по осям |
| Procedure GetArcCoords(var ArcCoords: ArcCoordsType); ArcCoords - запись, содержащая координаты дуги |
возвращает координаты дуги, изображенной процедурами Arc и Ellipse |
| Procedure FillEllipse(X, Y : integer; Rx, Ry : word); X, Y - координаты центра эллипса; Rx, Ry - полуоси эллипса в направлениях Х и Y в пикселах |
Чертит закрашенный эллипс, полуоси эллипса в направлениях Х и Y заданы в пикселах; масштаб изображения по осям не учитывается |
| Procedure FillPoly(NumPoints : word; var PolyPoints); NumPoints - число точек, задающих ломаную линию, PolyPoints - массив точек (элементов типа point), задающих ломаную линию |
Изображает закрашенный многоугольник, заданный массивом вершин |
| Function GetPixel(X, Y : integer): word; X, Y - координаты точки, результат - цвет точки |
Возвращает цвет заданной точки |
| Procedure Line (x1, у1, х2, у2 : integer); (х1,у1) и (х2,у2)-координаты конечных точек отрезка прямой |
Чертит отрезок прямой по двум заданным конечным точкам |
| Procedure LineRel(DeltaX, DeltaY : integer); (DeltaX, DeltaY) - смещение конечной точки относительно начального положения указателя |
Чертит отрезок прямой от положения указателя до точки, смещенной относительно указателя на заданную величину. Перемещает указатель в конечную точку |
| Procedure LineTo(X, Y : integer); (X, Y) - координаты точки, в которую проводится отрезок |
Чертит отрезок прямой от точки положения указателя до заданной точки. Перемещает указатель в эту точку |
| Procedure Rectangle (x1, у1, х2, у2 : integer); (x1, у1) и (х2, у2) - координаты противоположных углов прямоугольника |
Чертит контур прямоугольника |
| Procedure Sector(X, Y : integer; StartAngle, EndAngle, Rx, Ry :word); X, Y - координаты центра эллипса; StartAngle, EndAngle -крайние углы сектора эллипса в градусах (0...359); Rx, Ry - полуоси эллипса в направлениях Х и Y в пикселах |
Изображает заполненный сектор эллипса, ограниченный углами от StartAngle до EndAngle. Заполняется сектор от минимального до максимального значения углов, независимо от их следования |
| Procedure PieSlice(X, Y : integer; StartAngle, EndAngle, R :word); X, Y - координаты центра эллипса; StartAngle, EndAngle - крайние углы сектора эллипса в градусах (0...359); R - радиус окружности в направлении Х в пикселах |
Изображает закрашенный сектор круга, ограниченный углами от StartAngle до EndAngle, радиус круга задан в пикселах в направлении Х и учитывает масштаб изображения по осям. Заполняется сектор от минимального до максимального значения углов, независимо от их следования |
| Procedure PutPixel(X, Y : integer; Color: word); X, Y - координаты точки, Color - цвет точки |
Окрашивает точку экрана в заданный цвет |
Вывод текста |
|
| Procedure GetTextSettings(var Textlnfo : TextSettingsType); Textlnfo - запись, содержащая действующие установки вывода текста |
Определяет установки вывода текста |
| Procedure OutText(Text: string); Text - выводимая строка текста |
Выводит текст на экран начиная с позиции графического указателя. Позиция графического указателя смещается на ширину выводимого текста |
| Procedure OutTextXY(X, Y : integer; Text: string); X, Y - координаты точки, к которой привязывается выводимый текст; Text - выводимая строка текста |
Выводит текст на экран относительно заданной точки, с учетом используемого типа юстировки |
| Function lnstallUserFont(FontFileName : string): integer; FontFileName - имя файла, содержащего шрифт; Результат - номер (код) установленного шрифта |
Инсталлирует новый шрифт |
| Procedure RegisterBGIFont(Font: pointer): integer; Font - указатель на шрифт |
Регистрирует шрифт для графической системы |
| Procedure SetTextJustify(Horiz, Vert: word); Horiz, Vert - коды привязки текста по горизонтали и вертикали | Устанавливает тип привязки текста к точке вывода по горизонтали и вертикали |
| Procedure SetTextStyle(Font, Direction, CharSize : word); Font - тип используемого шрифта, Direction -направление вывода надписи, CharSize – размер символов |
Устанавливает стиль выводимого текста |
| Procedure SetUserCharSize(MultX, DivX, MultY, DivY: word); MultX, DivX, MultY, DivY - коэффициенты умножения (Mult) и деления (Div) по осям X и Y, соответственно | Масштабирование шрифтов с произвольным дробным масштабом |
| Procedure SetWriteMode(WriteMode: integer); | |
| Function TextHeight(Text: string): integer; Text - строка выводимого текста. Результат - высота текста в пикселах |
Определяет высоту текстовой строки при заданных установках стиля |
| Function TextWidth(Text: string): integer; Text - строка выводимого текста. Результат - длина текста в пикселах |
Определяет длину текстовой строки при заданных установках стиля |
Копирование части экрана |
|
| Procedure Getlmage(X1, Y1, Х2, Y2 : integer; var BitMap: pointer); (X1, Y1) и (Х2, Y2) - координаты противоположных углов прямоугольника, ограничивающего копируемую область экрана; BitMap - указатель на область памяти, отведенную для хранения данного изображения |
Копирует в ОЗУ прямоугольную область экрана |
| Function lmageSize(X1, Y1, Х2, Y2 : integer): word; (X1, Y1) и (Х2, Y2) - координаты противоположных углов прямоугольника, ограничивающего область экрана; значение функции - объем информации в байтах |
Определяет размер в байтах памяти, необходимой для хранения прямоугольной области экрана |
| Procedure Putlmage(X, Y : integer; var BitMap : Pointer; BitBIt: word); X, Y - координаты левого верхнего угла для выводимого изображения; BitMap - указатель на область памяти; BitBIt - код логической операции |
Выводит изображения из памяти ЭВМ в указанную область экрана с заданной логической операцией наложения нового изображения на старое |
Интерфейс |
Назначение |
| Procedure OvrClearBuf; | Очищает буфер оверлеев |
| Function OvrGetBuf: Longint; | Возвращает текущий размер области оверлеев |
| Function OvrGetRetry: Longint; | Возвращает текущий размер области апробирования в байтах |
| Procedure OvrlnitfFileName : string); FileName - имя файла оверлея |
Инициализирует менеджер оверлеев и открывает оверлейный файл |
| Procedure OvrlnitEMS; | Если возможно, загружает оверлейный файл в EMS |
| Procedure OvrSetBuf(Size : Longint); Size - размер оверлейного буфера |
Устанавливает размер оверлейного буфера |
| Procedure OvrSetRetry(Size : Longint); Size - размер области в байтах |
Устанавливает размер области апробации в буфере оверлеев |
| Перейти к: | | Типизированные константы | | |
| Перейти к: | | | | |
| Перейти к: | | | Описание типов | |
| Перейти к: | | | Типизированные константы | |
Описание стиля |
Константа |
Описание стиля |
Константа |
||
| Заполнение цветом фона (SetBkColor) | EmtyFill = 0 | Вертикально- горизонтальная штриховка |
HatchFill = 7 | ||
| Заполнение текущим цветом (SetColor) | SolidFill = 1 | Разреженная штриховка крест-накрест |
XhatchFill = 8 | ||
| Заполнение символами - - | LineFill = 2 | Частая штриховка крест-накрест |
InterLeaveFill = 9 | ||
| Заполнение символами // нормальной толщины | LtslashFill = 3 | Заполнение разреженными точками |
WideDotFill = 10 | ||
| Заполнение символами // удвоенной толщины | SlashFill = 4 | Заполнение частыми точками | CloseDotFill = 11 | ||
| Заполнение символами \\ нормальной толщины | BkSlashFill = 5 | Пользовательский стиль |
UserFill = 12 | ||
| Заполнение символами \\ удвоенной толщины | LtBkSlashFill = 6 |

Цвет |
Константа |
Цвет |
Константа |
||||
| Черный | Black = 0 | Темно-серый | DarkGray = 8 | ||||
| Синий | Blue = 1 | Ярко-синий | LightBlue = 9 | ||||
| Зеленый | Green = 2 | Ярко-зеленый | LightGreen = 10 | ||||
| Голубой | Cyan = 3 | Ярко-голубой | LightCyan = 11 | ||||
| Красный | Red = 4 | Ярко-красный | LightRead = 12 | ||||
| Сиреневый | Magenta = 5 | Светло-сиреневый | LightMagenta = 13 | ||||
| Коричневый | Brown = 6 | Желтый | Yellow = 14 | ||||
| Светло-серый | LightGray = 7 | Белый | White = 15 |