Краткая справка по языку программирования Turbo Pascal

       

Модуль Graph



Модуль Graph

    • Изображение геометрических фигур и линий


    • Модуль Overlay

      Модуль 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 - код логической операции
      Выводит изображения из памяти ЭВМ в указанную область экрана с заданной логической операцией наложения нового изображения на старое





      Содержание раздела