Как убрать мерцание и вместо него сделать 16 фоновых цветов?
Главная / FAQ / Работа с экраном в текстовом режиме
Uses CRT;
procedure SetBlink( BlinkOn : boolean ); assembler;
asm
mov BL, BlinkOn
mov AX, 1003h
int 10h
end;
{ ------------- TEST for SetBlink -----------------------------}
begin
ClrScr;
Writeln(' 16 BackGround Colors in Text Mode without Blinking');
Writeln('-------------------');
SetBlink(False);
TextAttr:=White;
Write ('White on Black ');
TextAttr:=White+Blink;
Writeln('White on DarkGray ');
TextAttr:=White+Blue*16;
Write ('White on Blue ');
TextAttr:=White+Blue*16+Blink;
Writeln('White on LightBlue ');
TextAttr:=White+Green*16;
Write ('White on Green ');
TextAttr:=Black+Green*16+Blink;
Writeln('Black on LightGreen ');
TextAttr:=White+Cyan*16;
Write ('White on Cyan ');
TextAttr:=Black+Cyan*16+Blink;
Writeln('Black on LightCyan ');
TextAttr:=White+Red*16;
Write ('White on Red ');
TextAttr:=Black+Red*16+Blink;
Writeln('Black on LightRed ');
TextAttr:=White+Magenta*16;
Write ('White on Magenta ');
TextAttr:=Black+Magenta*16+Blink;
Writeln('Black on LightMagenta');
TextAttr:=White+Brown*16;
Write ('White on Brown ');
TextAttr:=Black+Brown*16+Blink;
Writeln('Black on Yellow ');
TextAttr:=White+LightGray*16;
Write ('White on LightGray ');
TextAttr:=Black+LightGray*16+Blink;
Writeln('Black on White ');
TextAttr:=LightGray;
Writeln('-------------------');
Writeln('Press any key for exit...');
ReadKey;
SetBlink(True);
Writeln;
end.