Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > Символ на заданных координатах


Автор: TDM 1.6.2006, 21:50
Есть ли аналог GetPixel только для текстового режима? 

Автор: Snowy 1.6.2006, 21:59
Есть. И не один.
Зависит от версии паскаля и операционной системы. 

Автор: volvo877 1.6.2006, 22:01
Ты про доступ к видеопамяти?

Что нужно? Получить символ, находящийся в заданной позиции экрана? Или его атрибут? 

Автор: skyboy 1.6.2006, 22:05
конечно есть!
Код

function GetSymbolAt(row,column:byte):char;
type
 TextRecord=record
  symbol:char;
  color   :byte;
 end;
TextArray:array[1..25,1..80] of TextRecord;
var TextArrayPtr:^TextArray;
begin
TextArrayPtr:=Ptr($B800,0);
GetSymbolAt:=(TextArrayPtr^)[row,column].symbol;
end;

Можно вернуть цвет в нужной ячейке, если сделать так:
Код

GetSymbolAt:=(TextArrayPtr^)[row,column].color;
 

Автор: volvo877 1.6.2006, 22:24
skyboy, зачем связываться с указателями, если есть возможность сделать:
Код
function GetSymbolAt(row, column:byte):char;
type
  TextRecord=record
    symbol: char; color: byte;
  end;
var
  TextArray: array[1..25,1..80] of TextRecord absolute $B800:$0;
begin
    GetSymbolAt := TextArray[row, column].symbol;
end;
 

Автор: TDM 2.6.2006, 18:48
Спасибо большое! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)