interface
{...}
procedure CreateScreenBuffer;
{создание экранного буфера}
procedure DestroyScreenBuffer;
{уничтожение экранного буфера}
procedure ScreenBufferToScreen;
{отображение буфера на экран}
implementation
var
IsBuffer : boolean; {признак существования буфера}
{...}
procedure CreateScreenBuffer;
begin {создание экранного буфера}
if not IsBuffer then begin
IsBuffer := TRUE;
getmem(scr,64000);
end;
end;
procedure DestroyScreenBuffer;
begin {уничтожение экранного буфера}
if IsBuffer then begin
IsBuffer := FALSE;
freemem(scr,64000);
scr := ptr(SegA000,0);
end;
end;
procedure ScreenBufferToScreen;
begin {отображение буфера на экран}
if IsBuffer then
move(scr^,mem[SegA000:0],64000);
end;
begin
scr := ptr(SegA000,0);
IsBuffer := FALSE;
end.
назад