Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Pascal / Delphi / Лекции по Паскалю2 / Иллюстрации к Лекции 8 по информатике.doc
Скачиваний:
28
Добавлен:
02.05.2014
Размер:
1.4 Mб
Скачать

Переключение текст — графика — текст

Пример перехода из текстового режима в графический и наоборот, Фрагмент 1:

uses

Crt, Graph;

var

DriverVar, ModeVar: integer;

begin

ClrScr;

Writeln('Текстовый режим');

DriverVar:= Detect;

InitGraph(DriverVar,ModeVar, , ' ');

OutTextXY(300,250,'Графический режим')

RestoreCRTMode;

Writeln('Текстовый режим');

SetGraphMode(ModeVar);

OutTextXY(300,250,'Графический режим ')

CloseGraph

end.

Обработка ошибок

GraphResult

GraphErrorMsg.

Таблица 3. Коды ошибок

Константа

Значение Описание

GrOK

0

Нет ошибок

grNoInitGraph

-1

Графика не инициализирована (используйте InitGraph)

grNotDetected

-2

Графическое устройство не обнаружено

grFileNotFound

-3

Файл драйвера устройства не найден

grInvalidDriver

-4

Неправильный файл драйвера устройства

grNoLoadMem

-5

Недостаточно памяти для загрузки драйвера

grNoScanMem

-6

Выход за пределы памяти при заполнении (scan fill)

grNoFloodMem

-7

Выход за пределы памяти при заполнении (flood fill)

GrFontNotFound

-8

Файл шрифта не найден

grNoFontMem

-9

Недостаточно памяти для загрузки шрифта

grInvalidMode

-10

Неверный графический режим для этого драйвера

GrError

-11

Графическая ошибка

grIOerror

-12

Ошибка графического ввода-вывода

grInvalidFont

-13

Неверный файл шрифта

grInvalidFontNum

-14

Неверный номер шрифта

GraphErrorMsg(ErrorCode:integer):string - возвращает строку сообщения об ошибке, соответствующую коду ошибки.

Фрагмент 2. Пример диагностики ошибок, сообщения об ошибке и останова программы в случае ошибки:

{Процедура инициализации и анализа системных ошибок DriverVar и ModeVar описаны в основной программе}

bеgin

DriverVar:= Detect;

InitGraph(DriverVar,ModeVar, ' ' );

ErrorCode:= GraphResult;

if ErrorCode <> grOK then

begin

Writeln('Графическая системная ошибка:',

GraphErrorMsg(ErrorCode));

Halt(l);

end ;

end;

8.2. Базовые процедуры и функции модуля GRAPH

Система координат

координата Х

(0,0) (GetMaxX,0)

координата Y

(0,GetMaxY) (GetMaxX, GetMaxY)

Рис. 1

Перемещение текущего указателя

MoveTo(X,Y:integer) перемещает текущий указатель в точку с координатами X,Y.

MoveRel(dX,dY:integer) перемещает текущий указатель на dX точек по горизонта­ли и на dY точек по вертикали.

GetX, GetY возвращают координаты текущего указателя:

var

Xpos, Ypos: integer;

. . .

Xpos := GetX; Ypos := GetY; . . .

Функции GetMaxX:integer и GetMaxY:integer возвращают максимально возможные для установленного режима значения Х- и Y-координат.