Графические возможности TurboPascal 7.0 — страница 5

  • Просмотров 9476
  • Скачиваний 582
  • Размер файла 3666
    Кб

режима CGAHi} ATT400Hi = 5 {640x400, 2 цвета} {Адаптер VGA:} VGALo = 0 {640x200} VGAMed = 1 \б40х350}: VGAHi = 2 {64Qx480} PC3270Hi = 0 (Аналог HercMonoHi} {Адаптер IBM8514} IBM8514Lo = 0 {640x480, 256 цветов} IBM8514Hi = 1 {1024x768, 256 цветов} Пусть, например, драйвер CGA.BGI находится в каталоге TF42GI на диске С и ус­танавливается режим работы 320x200 с палитрой 2. Тогда обращение к процедуре будет таким: Uses Graph; var Driver, Mode : Integer; begin Driver := CGA; {Драйвер} Mode := CGAC2; {Режим работы} InitGraph(Driver, Mode, 'C:\TP\BGI'); . . . Если тип адаптера ПК

неизвестен или если программа рассчитана на работу с лю­бым адаптером, используется обращение к процедуре с требованием автоматического определения типа драйвера: Driver := Detect; InitGraph(Driver, Mode, 'C:\TP\BGI'); После такого обращения устанавливается графический режим работы экрана, а при выходе из процедуры переменные Driver и Mode содержат целочисленные значения, определяющие тип драйвера и режим его работы. При этом для адаптеров, способных

работать в нескольких режимах, выбирается старший режим, т.е. тот, что закодирован максимальной цифрой. Так, при работе с CG^-адаптером обращение к процедуре со значением Driver = Detect вернет в переменной Driver значение 1 (CGA) и в Mode -значение 4 (CGAHi), а такое же обращение к адаптеру VGA вернет Driver = 9 flfGA) и Mode = 2 fPGAHi). Функция GraphResult. Возвращает значение типа Integer, в котором закодиро­ван результат последнего обращения к графическим процедурам.

Если ошибка не обнаружена, значением функции будет ноль, в противном случае - отрицательное число, имеющее следующий смысл: grOk = 0 {Нет ошибок} grlnitGraph = -l {He инициирован графический режим} grNotDetected = -2 {Не определен тип драйвера}- grFileNotFind = -3 {Не найден графический драйвер} grlnvalidDriver = -4 {Неправильный тип драйвера} grNoLoadMem = -5 {Нет памяти для размещения драйвера} grNoScanMem = -6 {Нет памяти для просмотра областей} grNoFloodMem = -7 {Нет памяти для закраски

областей} grFontNot Found = -8; {He найден файл со шрифтом} grN0F0ntMem = -9; {Нет памяти для размещения шрифта} grlnvalidMode = -10 {Неправильный графический режим} grError = -ll {Общая ошибка} grIOError = -12 {Ошибка ввода-вывода} grlnvalidFont = -13 {Неправильный формат шрифта} grInvalidFontNum =-14 {Неправильный номер шрифта После обращения к функции GraphResult признак ошибки сбрасывается, поэтоыу повторное обращение к ней вернет ноль. Функция GraphErrorMsq. Возвращает значение типа String, в

котором по указанному коду ошибки дается соответствующее текстовое сообщение. Заголовок функ­ции: Function GraphErrorMsg(Code: Integer): String; Здесь Code - код ошибки, возвращаемый функцией GraphResult. Например, типичная последовательность операторов для инициации графического режима с автоматическим определением типа драйвера и установкой максимального разрешения имеет следующий вид: Var Driver, Mode, Error : Integer; begin Driver := Detect; {Автоопределение драйвера}