Textfarbe, Schriftfarbe auf Konsole



  • Na super, so der große Programmer bin ich nun auch noch nicht.
    Blick da nicht durch.Programmier auf WinXp mot Borland 3.
    Gibts es nun nen simplen Code mit printf(irgend-ne-Farbe"hallo welt") oder nicht? Ich muss doch erst mal klein anfangen. 😞



  • Mit Borland 3 hast du vielleicht glück und etwas in diese Richtung funktioniert:

    textcolor(3);
    cprintf("Hallo"\n);
    

    Für die Improved Console musst du kein großer Programmierer sein, den Code musst du nicht verstehen. Kopiere die 3 Dateien in dein Projekt und ein simples:

    #include <stdio.h>
    #include <ic.h>
    
    int main ()
    {
        textcolor(RED);
        printf("Hallo\n");
        return 0;
    }
    

    führt auf allen Windows-Plattformen zum gewünschten Ergebnis 🙂

    MfG SideWinder



  • SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY|BACKGROUND_BLUE | BACKGROUND_GREEN | FOREGROUND_INTENSITY | FOREGROUND_RED);
    

    FOREGROUND steht für die textfarbe und BACKGROUND für den hintergrund.
    mit red,blue und green kannst du dir dann die farben "mischen".
    blau und grün ist z.b. so in etwa cyanblau
    musst dann nur noch

    #include <windows.h>
    

    ganz oben hinschreiben
    so z.b.

    #include <iostream>
    #include <stdlib.h>
    #include <windows.h>
    using namespace std;
    int main()
    {
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY|BACKGROUND_BLUE | BACKGROUND_GREEN | FOREGROUND_INTENSITY | FOREGROUND_RED);
    cout<<"Hallo\n";
    system("pause");
    return 0;
    }
    


  • Damit man das alles nicht wissen muss gibt es die Improved Console und macht das zu einem Einzeiler 🙄

    MfG SideWinder



  • was hat die denn noch so drauf? und läuft das auch mit dev-cpp?



  • Sollte auch mit dev-cpp laufen, habs aber noch nicht probiert (wäre nett wenn du dafür mal Zeit hast).

    Feature-Liste (Alias, wenn früher in der conio.h vorhanden)

    - Bildschirm löschen - alias clrscr()
    - Bildschirm mit Farbe löschen
    - Bildschirm mit Zeichen löschen

    - Konsole verstecken/anzeigen
    - Konsole minimieren/maximieren
    - Konsole in den Fullscreen-Modus umschalten

    - Get/Set Hintergrundfarbe - alias bgcolor()
    - GS Vordergrundfarbe - alias textcolor()
    - GS Cursorgröße (Caretgröße)
    - GS Cursorposition (Caretposition) - alias gotoxy()
    - GS Position am Bildschirm
    - GS Größe
    - G Maximalgröße
    - GS Titel

    - Alle aus den FOREGROUND/BACKGROUND-Konstanten möglichen Farben als Konstanten definiert.

    - Sogenannte Shorties um den Gebrauch noch einfacher zu machen (siehe zB oben, Console ist eigentlcih eine Klasse damit du aber nicht jedesmal con.clearScreen() aufrufen musst kannst du clrscr() dafür verwenden)

    - Schöne Trennung in Namespaces, vorerstellte Instanz "con" der Klasse um Zugriff zu haben

    - Wer von Namespaces/Klassen nichts wissen will inclduiert statt ic.hpp die ic.h und ruft nur noch Shorties auf

    Techdemo findest du hier: http://ic.sidewindershome.net/index.php?page=demos , Downloadmöglichkeiten hier: http://ic.sidewindershome.net/index.php?page=downloads

    Die Einführung wird die Tage verbessert und aktualisiert - wahrscheinlich sogar mit Schritt-Für-Schritt-Anleitung für unsere Beginner hier. Auch fehlt noch eine reine C-Version wie es sie früher gab.

    MfG SideWinder



  • Echt super, hab wirklich nichts gefunden bei googel.Aber hab jetzt alles mal ausprobiert und erfolgreich hinbekommen.Dank euch 👍



  • sidewinder habs getestet. das klappt nicht so ganz mit dev-cpp. eigentlich kein problem zu reparieren glaub ich.
    CONSOLE_FULLSCREEN_HARDWARE ist nicht deklariert.
    bloß was bedeutet "no newline at end of file"? der fehler tritt nämlich in der ic.h und ic.hpp auf.
    sonst dürfte es aber laufen
    is echt mal ne krasse hilfe diese improved console hast gut gemacht 😃 😃



  • new line at the end..
    ist kein fehler, nur eine warnung, und heißt übersetzt:
    mache einen wagenrücklauf, also ein return ans ende hinter die letzte klammer in der datei.

    wo ist das problem?



  • soweit war ich auch schon. kann ja englisch 😉 aber das will der compiler nicht



  • hä?
    mach einfach ein enter nach der letzten Klammer.
    dann ist deine Warnung entschwunden.



  • und nochmal. es geht so nicht. it doesnt work. il ne fonctionne pas.
    capiche? der akzeptiert das nit. der compiler is halt nicht so klug wie du :p



  • jeder compiler akzeptiert ein enter (das ist das einmalige drücken der returntaste) hinter der letzten klammer.

    du kannst sogar mehrfach drücken 😉

    aber: vergiss es einfach. wenns zu schwer ist 🤡



  • Wenn du den Fehler bzgl. CONSOLE_FULLSCREEN_HARDWARE noch nicht wegbekommen hast fehlt dir eine entscheidende Info:

    Die IC ist auf das neueste Platform SDK ausgerichtet, wenn du das nicht hast (weil du es zB nicht bei Microsoft downgeloadet hast) fehlen dir einige Funktionen.

    Es reicht aber ein:

    #define IMPROVED_CONSOLE_WIN9X_COMPATIBLE
    

    um den Fehler zu beheben 🙂

    MfG SideWinder


Anmelden zum Antworten