Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Модуль Forms 65535
Имитационное мо... 60345
Реклама
Сейчас на сайте
Гостей: 4
На сайте нет зарегистрированных пользователей

Пользователей: 13,115
новичок: sborzabor
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Игра Sokoban на Delphi + Блок схемы
База данных студентов на Delphi (файл записей) + Блок схемы
Моделирование круглосуточного интернет кафе на GPSS + Отчет

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Модуль CRT. Текстовый вывод на экран


Используемый в ПК дисплей состоит из двух основных частей: монитора, содержащего экран, и блока управления, который называют дисплейным адаптером или просто адаптером.
Исторически первым адаптером был монохромный адаптер, имеющий скромные возможности - он позволял выводить только текстовые сообщения в одном из двух форматов: 25 строк по 40 или по 80 символов в строке. Символы выводились в прямом изображении (светлые символы на темном фоне), причем их ширина оставалась одинаковой в обоих режимах. Поэтому в режиме 40x25 была задействована только левая половина экрана.
Позднее появились адаптер HGC, который мог еще и воспроизводить графические изображения с разрешением 720x350 точек (пикселов), и цветной графический адаптер CGA, позволяющий выводить как текстовые сообщения, так и графические изображения с разрешением 320x200 или 640x350 пикселов. В текстовом режиме выводились 40x25 или 80x25 символов как в монохромном, так и в цветном изображении.
Для задания одного из возможных текстовых режимов адаптера служит процедура
TextMode (Mode: word);



Здесь Mode – код текстового режима. В качестве значения этого выражения могут использоваться следующие константы, определенные в модуле Crt (см. табл. 14.1).



По умолчанию устанавливается режим 3(СО80).
При вызове процедуры TextMode код установленного режима запоминается в стандартной переменной LastMode : word, которая может быль использована как для проверки так и для установлении текстового режима при возвращении из графического.
Write(‘Номер текстового режима’,LastMode);
TextMode (LastMode);



При работе с экраном через модуль Crt весь экран разбивается на отдельные неделимые прямоугольные элементы. Для каждого элемента можно задать цвет фона (задний план) и цвет символа (передний план). Кроме того, в случае необходимости символ можно сделать мерцающим. Вся эта информация (атрибуты символа) размещается в одном байте информации так, как показано на рис. 14.1.
Модуль CRT. Текстовый вывод на экран
На этом рисунке буквой М обозначен бит мерцания (символ мерцает, если в этом бите установлена единица), буквами Ф – биты с кодом цвета фона (биты 4-6), и буквами С - биты с кодом цвета символа (биты 0-3).
Для управления цветом символов и фона служат процедуры
TextColor (Color:Byte); и TextBackground(Color:Byte).



Параметр этих процедур может принимать следующие значения (константы определены в модуле Crt):
Параметр этих процедур может принимать следующие значения
Текущие атрибуты текста хранятся в стандартной переменной TextAtt:Byte.
Следующий пример иллюстрирует цветовые возможности ТР.
uses Crt;
const col: array [1..6] of string[16] =
(’синий’,’зеленый’,’голубой’,’красный’,
’фиолетовый’,’коричневый’);
var i:Byte;
begin
for i:=1 to 6 do {Выводим 6 сообщений
разными цветами}
begin
TextColor(i);
writeln(’Цвет ’, i, ’ - ’, col[i]);
end;
TextColor(White+Blink); {Белые мигающие символы}
writeln(’ Мерцание символов’);
{Восстанавливаем стандартный цвет}
TextColor(LightGray);
writeln;
end.



Модуль Crt позволяет не только работать со всем экраном, но и выделять в нем прямоугольные окна. Процедура Window определяет текстовое окно - область экрана, которая в дальнейшем будет рассматриваться процедурами ввода-вывода как весь экран.
Window (x1,y1,x2,y2: byte);



Здесь x1,y1,x2,y2 - координаты левого верхнего и правого нижнего угла.
Процедура window задает размеры окна на экране и помещает курсор в левый верхний угол окна.
Обращение к процедуре игнорируется, если какая-либо из координат выходит за границы экрана или если нарушается одно из условий: x2>x1 и y2>y1.
Если на экране активизировано окно, то все координаты определяются относительно границ окна, за исключением самой процедуры window (здесь координаты всегда задаются относительно границ экрана). При работе в окне координаты отсчитываются от левого верхнего угла окна.
Процедура ClrScr очищает экран или окно. После обращения к ней экран (окно) заполняется цветом фона, курсор устанавливается в левый верхний угол.
Процедура GotoXY переводит курсор в нужное место экрана или текущего окна.
GotoXY (x,y:byte);



Здесь x, y –новые координаты курсора. Координаты задаются относительно границ экрана (окна).
Обращение к процедуре игнорируется, если какая-либо из новых координат выходит за границы экрана.
Функции WhereX и WhereY служат для определения текущих координат курсора (определяются, соответственно, горизонтальная и вертикальная координаты).
Процедура HighVideo устанавливает высокую яркость символов, выводимых далее на экран (заменяет цвета 0-7 на цвета 8-15).
Процедура LowVideo устанавливает малую яркость символов, выводимых далее на экран (заменяет цвета 8-15 на цвета0-7).
Процедура NormVideo устанавливает первоначальную яркость символов, выводимых далее на экран.
Опубликовал Kest Апрель 30 2010 19:32:48 · 0 Комментариев · 9504 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Еext Editor
Программирование ...
Цветной Grid
WebReg v1.3
Comdrv
SUIPack
Delphi. Учимся на...
Работа с матрицами
TmxOutlookBarPro
Разработка клиент...
Java в примерах -...
AVIwriter
Text3D
WordReport
HTMLredaktor
Ведение справочны...
Degisy Data Acces...
Панель Календарь
Киллер окон
TDBF

Топ загрузок
Приложение Клие... 100522
Delphi 7 Enterp... 91591
Converter AMR<-... 20101
GPSS World Stud... 15290
Borland C++Buil... 12992
Borland Delphi ... 9103
Turbo Pascal fo... 7111
Калькулятор [Ис... 5180
Visual Studio 2... 5031
FreeSMS v1.3.1 3559
Случайные статьи
east.technologies.
SPLIT (РАСЩЕПИТЬ)
Хранение записей о...
1000-010-305
Работа асинхронног...
Бизнес-модели инте...
Использование полу...
• Обеспечьте посто...
КРАТКОЕ ОПИСАНИЕ G...
АНБ знает все секр...
Средства отладки -...
Политики Accompli
Время выполнения S...
Манипуляторы
Корпус
Настройки почтовог...
Онлайн автоматы Ву...
Где купить итальян...
Что если это сложно?
Функция VirtualQue...
Как создать привле...
Определение элементов
Перемещение окна в...
Ввод-вывод потока
службы поддержки в...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?