if EMSErrorFlag then

Halt; {Была ошибка} x := WhereX; {Запоминаем положение курсора} WriteLn('Нажмите любую клавишу...') ;

if ReadKey=#O then k := ord(ReadKey);

{Создаем окно в центре экрана и заполняем его случайным цветом} CIrScr;

SetWindow(10,7,70,18,2,' Нажмите любую клавишу...', False/True,False);

while not KeyPressed do begin

GotoXY(Random(59)+2,Random(10)+2) ;

TextBackground(Random(8));

Write (' ') end;

if ReadKey=#0 then k :== ord(ReadKey);

Scr.GetScreen; {Восстанавливаем экран} Window(l,l,80,25) ;

TextBackground(Black) ;

GotoXY(x,25) ;

Scr.Done;

{Проверяем графический режим} WriteLn(#13#10'Для перехода в графический '+

"режим нажмите любую клавишу...');

if ReadKey=#0 then k := ord(ReadKey) ;

d := detect;

InitGraph(d,r,'') ;

e := GraphResult;

if e о 0 then

begin {Ошибка инициации графики} WriteLn(GraphErrorMsg(e)) ;

Halt end;

{Инициируем Scr заново - новый режим экрана!} Scr.Init;

Line(0,0,GetMaxX,GetMaxY); {Диагональные линии} Line(O,GetMaxY,GetMaxX,O) ;

Scr.PutScreen; {Сохраняем изображение}. while not (KeyPressed or EMSErrorFlag) do begin

ClearDevice; {Очищаем экран} Scr.GetScreen; {Восстанавливаем

изображение} end;

Scr.Done;

CloseGraph;

end.