Добавление мерцания к цвету, но оно не мигает

Текст должен мигать красным цветом, но не мигает

#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<dos.h>
void main(void)
{
    int driver=DETECT,mode,mx,my,x1,y1,x2,y2;
    initgraph(&driver,&mode,"C:\\tc\\bgi");
    cleardevice();
    mx=getmaxx();
    my=getmaxy();
settextstyle(0,HORIZ_DIR,6);
setcolor(RED+BLINK);
outtextxy(mx/2,my/2,"FAHAD");
    getch();
    closegraph();





}

person Community    schedule 29.07.2010    source источник
comment
Где ты был? Это 21 век!   -  person Clifford    schedule 30.07.2010


Ответы (2)


Этот код предназначен для 16-разрядной MS-DOS, виртуализация Win32 DOS-box не поддерживает атрибут мигания. Я считаю, что он поддерживался в «полноэкранном» режиме, но версии Windows, начиная с XP и 2000, не поддерживают полноэкранную консоль или представление DOS-box.

person Clifford    schedule 29.07.2010
comment
@fahad: Нет, этот древний компилятор давно должен был быть отправлен на пенсию! Существует расширенный клон Borland BGI для Win32 (codecutter.org/tools/winbgim), который позволяют использовать этот интерфейс с современным компилятором и 32-битным кодом. Однако по тем же причинам он не поддерживает и BLINK (он его даже не определяет). Чтобы этот устаревший код заработал, вам нужно установить подлинную MS-DOS или ее клон, или Windows 95/98, или Me, но это кувалда, чтобы расколоть орех и вывести из строя ваш компьютер! - person Clifford; 30.07.2010
comment
Второй и четвертый абзацы здесь: en.wikipedia.org/wiki/Win32_console#Details актуальны. - person Clifford; 30.07.2010

Из вашего вопроса я понятия не имею, какую библиотеку вы используете, но здравый смысл подсказывает мне, что это может помочь:

setcolor(RED | BLINK);  // Use bitwise or instead of + to combine values
person Karel Petranek    schedule 29.07.2010
comment
Как правило, это хороший совет, но в данном случае это взаимоисключающие битовые флаги, поэтому + и | будет генерировать тот же результат. - person Clifford; 30.07.2010