Иллюстрированный самоучитель по SVGA
Работа с текстом
-
При выполнении графических задач на экран выводятся различные текстовые сообщения. Это могут быть названия окон, пояснения к выбранным значкам, информационные строки различного назначения, подсказки оператору и т. п.
-
Прежде всего, разберемся с тем, как появляются символы на экране. Задача самостоятельно или с помощью функций BIOS помещает выводимый текст в видеопамять. Коды символов должны соответствовать стандарту ASCII (American Standard Code for Information Interchange – американский стандартный код для обмена информацией).
-
При выводе текста, для записи кодов символов в видеопамять, задача может использовать поддержку BIOS и DOS или делать это самостоятельно. Мы опишем оба способа вывода текста на экран, но предварительно обсудим общие особенности программирования работы с текстом.
-
Вывод с помощью функции DOS | Проще всего вывести строку текста на экран с помощью специальной функции DOS, имеющей код 09, поэтому этот способ часто встречается на практике. Перед обращением к DOS адрес начала строки помещается в регистры ds:dx, а код запрашиваемой функции (оэ) – в регистр ah, после чего вызывается программное прерывание int 2in, которое выполняет обращение к DOS.
-
Если отвлечься от вспомогательных действий, то функции 09 и OAh вычисляют адрес видеобуфера, используя номера страницы, строки и столбца, и записывают по этому адресу либо код символа (0Ah), либо код символа и атрибут (09).
-
Основные особенности графических режимов, имеющие непосредственное отношение к работе с текстом, заключаются в следующем: | видеобуфер располагается в сегменте ДОООЬ (а не B800h); | в видеопамяти находятся коды цветов точек, а не символов;
-
В данном разделе будет описана подпрограмма, которая по коду ASCII выбирает из таблицы соответствующую заготовку и рисует изображение символа на экране. В технической литературе для обозначения подобных подпрограмм используется термин "программный знакогенератор".
-
В процессе выполнения графических программ на экран могут выводиться информационные строки, которые делятся на две основные категории. | К первой категории относятся напоминания о назначении различных значков, находящихся на экране, не требующие конкретной реакции оператора.
-
При вводе и редактировании текста, для указания позиции вводимого или изменяемого символа, традиционно используется курсор. В графических режимах аппаратная поддержка текстового курсора выключена, поэтому применяется "программный" курсор.
-
Для иллюстрации способов работы с описанными подпрограммами мы рассмотрим ввод текста в специально выделенный буфер строки. Такой буфер нужен для того, чтобы оператор мог исправить допущенные им ошибки до того, как задача начнет обрабатывать введенную строку.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.