Durch Zuweisung Farbe für Variable festlegen



  • hi,

    ich will in einer Konsolenanwendung von einem leeren Feld den Hintergrund färben. Zbsp. in Grün.
    Aber wie stelle ich das an?

    char cl_farbe = ' '; 
    char az = 'A';
    cout << az << cl_farbe << az; //Ausgabe A A
    
    cl_farbe = ColorFunc(BACKGROUND_GREEN); // Farbe hinzufügen
    
    cout << az << cl_farbe << az; // Ausgabe: A[]A ... wobei "[]" der grüne Hintergrund sein sollte
    

    Ich hab mal vom Conio Header die funktion attribute benutzt.

    void attribute( unsigned short attr ) 
    { 
       HANDLE hCon = GetStdHandle( STD_OUTPUT_HANDLE ); 
       if ( ! SetConsoleTextAttribute( hCon, attr ) ) 
       { 
             // Platz für individuelle Fehlerbehandlung 
       } 
    }
    

    So funktioniert es auf jeden Fall:

    char cl_farbe = ' '; 
    char az = 'A';
    cout << az << cl_farbe << az; //Ausgabe A A
    attribute(BACKGROUND_GREEN);
    cout << az << cl_farbe << az; //Ausgabe A A
    

    aber

    1. ist die ganze Ausgabe(die untere) Grün
    2. wollte ich es bei einer Zuweisung direkt färben, sodass wenn man es ausgibt, dass es immer Grün ist 🙂

    Ich weiß nicht wie es geht, deswegen frag ich ja auch mal 😃
    Danke schon im Voraus.

    cu



  • hi

    vielleicht sollte ich es verständlicher erklären 😃

    char cl_farbe = ' '; 
    char az = 'A'; 
    cout << az << cl_farbe << az;
    attribute(BACKGROUND_GREEN); 
    cout << az << cl_farbe << az;
    

    Die erste Ausgabe ist ganz normal ohne Farbe.
    Die zweite jedoch mit.
    Aber ich würde es gerne so machen,dass nur cl_farbe den BACKGROUND "GREEN" bekommt.

    char cl_farbe; 
    attribute(BACKGROUND_GREEN);
    cl_farbe = ' ';
    attribute(....); // Farbe wieder normal machen
    cout << "Hallo Welt!" << endl;
    //..
    

    ⚠ Wichtig ⚠
    ➡ Es soll nur der Hintergrund von dem einem "Zeichen", also cl_farbe Grün sein und nicht das Zeichen selber(da es nur leer ist). FOREGROUND_GREEN bringt ja auch nichts.

    ➡ Es soll nicht so sein

    char cl_farbe = ' '; 
    attribute(BACKGROUND_GREEN);
    cout << cl_farbe << endl;
    attribute(....); // Farbe wieder normal machen
    cout << "Hallo Welt!" << endl;
    

    cu



  • 84u dir 3in3n 7yp, d32 F428inf02m4ti0n3n b3in#4l737 und u3b32l4d3 d3n 4usg4830p324702 d3m3n7spr3c#3nd.

    mfg, knockks



  • knockks schrieb:

    84u dir 3in3n 7yp, d32 F428inf02m4ti0n3n b3in#4l737 und u3b32l4d3 d3n 4usg4830p324702 d3m3n7spr3c#3nd.

    Kannst du mir auch eventuell bitte ein Beispiel zeigen, den Ausgabepuffer zu überladen? ich bin neu in C++ und würde es gerne erfahren 😉

    cu

    P.s: so müss ma sich immer im forum unterhalten xD Neuer dialekt! ^^



  • man helft mir bitte, ist wichtig



  • push



  • man helft mir


Anmelden zum Antworten