Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы по информатике.docx
Скачиваний:
12
Добавлен:
20.04.2019
Размер:
64.09 Кб
Скачать

44.) Работа в графическом видеорежиме: вывод сообщений.

В графическом режиме для вывода текста используется растровый шрифт размером 8х8 и несколько штриховых шрифтов. Символ в растровом шрифте определяется матрицей, имеющей 8х8 элементов растра. Штриховой шрифт определяется серией векторов, которые сообщают графической системе, как рисуется шрифт.

Специально для графического режима разработаны специальные процедуры, обеспечивающие вывод сообщений различными шрифтами в горизонтальном или вертикальном направлении с изменением размера символов.

OutText (Txt : String); ‑ процедура выводит текстовую строку Txt, начиная с текущего положения указателя;

OutTextXY(X,Y : Integer; Txt : String); ‑ процедура выводит текстовую строку Txt, начиная с заданного координатами X и Y места;

SetTextStyle (Font, Direct, Size ; Word); ‑ процедура устанавливает стиль текущего вывода на графический экран, Font - код шрифта, Direct - код направления, Size - код размера шрифта.

SetTextJustify (Horiz, vert : Word); ‑ процедура задаёт выравнивание (Horiz - горизонтальное, Vert - вертикальное) выводимого текста по отношению к текущему положению указателя или к заданным координатам, выравнивание определяет, будет ли текст размещаться левее, правее, выше или ниже указанного места, в качестве значений параметров описываемой процедуры можно использовать такие константы модуля Graph

Функции с заголовками

TextWidth (Txt : String): Word;

TextHeight(Txt : String): Word;

возвращают длину и ширину в пикселях передаваемой в качестве параметра строки с учётом текущего стиля вывода.

GetTextSettings (var TextInfo : TextSettingsType); ‑ процедура определяет текущий стиль и выравнивание текста

45.) Стандартные подпрограммы для работы с экраном и клавиатурой в текстовом видеорежиме.

Процедура InitGraph (var Driver, Mode : Integer; Path : String); ‑ во время выполнения программы определяет графическое аппаратное обеспечение, загружает и инициализирует соответствующий графический драйвер, переводит систему в графический режим и передаёт контроль вызванной программе; переменные Driver ‑ определяет тип графического драйвера, Mode ‑ задаёт режим работы графического адаптера, Path ‑ содержит имя файла драйвера и маршрут его поиска.

Процедура CloseGraph; ‑ освобождает память от графического драйвера и восстанавливает предыдущий видеорежим.

Функция GraphResult ‑ возвращает значение типа Integer, в котором закодирован результат последнего обращения к графическим процедурам.

Функция GraphErrorMsg (Code: Integer): String; ‑ возвращает значение типа String, в котором по указанному коду ошибки даётся соответствующее текстовое сообщение, где Code - код ошибки, возвращаемый функцией GraphResult.

Процедура RestoreCRTMode ‑ служит для кратковременного возврата в текстовый режим; в отличие от процедуры CloseGraph не сбрасываются установленные параметры графического режима и не освобождается память, выделенная для размещения графического драйвера.

Функция GetGraphMode ‑ возвращает значение типа Integer, в котором содержится код установленного режима работы графического адаптера.

Процедура SetGraphMode(Mode: Integer); ‑ устанавливает новый графический режим работы адаптера; где Mode - код устанавливаемого режима.

Процедура DetectGraph (var Driver, Mode: Integer); ‑ возвращает тип драйвера и режим его работы; здесь Driver - тип драйвера; Mode - режим работы; в отличие от функции GetGraphMode описываемая процедура возвращает в переменной Mode максимально возможный для данного адаптера номер графического режима.

Функция GetDriverName ‑ возвращает значение типа String, содержащее имя загруженного графического драйвера.

Функция GetMaxMode ‑ возвращает значение типа Integer, содержащее количество возможных режимов работы адаптера.

Функция GetModeName (ModNumber: Integer): String; ‑ возвращает значение типа String, содержащее разрешение экрана и имя режима работы адаптера по его номеру, ModNumber - номер режима.

Процедура GetModeRange (Drv: Integer; var Min, Max: Integer); ‑ возвращает диапазон возможных режимов работы заданного графического адаптера, Drv - тип адаптера; Min - переменная типа Integer, в которой возвращается нижнее возможное значение номера режима; Max - переменная того же типа, верхнее значение номера. Если задано неправильное значение параметра Drv, процедура вернёт в обеих переменных значение – 1

С клавиатурой:

В MS-DОS реализуется асинхронный буферизованный ввод с клавиатуры. При нажатии на клавишу код символа помещается в буфер. Стандартная длина буфера рассчитана на хранение до 16 кодов символов. Буфер может оказаться переполненным. При этом раздаётся звуковой сигнал и «лишние» коды теряются.

Чтение кодов символов из буфера обеспечивается процедурами Read, Readln и функцией ReadKey. Функция ReadKey возвращает значение типа char из буфера клавиатуры, если в нём есть хотя бы один не прочитанный символ (код этого символа берётся из буфера и возвращается в качестве значения функции). Если буфер пуст, функция будет ожидать нажатия на любую клавишу. Ввод функцией ReadKey не сопровождается эхо-повтором и содержимое экрана не меняется. При использовании функции ReadKey необходимо помнить, что в клавиатурный буфер помещаются расширенные коды нажатых клавиш.

Функция KeyPressed возвращает значение типа boolean, указывающее состояние буфера клавиатуры: значение False – если буфер пуст, значение True – если в буфере есть хотя бы один символ, ещё не прочитанный программой.