Стандартный режим работы дисплея под управлением DOS- текстовый, поэтому для использования графики нужно подключить графический модуль
uses GRAPH;
и переключить экран в графический режим:
initgraph (d, m, 'path');
d - тип загружаемого
драйвера (detect=0 - автоматическое определение
драйвера);
m - номер режима, допустимого
при данном адаптере (при gd=0 режим
определяется автоматически);
'path' - путь к каталогу,
содержащему драйвер. Графические драйверы
расположены в папке BP\BGI в виде файлов с
расширением *.bgi. Если скопировать драйвер в
папку BIN, из которой запускается Паскаль, то
в процедуре указываются пустые апострофы ''.
Пример:
program pr; begin |
Возврат в текстовый режим: closegraph;
кратковременный возврат: restoreCrtMode (параметры графического режима не сбрасываются, и память, выделенная для размещения графического драйвера, не освобождается).
Экран дисплея состоит из множества точек (точка CGA-дисплея имеет размер 0,8 х 1 мм2). Если закрасить нужные точки цветом, отличным от цвета остальных точек (фона), получится изображение. Для указания нужной точки задаются ее порядковые номера по горизонтали и по вертикали, начиная от левого верхнего угла, т.е. координаты.
Т.о. координаты каждой точки задаются парой целых чисел (х, у). Начало координат (0, 0) располагается в левом верхнем углу экрана. В зависимости от типа используемого адаптера максимальные значения координат могут быть разными
Фрагмент графического экрана:
На графическом экране постоянно присутствует невидимый курсор.
GetMaxX | возвращает максимальное значение X |
GetMaxY | возвращает максимальное значение Y |
GetX | возвращает текущую координату X курсора; |
GetY | возвращает текущую координату Y курсора; |
MoveTo (x, y) | устанавливает новое текущее положение курсора относительно левого верхнего угла экрана; |
MoveRel (dx, dy) | устанавливает новое положение курсора относительно предыдущего; dx, dy - приращения координат. |
ClearDevice | очищает графический экран |
В графическом режиме операторы write и writeln не работают
outtext ( st ) | вывод строки st , начиная с текущей позиции курсора |
outtextxy ( x,y,st ) | вывод строки st , начиная с позиции курсора в точке x,y |