![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() ![]() |
![]() |
inet007 |
![]() ![]()
Сообщение
#1
|
![]() Группа: Пользователи Сообщений: 4 Репутация: ![]() ![]() ![]() |
Как сделать цвет экрана, ну например, белым в текстовом режиме?
|
AlaRic |
![]()
Сообщение
#2
|
... ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 347 Пол: Мужской Репутация: ![]() ![]() ![]() |
textbackground(15); |
neex |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 5 Репутация: ![]() ![]() ![]() |
Не все так просто, а як же підключеня бібліотеки, і встановлення тексту чорним.
uses crt; |
AlaRic |
![]()
Сообщение
#4
|
... ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 347 Пол: Мужской Репутация: ![]() ![]() ![]() |
1 - не думаю что он не догадается про uses crt;
2 - цвет шрифта может быть любым! |
Nemo |
![]()
Сообщение
#5
|
Гость ![]() |
TextAttr:=$10*BG+T;
Где BG - цвет фона, а Т - текста. |
APAL |
![]()
Сообщение
#6
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Цвет фона задается в пределах 0..7
Хотя есть какой-то способ обойти это ограничение... (где-то выставляется флаг об использовании бита) =============================== Procedure TextBackground(Color : Byte); Замечания: Color - целочисленное выражение в диапазоне 0 .. 7, соответствющее одной из первых восьми констант цвета в текстовом режиме. В модуле Crt существует переменная типа байт - TextAttr, которая используется для хранения текущего видеоатрибута. TextBackground устанавливает биты 4-6 переменной TextAttr в Color. ======================================= Procedure TextColor(Color : Byte); Замечания: Параметр Color - целочисленное выражение в диапазоне 0 .. 15, соответствующий одной из констант цвета текстового режима, определенных в модуле Crt. В модуле Crt существует переменная типа байт - TextAttr, которая используется для хранения текущего видеоатрибута. TextColor устанавливает биты 0-3 переменной TextAttr в Color. Если Color больше 15, то бит 7 (бит, определяюший мигание) тоже поднимается. Сообщение отредактировано: APAL - -------------------- |
inet007 |
![]()
Сообщение
#7
|
![]() Группа: Пользователи Сообщений: 4 Репутация: ![]() ![]() ![]() |
Я так и думал, что последует ответ: TextBackground. Однако не всё так просто.
Я имел ввиду не цвет ФОНА текста, а цвет ЭКРАНА, на который выводится текст любого цвета. То есть к примеру также, как в графическом режиме процедура setbkcolor. |
neex |
![]()
Сообщение
#8
|
Группа: Пользователи Сообщений: 5 Репутация: ![]() ![]() ![]() |
Если человек знает что такое uses crt то думаю он знает что такое и textbackground(15);
А цвет можно поменять просто заменив цвет каждого символа :-) var где 128 код цвета символа, в нем содержится информация про цвет фона и цвет символа. 128 - черный текст на белом фоне |
neex |
![]()
Сообщение
#9
|
Группа: Пользователи Сообщений: 5 Репутация: ![]() ![]() ![]() |
И почему форум отступы хавает?
|
inet007 |
![]()
Сообщение
#10
|
![]() Группа: Пользователи Сообщений: 4 Репутация: ![]() ![]() ![]() |
Молодец neex!. Именно это я и имел в виду. Однако у твоего способа есть один недостаток: он работает только в оконном режиме! В полном экране цвет по прежнему чёрный. Что посоветуешь?? ;)
|
APAL |
![]()
Сообщение
#11
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Цитата(inet007 @ 3.03.04 6:43) ... один недостаток: он работает только в оконном режиме! В полном экране цвет по прежнему чёрный. Что посоветуешь?? ;) Разве только в оконном? ЗЫ: Я к видео-памяти обращался через mem[...] Сообщение отредактировано: APAL - -------------------- |
neex |
![]()
Сообщение
#12
|
Группа: Пользователи Сообщений: 5 Репутация: ![]() ![]() ![]() |
Цитата(inet007 @ 3.03.04 9:43) Однако у твоего способа есть один недостаток: он работает только в оконном режиме! Странный глюк, если оно и должно работать то в полноэкранном режиме. У меня работает и в оконном и в неоконном. Скорее всего у тебя винда или паскаль не такие как у меня. Просто паскаль написан под МС ДОС, а винда запускает эмулятор ДОСа и в нем запускает Паскаль. И этот эмулятор может неправильно моделировать видеопамять, через которую и меняется цвет экрана. Можна покопатся в настройках эмулятора, но вряд ли это поможет. Также можна попробовать другой паскаль. А также можно сменить ВИНДУ ;-) В чистом досе все будет работать нормально. У меня стоит Borland Pascal 7.0 и Windows XP Pro. Сообщение отредактировано: neex - |
GLuk |
![]()
Сообщение
#13
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: ![]() ![]() ![]() |
Изменяй не память, а палитру:
Порт 3D8h - номер регистра, 3D9h - данные (в формате R-G-B). Затем номер автоматом увеличивается. Не канает через порты - меняй через ф-ии BIOS, по-моему int 10,10.. Сообщение отредактировано: GLuk - |
trminator |
![]()
Сообщение
#14
|
Четыре квадратика ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 579 Пол: Мужской Репутация: ![]() ![]() ![]() |
Чтобы залить весь экран цветом, после TextBackground мдет ClrScr... или я не в ту степь иду?
-------------------- Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала |
Atos |
![]()
Сообщение
#15
|
![]() Прогрессор ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Цитата Скорее всего у тебя винда или паскаль не такие как у меня. Действительно, например при WindowsNT нет никакой гарантии, что DOSявые приложения и, в частности, BP7 не будут глючить. Кстати, там и могут возниать проблемы с отображением в полноэкранном режиме. Virtual Pascal вроде не глючит. |
![]() ![]() |
![]() |
Текстовая версия | 25.09.2023 5:56 |