Textausgabe aber farbig ?
-
Hallo
Das mag ja sein dass das nicht **standard ist, aber die meisten Unices habe den Ansi-treiber aktiviert. Man kann in solch einem Fall wohl von Quasi-Standard sprechen.
Hier ist uebrigens die kleine Headerdatei.
Auch wenn sie nicht Standard ist, ist sie manchmal nuetzlich.
#ifndef smdANSI_H #define smdANSI_H /*-------------Farbe Vordergrund-------------------------------*/ #define BLACK printf("\033[30m"); #define RED printf("\033[31m"); #define GREEN printf("\033[32m"); #define YELLOW printf("\033[33m"); #define BLUE printf("\033[34m"); #define MAGENTA printf("\033[35m"); #define CYAN printf("\033[36m"); #define WHITE printf("\033[37m"); /*------------------------Farbe Hintergrund----------------------*/ #define HBLACK printf("\033[40m"); #define HRED printf("\033[41m"); #define HGREEN printf("\033[42m"); #define HYELLOW printf("\033[43m"); #define HBLUE printf("\033[44m"); #define HMAGENTA printf("\033[45m"); #define HCYAN printf("\033[46m"); #define HWHITE printf("\033[47m"); /*----------------- EFFECTE setzen-----------------------------*/ #define SETEFFECT(a,b,c) printf("\033[%d;%d;%dm",(a),(b),(c)); /* Bsp: SETEFFECT(5,32,45) Kombination aus BLINK GREEN und HMAGENTA */ /*----------------Sonstiges Schrift--------------------------------*/ #define BRIGHT printf("\033[1m"); #define DARK printf("\033[2m"); /* abgedunkelte Schrift */ #define ITALIC printf("\033[3m"); #define UNDERLINE printf("\033[4m"); /* Unterstrichen */ #define BLINK printf("\033[5m"); /*Blinken ein */ #define QBLINK printf("\033[6m"); /* schnelles Blinken ein */ #define REVERSE printf("\033[7m"); /* reverse video */ #define NOECHO printf("\033[8m"); #define NORMAL printf("\033[0m"); /* Alles wieder normal */ /* ----------------Curser und CO--------------------------------*/ #define CLSCR printf("\033[2J"); #define CLREOL printf("\033[K"); /* Loescht bis Zeilenende */ #define SAVECURPOS printf("\033[s"); /*speicher actuelle Position */ #define SETSAVEDPOS printf("\033[u"); /* geht zur gespeicherten Position */ #define SCURUP printf("\033[A"); /* Eine Zeile hoch */ #define SCURDOWN printf("\033[B"); /* eine Zeile runter */ #define SCURRIGHT printf("\033[C"); /* eine Zeile nach rechts */ #define SCURLEFT printf("\033[D"); /* eine Spalte nach links */ #define CURUP(x) printf("\033[%dA",(x)); /* Gehe x Zeilen nach oben */ #define CURDOWN(x) printf("\033[%dB",(x)); /*gehe x Zeile nach unten */ #define CURRIGHT(x) printf("\033[%dC",(x)); /* gehe x Spalten nach rechts */ #define CURLEFT(x) printf("\033[%dD",(x)); /* gehe x Spalten nach links #define GOTO(x,y) printf("\033[%d;%dH",(y),(x)); /* Gehe zur Position x,y */ #define CURGOHOME(x) printf("\033[%df",(x)); /* Geh nach Zeile x und setze Curser auf Anfang */ #define CURDOWNHOME(x) printf("\033[%dE",(x)); /*Gehe x Zeilen nach unten und setzte Curser an den Anfang */ #define CURUPHOME(x) printf("\033[%dF",(x)); /* Gehe x Zeilen nach oben und setze Curser an den Anfang */ /*------------ Ende Ansi.h-------------------------------------*/ #endif
Gruß Prolog
Automatische Rechtschreibkorrektur wurde aktiv.
**
-
Brauchbar, aber eben nicht Standard ;).
MfG SideWinder
-
Hi
Okey Dokey kein **Standard
Gruß Prolog
Automatische Rechtschreibkorrektur wurde aktiv.
**
-
@SideWinder
[Korintenkackmodus]
Doch, es ist Standard, sogar ein ANSI Standard, nur nicht ANSI-C!
(Den ANSI-C Standard gibt es natürlich auch nicht, sondern mehrere.)
[/Korintenkackmodus]
-
@Geo: Mir fehlen die Worte, wie konnte ich nur so falschliegen :p;).
MfG SideWinder
-
Original erstellt von Geo:
@SideWinder
(Den ANSI-C Standard gibt es natürlich auch nicht, sondern mehrere.)
[/Korintenkackmodus]mhm... ich kenne nur einen ANSI-C Standard... denn ich glaube, dass der 2. C Standard bereits ein ISO Standard war...
-
Also auf jeden Fall mal Danke an alle die sich mit meinem Problem befsst haben , ich probiers mal mit den ESC-Sequenzen
-
mhmm , ich gehe mal davon aus das cprinf auch nicht standard ist wa?
denke mal das ist so doskram aber vielleicht geht das ja auch unter linux
-
Hab zu dem Thema auch nen Problem
bei C++ Builder führt er nicht die sequenzen aus, sondern zeigt sie auf dem Bildschirm an
Wie kann man das denn verändern?
-
Original erstellt von Zecke:
**Hab zu dem Thema auch nen Problembei C++ Builder führt er nicht die sequenzen aus, sondern zeigt sie auf dem Bildschirm an
Wie kann man das denn verändern?**
Dann lies den Thread nochmal und hoer auf SideWinder -> improved console
und siehe die Konsolen FAQ
-
ups danke für den Hinweis
hat sich also bei 2k schon erledigt naja