Основы алгоритмизации и программирования. Часть четвертая. Файловая система Turbo Pascal. Асламова В.С - 44 стр.

UptoLike

87
Для определения того, установлен графический режим после выполне-
ния процедуры InitGraph или нет, в программе использована функция
GraphResult, которая возвращает целое число, называемое кодом ошибки.
Код ошибки формируется после выполнения каждой процедуры и функции
модуля, в том числе и процедуры InitGraph. Если процедура выполнилась
правильно, то код ошибки равен нулю. Ниже приведены
значения кодов, ус-
танавливаемых при появлении ошибок:
1– графический режим не установлен (не выполнена процедура Init-
Graph);
2 – не найдено аппаратное обеспечение;
3 – не найден файл драйвера устройства;
4 – неверный файл драйвера устройства;
5 – не хватает памяти для загрузки драйвера;
6 – выход за границы памяти при сканировании области закрашивания;
7 – выход за границы памяти при заполнении
закрашиваемой области;
8 – не найден файл шрифта;
9 – не хватает памяти для загрузки шрифта;
10 – устанавливаемый режим для выбранного драйвера является не
доступным.
Таким образом, если значение, возвращаемое функцией GraphResult, не
равно 0, то графический режим не установлен.
Последней выполняется процедура CloseGraph, которая завершает ра-
боту в графическом режиме, закрывая все созданные временные файлы и
освобождая занятые подпрограммами модуля Graph области памяти.
Для компиляции программы, использующей модуль Graph, требуется
наличие файла GRAPH.TPU, а для выполненияодин или более графических
драйверов (файлы .BGI) и файлов шрифтов (.CHR).
Более подробно процедуры модуля Graph будут рассмотрены ниже. Но
при их использовании следует учитывать, что верхний левый угол экран име-
ет координату (0,0). У правого столбца
больше координата Х, у нижней
строки больше координата Y, т.е. координата Х увеличивается при переме-
щении вправо, а координата Y – при перемещении вниз. Таким образом,
координаты каждого из четырёх углов и конкретной точки (середины экрана)
при работе в режиме VGAHi будут выглядеть как на рис.
88
0 319 639
0
239
479
Рис. 1.
Расположение
координат на экране
Процедуры и функции модуля Graph
1. Управление графическим режимом
Процедура InitGraph (Var GraphDriver ,GraphMode:Integer ; DriverPath:
String)
инициализирует графическую систему и устанавливает графический
режим.
Процедура SetGraphMode (Mode:Integer) устанавливает графический ре-
жим.
Процедура GraphDefaults восстанавливает исходные параметры графиче-
ского режима.
Процедура DetectGraph (Var GraphDriver, Graphmode: Integer) возвраща-
ет номер графического драйвера и режима.
Функция GraphResult:Integer возвращает код ошибки последней выпол-
ненной графической операции.
Функция GraphErrorMsg (ErrCode:Integer): String возвращает сообще-
ние, соответствующее коду ошибки ErrCode.
Процедура CloseGraph прекращает работу графической системы.
Функция GetDriverName:String возвращает имя установленного графиче-
ского драйвера.
Функция GetMaxMode:Integer возвращает число режимов установленно-
го драйвера.
Функция GetGraphMode:Integer возвращает номер текущего графическо-
го режима.
Функция GetModeName(ModeNumber:Word):String возвращает имя гра-
фического режима по заданному номеру.
      Для определения того, установлен графический режим после выполне-               0            319              639
ния процедуры InitGraph или нет, в программе использована функция                 0
GraphResult, которая возвращает целое число, называемое кодом ошибки.
Код ошибки формируется после выполнения каждой процедуры и функции
модуля, в том числе и процедуры InitGraph. Если процедура выполнилась       239
правильно, то код ошибки равен нулю. Ниже приведены значения кодов, ус-
танавливаемых при появлении ошибок:                                         479
      1– графический режим не установлен (не выполнена процедура Init-
Graph);                                                                                                        Рис. 1.
      2 – не найдено аппаратное обеспечение;                                                   Расположение координат на экране
      3 – не найден файл драйвера устройства;
      4 – неверный файл драйвера устройства;                                               Процедуры и функции модуля Graph
      5 – не хватает памяти для загрузки драйвера;
      6 – выход за границы памяти при сканировании области закрашивания;            1. Управление графическим режимом
      7 – выход за границы памяти при заполнении закрашиваемой области;         Процедура InitGraph (Var GraphDriver ,GraphMode:Integer ; DriverPath:
      8 – не найден файл шрифта;                                            String) инициализирует графическую систему и устанавливает графический
      9 – не хватает памяти для загрузки шрифта;                            режим.
      10 – устанавливаемый режим для выбранного драйвера является не            Процедура SetGraphMode (Mode:Integer) устанавливает графический ре-
доступным.                                                                  жим.
      Таким образом, если значение, возвращаемое функцией GraphResult, не       Процедура GraphDefaults восстанавливает исходные параметры графиче-
равно 0, то графический режим не установлен.                                ского режима.
      Последней выполняется процедура CloseGraph, которая завершает ра-         Процедура DetectGraph (Var GraphDriver, Graphmode: Integer) возвраща-
боту в графическом режиме, закрывая все созданные временные файлы и         ет номер графического драйвера и режима.
освобождая занятые подпрограммами модуля Graph области памяти.                  Функция GraphResult:Integer возвращает код ошибки последней выпол-
      Для компиляции программы, использующей модуль Graph, требуется        ненной графической операции.
наличие файла GRAPH.TPU, а для выполнения – один или более графических          Функция GraphErrorMsg (ErrCode:Integer): String возвращает сообще-
драйверов (файлы .BGI) и файлов шрифтов (.CHR).                             ние, соответствующее коду ошибки ErrCode.
      Более подробно процедуры модуля Graph будут рассмотрены ниже. Но          Процедура CloseGraph прекращает работу графической системы.
при их использовании следует учитывать, что верхний левый угол экран име-       Функция GetDriverName:String возвращает имя установленного графиче-
ет координату (0,0). У правого столбца больше координата Х, у нижней        ского драйвера.
строки больше координата Y, т.е. координата Х увеличивается при переме-         Функция GetMaxMode:Integer возвращает число режимов установленно-
щении вправо, а координата Y – при перемещении вниз. Таким образом,         го драйвера.
координаты каждого из четырёх углов и конкретной точки (середины экрана)        Функция GetGraphMode:Integer возвращает номер текущего графическо-
при работе в режиме VGAHi будут выглядеть как на рис.                       го режима.
                                                                                Функция GetModeName(ModeNumber:Word):String возвращает имя гра-
                                                                            фического режима по заданному номеру.


                                   87                                                                          88