• 11 odgovora
  • 5.481 pregleda
pozadinska boja u c (++) 22.05.2006. u 23:22 · pre 248 meseci #1
kako da promjenim onu crnu boju pozadine i boju fonta,
imao sam par redaka koda ali sam ih negdje zametnuo...
Re: pozadinska boja u c (++) 01.06.2006. u 12:00 · pre 248 meseci #3
To se resava koriscenjem escape sekvenci i takvo resenje je portabilno.
Probaj ovako nesto:

Code:
printf("\033[31m\nSto ja volim crvenu boju\033[0m");


Istu stvar mozes da koristis i za pomeranje kursora po ekranu, opet portabilno!
Re: pozadinska boja u c (++) 02.06.2006. u 06:29 · pre 248 meseci #5
Meni to sasvim lepo radi na vise platformi za logovanje grešaka. Sto se Windows-a tiče, ne znam zbog čega to ne radi, nisam probao.

[Ovu poruku je menjao Gojko Vujovic dana 03.06.2006. u 13:11 GMT+1]
Re: pozadinska boja u c (++) 02.06.2006. u 21:12 · pre 248 meseci #6
ako si pocetnik (pogadjam po temi, kde si to pitao).. i ne pravis za sad nista ozbiljnije, za sta bi trebalo puno prepravki.. probaj sa ncurses
imas attron(NESTO);

prcitaj malo:
http://www.tldp.org/HOWTO/NCUR...gramming-HOWTO/helloworld.html
Potpis
Bolje ispasti glup nego iz aviona
http://www.mulaz.org/
Re: pozadinska boja u c (++) 06.10.2006. u 22:21 · pre 244 meseci #7
Dakle, evo koda:

Code:

// console.h
//
#if !defined CONSOLE_H
#define CONSOLE_H

#include <iostream>
#include <iomanip>
#include <cmath>
#include <cstdlib>
#include <windows.h>

void clrscr();
void gotoxy(int, int);
void setrgb(int);

#endif



Code:

// console.cpp
//
#include "console.h"

using namespace std;

//
// Clears the screen
//
void clrscr()
{
    COORD coordScreen = { 0, 0 }; 
    DWORD cCharsWritten; 
    CONSOLE_SCREEN_BUFFER_INFO csbi; 
    DWORD dwConSize; 
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); 
  
    GetConsoleScreenBufferInfo(hConsole, &csbi); 
    dwConSize = csbi.dwSize.X * csbi.dwSize.Y; 
    FillConsoleOutputCharacter(hConsole, TEXT(' '), dwConSize, coordScreen, &cCharsWritten); 
    GetConsoleScreenBufferInfo(hConsole, &csbi); 
    FillConsoleOutputAttribute(hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten); 
    SetConsoleCursorPosition(hConsole, coordScreen); 
}

//
// Moves the cursor to x, y in console window
// ie x=left\right y=top\bottom
//
void gotoxy(int x, int y)
{
    COORD point;
    point.X = x; point.Y = y;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), point);
}

//
// Set text and background colors
//
void setrgb(int color)
{
    switch (color)
    {
    case 0:    // White on Black
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
            FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
        break;
    case 1:    // Red on Black
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
            FOREGROUND_RED);
        break;
    case 2:    // Green on Black
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
            FOREGROUND_GREEN);
        break;
    case 3:    // Yellow on Black
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
            FOREGROUND_RED | FOREGROUND_GREEN);
        break;
    case 4:    // Blue on Black
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
            FOREGROUND_BLUE);
        break;
    case 5:    // Magenta on Black
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
            FOREGROUND_RED | FOREGROUND_BLUE);
        break;
    case 6:    // Cyan on Black
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
            FOREGROUND_GREEN | FOREGROUND_BLUE);
        break;
    case 7:    // Black on Gray
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |
            BACKGROUND_INTENSITY);
        break;
    case 8:    // Black on White
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |
            FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);
        break;
    case 9:    // Red on White
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |
            FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE |
            FOREGROUND_RED);
        break;
    case 10: // Green on White
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |
            FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE |
            FOREGROUND_GREEN);
        break;
    case 11: // Yellow on White
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |
            FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE |
            FOREGROUND_RED | FOREGROUND_GREEN);
        break;
    case 12: // Blue on White
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |
            FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE |
            FOREGROUND_BLUE);
        break;
    case 13: // Magenta on White
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |
            FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE |
            FOREGROUND_RED | FOREGROUND_BLUE);
        break;
    case 14: // Cyan on White
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |
            FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE |
            FOREGROUND_GREEN | FOREGROUND_BLUE);
        break;
    case 15: // White on White
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |
            FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE |
            FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
        break;
    default : // White on Black
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
            FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
        break;
    }
}



Primjer:

Code:

    clrscr();    // Brise ekran
    gotoxy(5, 5);    // Pomjera kursor na poziciju x=5, y=5
    setrgb(9);    // Odredjuje semu boje teksta i pozadine
    printf("Elitesecurity Forum\n");    // Ispisuje tekst


Nadam se da ce ovo biti od pomoci.
Re: pozadinska boja u c (++) 19.01.2007. u 12:01 · pre 240 meseci #8
system("color backgroundcolor,textcolor');


Ovo su boje:

0 = Black
1 = blue
2 = green
3 = awua
4 = red
5 = purple
6 = yellow
7 = white
8 = gray
9 = light blue
A = light green
B = light aqua
C = light red
D = light purple
E = light tellow
F = bright white

Dakle,ako recimo hocemo blavu pozadinu i zeleni text:

system("color 12");

Primer:

#include <stdio.h>
void main()
{
system("color 12");
printf("\nHello world");
}
Re: pozadinska boja u c (++) 19.01.2007. u 22:11 · pre 240 meseci #9
Citat:
Djoks:
Code:

void setrgb(int color)
{
switch (color)
{
case 0:// White on Black
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
break;
case 1:// Red on Black
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
FOREGROUND_RED);
break;
case 2:// Green on Black
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
FOREGROUND_GREEN);
break;
case 3:// Yellow on Black
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
FOREGROUND_RED | FOREGROUND_GREEN);
break;
case 4:// Blue on Black
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
FOREGROUND_BLUE);
break;
case 5:// Magenta on Black
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
FOREGROUND_RED | FOREGROUND_BLUE);
break;
case 6:// Cyan on Black
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
FOREGROUND_GREEN | FOREGROUND_BLUE);
break;
case 7:// Black on Gray
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |
BACKGROUND_INTENSITY);
break;
case 8:// Black on White
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |
FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);
break;
case 9:// Red on White
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |
FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE |
FOREGROUND_RED);
break;
case 10: // Green on White
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |
FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE |
FOREGROUND_GREEN);
break;
case 11: // Yellow on White
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |
FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE |
FOREGROUND_RED | FOREGROUND_GREEN);
break;
case 12: // Blue on White
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |
FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE |
FOREGROUND_BLUE);
break;
case 13: // Magenta on White
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |
FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE |
FOREGROUND_RED | FOREGROUND_BLUE);
break;
case 14: // Cyan on White
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |
FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE |
FOREGROUND_GREEN | FOREGROUND_BLUE);
break;
case 15: // White on White
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |
FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE |
FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
break;
default : // White on Black
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
break;
}


Samo ukazujem na grozotu koda...
Re: pozadinska boja u c (++) 08.02.2007. u 20:10 · pre 239 meseci #10
Ja sam u "borland c"-u i u "Turbo c 3.0" koristio sledece funkcije:

textbackground("broj"); - menja boju pozadine.
textcolor("broj"); - menja boju teksta.
textattr("broj"); - menja istovremeno i boju pozadine i teksta odgovarajucom kombinacijom.

Samo je bitno da posle ovih funkcija stoji clrscr();
ili ako se ne zeli brisati ceo ekran funkcijom clrscr(); umesto printf();-a koristi se cprintf();
Re: pozadinska boja u c (++) 11.02.2007. u 22:32 · pre 239 meseci #11
DA, NrmMyth onaj kod je zbilja grozota, no naravno postoji x nacina kako iskoristiti taj kod, od includanja preko jednostavnog uzimanja onoga sto ti u datom trenutku treba.
Potpis
~mphreak
Re: pozadinska boja u c (++) 12.02.2007. u 00:10 · pre 239 meseci #12
Grozan je zbog toga sto se toliko toga ponavlja, a sigurno se moze smanjiti broj napisanog.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme