Процедуры и функции
Стандатные типы модуля graph
| Цвета палитры | ||
| PaletteType | record | |
| size:Byte; | Количество цветов | |
| Colors: array [0..MaxColors] of Shortint; end; | Используемые цвета | |
| Характеристики линии | ||
| LineSettingsType | record | |
| LineStyle:Word;; | Тип линии | |
| Pattern: Word; | Шаблон линии | |
| Thickness: Word; | Толщина линии | |
| end; | ||
| Характеристики текста | ||
| TextSettingsType | record | |
| Font:Word;; | Тип шрифта | |
| Direction: Word; | Направление текста | |
| CharSize: Word; | Размер символа | |
| Horiz: Word; | Горизонтальное выравнивание | |
| Vert: Word; | Вертикальное выравнивание | |
| end; | ||
| Орнамент и цвет заполнения | ||
| FillPatternType | record | |
| Pattern: Word; | Шаблон | |
| Color:Word;; | Цвет заполнения | |
| end; | ||
| Координаты точки | ||
| PointType | record | |
| X,Y: Integer; | Координаты | |
| end; | ||
| Окно вывода графической информации | ||
| ViewPortType | record | |
| X1,Y1,X2,Y2: Integer; | Координаты окна | |
| Clip: Boolean; | Признак усечения | |
| end; |
Инициирует графический режим работы адаптера. Заголовок процедуры:
Procedure InitGraph(var Driver,Mode: Integer; Path: String);
Здесь Driver - тип графического драйвера;
Mode – переменная, в которую процедура помещает код работы графического адаптера;
Path - имя файла драйвера и, возможно, маршрут его поиска.
К моменту вызова процедуры на одном из дисковых носителей информации должен находиться файл, содержащий нужный графический драйвер. Процедура загружает этот драйвер в оперативную память и переводит адаптер в графический режим работы. Тип драйвера должен соответствовать типу графического адаптера. Для указания типа драйвера в модуле предопределены следующие константы:
const
Detect=0;{Режим автоопределения типа}
CGA=1;
MCGA=2;
EGA=3;
EGA64=4;
EGAMono=5;
IBM8514=6;
HercMono=7;
ATT400=8;
VGA=9;
PC3270=10;
Большинство адаптеров могут работать в различных режимах. Для того чтобы указать адаптеру требуемый режим работы, используется переменная Mode, значением которой в момент обращения к процедуре могут быть такие константы:
const
{ Адаптер CGA: }
CGACO = 0; {Низкое разрешение, палитра0}
CGAC1 = 1; {Низкое разрешение, палитра1}
CGAC2 = 2; {Низкое разрешение, палитра2}
CGAC3 = 3; {Низкое разрешение, палитра3}
CGAHi = 4; {Высокое разрешение}
{Адаптер MCGA:}
MCGACO = 0; {Эмуляция CGACO}
MCGAC1 = 1; {Эмуляция CGAC1}
MCGAC2 = 2; {Эмуляция CGAC2}
MCGAC3 = 3; {Эмуляция CGAC3}
MCGAMed = 4; {Эмуляция CGAHi}
MCGAHi = 5; {640x480}
{Адаптер EGA:}
EGALo = 0; {640x200, 16 цветов}
EGAHi = 1; {640x350, 16 цветов}
EGAMonoHi = 3; {640x350, 2 цвета}
{Адаптеры HGC и HGC+:}
HercMonoHi = 0; {720x348}
{АдаптерАТТ400:}
ATT400CO = 0; {Аналог режима CGACO}
ATT400C1 = 1; (Аналог режима CGAC1}
ATT400C2 = 2; {Аналог режима CGAC2}
ATT400C3 = 3; {Аналог режима CGAC3}
ATT400Med = 4; {Аналог режима CGAHi}
ATT400H1 = 5; {640x400, 2 цвета}
{Адаптер VGA:}
VGALo = 0; {640x200}
VGAMed = 1; {640x350}
VGAHi = 2; {640x480}
PC3270H1 = 0; {Аналог HercMonoHi}
{Адаптер 1ВМ8514}
IBM8514LO =0; {640x480, 256 цветов}
IBM8514H1 = 1; {1024x768, 256 цветов}
Пусть, например, драйвер CGA.BGI находится в каталоге TP\BGI на диске С и устанавливается режим работы 320x200 с палитрой 2. Тогда обращение к процедуре будет таким:
Uses Graph;
var
Driver, Mode: Integer;
begin
Driver:= CGA;{Драйвер}
Mode:= CGAC2;{Режим работы}
InitGraph(Driver, Mode,' С:\TP\BGI');
.......
Если тип адаптера ПК неизвестен или если программа рассчитана на работу с любым адаптером, используется обращение к процедуре с требованием автоматического определения типа драйвера:
Driver:= Detect;
InitGraph(Driver, Mode, 'C:\TP\BGI');
После такого обращения устанавливается графический режим работы экрана, а при выходе из процедуры переменные Driver и Mode содержат целочисленные значения, определяющие тип драйвера и режим его работы. При этом для адаптеров, способных работать в нескольких режимах, выбирается старший режим, т.е. тот, что закодирован максимальной цифрой. Так, при работе с CGA -адаптером обращение к процедуре со значением Driver = Detect вернет в переменной Driver значение 1 (CGA) и в Mode -значение 4 (CGAHi), а такое же обращение к адаптеру VGA вернет Driver = 9 (VGA) и Mode = 2 (VGAHi).






