tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
Like Tree2Danke
ERLEDIGT
JA
ANTWORTEN
24
ZUGRIFFE
1042
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Jonas Meyer Jonas Meyer ist offline Mitglied Silber
    Registriert seit
    Jul 2011
    Beiträge
    65
    Hallo,
    ich möchte gerne mehrere Farben in mein Konsole haben.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    #include <iostream>
    #include <windows.h>
     
    int main()
    {
    system("color 02");//Grün auf Schwarzen Hintergrund.
     
      std::cout << "Hallo" << std::endl;
      std::cout << "Ihr" << std::endl;
      std::cout << "Test" << std::endl;
      return 0;
     
    }


    Nun möchte ich gerne das Hallo Rot und Ihr Blau haben und das Test soll Grün und Hallo und Ihr sollen nach einiger Zeit auch Grün werden. Leider hab ich keine Idee wie ich das machen soll...
     

  2. #2
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Hi

    SetConsoleTextAttribute:
    http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

    Der zweite Parameter ist die Farbe, wie vom system-color-Befehl bekannt.

    Der erste Parameter braucht ein Handle auf die Konsole: GetStdHandle:
    http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

    Code:
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    //Einmal am Anfang
    HANDLE han;
    han = GetStdHandle(STD_OUTPUT_HANDLE);
    if(han == INVALID_HANDLE_VALUE)
    {
        //Fehler
    }
     
    //Zum Ändern der Farbe
    SetConsoleTextAttribute(han, 0x02);

    Gruß
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  3. #3
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Es gab schon einige Themen wie deins. Bitte vorm Posten erstmal suchen!

    http://www.tutorials.de/c-c/369485-c...iger-text.html

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  4. #4
    Jonas Meyer Jonas Meyer ist offline Mitglied Silber
    Registriert seit
    Jul 2011
    Beiträge
    65
    Ok also ich hab das Thema auch gefunden aber es nicht verstanden...
    //Einmal am Anfang
    HANDLE han;
    han = GetStdHandle(STD_OUTPUT_HANDLE);
    if(han == INVALID_HANDLE_VALUE)
    {
    //Fehler
    }

    //Zum Ändern der Farbe
    SetConsoleTextAttribute(han, 0x02);

    Wie mach ich das denn jetzt mit der ausgabe also
    SetConsoleTextAttribute(han, 0x02);
    std::cout << " IHR";
    Oder wie?
     

  5. #5
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Ja genau.
    Das andere Codestück muss nur vorher (ein einziges Mal) gemacht werden,
    sonst funktionierts nicht.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  6. #6
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Zitat Zitat von Jonas Meyer Beitrag anzeigen
    Ok also ich hab das Thema auch gefunden aber es nicht verstanden...
    Warum stellst du dann nicht eine konkrete Frage anstatt nochmal das gleiche Thema zu starten?
    Zitat Zitat von Jonas Meyer Beitrag anzeigen
    Wie mach ich das denn jetzt mit der ausgabe also
    SetConsoleTextAttribute(han, 0x02);
    std::cout << " IHR";
    Oder wie?
    Warum probierst du das nicht einfach mal aus?

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  7. #7
    Jonas Meyer Jonas Meyer ist offline Mitglied Silber
    Registriert seit
    Jul 2011
    Beiträge
    65
    Ok aber wie kann ich das der Text nach einer Zeit wieder Grün wird oder geht das auch schon von alleine?
     

  8. #8
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Nach einer bestimmten Zeit?
    Nicht eher nach einer bestimmten Ausgabe?

    Nein, das geht nicht von allein.
    Woher soll denn der Computer wissen, was du willst

    Wenn du die Farbe wieder ändern willst
    brauchst du einfach ein zweites Mal SetConsoleTextAttribute.

    Sowas Banales kann man aber wirklich einmal selbst ausprobieren.
    Geht viel schneller, als hier auf eine Antwort zu warten.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  9. #9
    Jonas Meyer Jonas Meyer ist offline Mitglied Silber
    Registriert seit
    Jul 2011
    Beiträge
    65
    OK ich bin aber nicht so der Profie und möchte das auch mehr zum Lehrnen machen und ich hab keine Ahnung wie ich zum beispiel 2 Sec. festlege und wie das dann ändern soll wenn es schon auf der Konsole steht
    Geändert von Jonas Meyer (28.10.11 um 12:31 Uhr)
     

  10. #10
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Wenn du im Nachhinein bereits bestehenden Text in der Konsole anders einfärben willst, brauchst du die FillConsoleOutputAttribute Funktion. Und du mußt mit dem Screen buffer der Konsole hantieren, die Koordinaten der Zeichen kennen (mußt du dir vorher merken).

    Wenn das alles erst nach einer bestimmten Zeit passieren soll, müßtest du z.B. einen Timer verwenden. Siehe z.B. http://msdn.microsoft.com/en-us/library/aa926220.aspx

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  11. #11
    Jonas Meyer Jonas Meyer ist offline Mitglied Silber
    Registriert seit
    Jul 2011
    Beiträge
    65
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    #include <iostream>
    #include <windows.h>
    using namespace std;
     
    int main()
    {
        HANDLE han;
        han = GetStdHandle(STD_OUTPUT_HANDLE);
        if(han == INVALID_HANDLE_VALUE)
        {
        //Fehler
        }
        SetConsoleTextAttribute(han, 0x02);
        cout << "Hello world!" << endl;
        SetConsoleTextAttribute(han, 0x03);
        cout << "Hello world!" << endl;
        return 0;
    }




    Hier bekomme ich Endlose Fehler.
    3 Fehler in 7
    3 Fehler in 8
    1 Fehler in 9
    1 Fehler in 13
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken C++  Mehrere Farben in der Konsole-unbenannt.png  
    Geändert von Jonas Meyer (28.10.11 um 12:59 Uhr)
     

  12. #12
    SE Tutorials.de Gastzugang
    1) CODE-TAGS !
    2) Attachment-Funktion !
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken C++  Mehrere Farben in der Konsole-unbenannttft.png  
     

  13. #13
    Jonas Meyer Jonas Meyer ist offline Mitglied Silber
    Registriert seit
    Jul 2011
    Beiträge
    65
    Und wie geht das?
     

  14. #14
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Anhang: Klammersymbol im Editor.
    Codetags: Steht unter jedem meiner Beiträge...

    Code schau ich mir jetzt an...

    edit: Im Anfangspost war windows.h drin.
    Warum jetzt nicht mehr?
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  15. #15
    Jonas Meyer Jonas Meyer ist offline Mitglied Silber
    Registriert seit
    Jul 2011
    Beiträge
    65
    Werd ich wohl vergessen haben...

    Jetzt hab ich bloß keine Ahnung wie das geht das die Texte nach einer Zeit eine andere Farbe annimmt.
    Geändert von sheel (28.10.11 um 13:04 Uhr) Grund: Doppel
     

Ähnliche Themen

  1. Mehrere Pc's an eine Konsole!
    Von margoyle im Forum Virtualisierung (VMWare, Virtual PC & Co.)
    Antworten: 1
    Letzter Beitrag: 10.01.10, 18:43
  2. [bat] Mehrere farben pro zeile?
    Von Nawi0 im Forum Sonstige Sprachen
    Antworten: 2
    Letzter Beitrag: 23.10.09, 23:25
  3. Mehrere Farben sperren ?
    Von C4T im Forum Photoshop
    Antworten: 3
    Letzter Beitrag: 19.07.04, 02:49
  4. [FreeHand] Pfad als Ganzes => mehrere Farben?
    Von Blumenkind im Forum Vektor-Programme
    Antworten: 4
    Letzter Beitrag: 20.03.04, 00:00
  5. Antworten: 3
    Letzter Beitrag: 02.12.03, 18:54

Stichworte