Модуль Graph
Модуль Graph
- Изображение геометрических фигур и линий
Модуль System
Интерфейс |
Назначение |
|
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 : <byte или char>); 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 - текущее положение указателя |
Записывает в файл одну или более записей из переменных |
Модуль CRT
Интерфейс | Назначение |
Установка режимов и окон |
|
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 - значение задержки в миллисекундах |
Задержка исполнения программы на заданное число миллисекунд |
Модуль DOS
Интерфейс |
Назначение |
Управление вычислительным процессом |
|
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 |
Модуль Strings
Интерфейс |
Назначение |
Создание, уничтожение, длина |
|
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 <Str2 =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 – число символов |
Копирует определенное число символов одной строки в другую |
Модуль Graph
Интерфейс |
Назначение |
Управление графическим режимом |
|
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 - код логической операции |
Выводит изображения из памяти ЭВМ в указанную область экрана с заданной логической операцией наложения нового изображения на старое |