Помощь - Поиск - Пользователи - Календарь
Полная версия: Правая нижняя позиция экрана
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
comanche
Привет. Насколько я понимаю, если поставить какой-либо символ в правую нижнюю позицию экрана, то экран спускается на одну строку вниз, тобишь добавляет чистую строку. Как сделать чтобы этого не происходило?
volvo
Попробовать записывать символ напрямую в видеопамять...
comanche
DirectVideo? Та же лажа wacko.gif
volvo
Каким компилятором пользуешься?
comanche
TMT, Turbo. Проверил на обоих.
Directvideo := False и пишу символ. Нифига norespect.gif
volvo
Я не об этом... вот тебе код для Turbo:
var
Vmem: array[1 .. 50 * 80] of record
ch: char; attr: byte;
end absolute $b800:$0000;

procedure putchar(x, y: byte; ch: char);
begin
Vmem[80*pred(y) + x].ch := ch;
end;

begin
putchar(80, 25, 'A');
end.
В TMT естественно не сработает, но под 16 бит все ОК...
comanche
В TMT тоже работает. А как цвет поменять у символа?
Altair
Цитата(Питер Абель @ Ассемблер)
в видео буфере (4 КБ) первые 2 КБ хранят символы, а вторые 2 КБ - атрибуты
Работай с ними.
comanche
Огромное спасибо, мужики! yes2.gif
comanche
Не получается поменять цвет. Скажите, как поменять на белый.
volvo
procedure putchar(x, y: byte; ch: char; attr: byte);
begin
Vmem[80*pred(y) + x].ch := ch;
Vmem[80*pred(y) + x].attr := attr;
end;

begin
putchar(80, 25, 'A', White + 16*Black); { Белый на черном фоне }
end.
comanche
Спасибо! Будем учиться вместе good.gif drinks.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.