[Back to SCREEN SWAG index] [Back to Main SWAG index] [Original]
{
From: GREG ESTABROOKS
I was wondering if anybody knew how to capture a character in Turbo
Pascal 6.0 at any x,y location like QuickBasic's SCREEN(x,y).
}
FUNCTION GetChar( X,Y :WORD; VAR Attrib:BYTE ) :CHAR;
VAR
Ofs :WORD;
BEGIN
{ NOTE: Change the Segment from $B800 }
{ to $B000 for MonoChrome. }
Ofs := ((Y-1) * 160) + ((X SHL 1) - 1);
Attrib := MEM[$B800:Ofs];
GetChar := CHR( MEM[$B800:Ofs-1] );
END;
{
From: LOU DUCHEZ
------------------------------------------------------------------------------}
function getvideodata(x, y: byte): char;
{ "Reads" a character off the video screen. }
type videolocation = record { video memory locations }
videodata: char; { character displayed }
videoattribute: byte; { attributes }
end;
var vidptr: ^videolocation;
monosystem: boolean;
videosegment: word;
scrncols: byte absolute $0040:$004a;
videomode: byte absolute $0040:$0049;
begin
monosystem := (videomode = 7);
if monosystem then videosegment := $b000 else videosegment := $b800;
vidptr := ptr(videosegment, 2*(scrncols*(y - 1) + (x - 1)));
getvideodata := vidptr^.videodata;
end;
[Back to SCREEN SWAG index] [Back to Main SWAG index] [Original]