Frage zu Improved Console
-
Warum funktioniert das den bei mir nicht? Wie funktioniert den die Funktion clearColor(..) genau? Die löscht doch den Bildschirm und macht den Hintergrund dann entweder schwarz oder weiß?
#include <iostream> #include "ic.hpp" using namespace ic; using namespace ic::shorties; using namespace std; int main () { clearColor(FG_WHITE); cin.get(); return 0; }
ERROR:
-------------- Build: Debug in bunt ---------------
Compiling: main.cpp
main.cpp: In functionint main()': main.cpp:10: error:
clearColor' undeclared (first use this function)
main.cpp:10: error: (Each undeclared identifier is reported only once for each function it appears in.)
Process terminated with status 1 (0 minutes, 0 seconds)
2 errors, 0 warningsDankeschön schon mal im Voraus.
-
Hallo Stromberg,
ich persönlich kenne die Funktion clearColor nicht. Den Compiler-Ausgaben zufolge ist diese Funktion nicht deklariert. Du musst also die Header-Datei einbinden in der clearColor implementiert ist.
Eine alternative um den gewünschten Effekt zu erreichen wäre folgende.
<stdlib.h> // für system <stdio.h> // für puts, getchar int main() { puts("Hallo!") ; getchar() ; // auf Eingabe warten system("cls") ; // Löschen des Bildschirminhalts system("color 0F") ; // schwarzer Hintergrund, weißer Vordergrund puts("Hallo!") ; getchar() ; return 0 ; }
Du musst einen hexadezimalen Wert an color übergeben. Der erste Wert steht für den Hintergrund und der zweite für den Vordergrund (Schrift). Hier alle möglichen Werte.
erster Wert
-----------
0 = Schwarz
1 = Dunkelblau
2 = Dunkelgrün
3 = Blaugrün
4 = Dunkelrot
5 = Lila
6 = Ocker
7 = Hellgrau
8 = Dunkelgrau
9 = Blauzweiter Wert
------------
A = Grün
B = Zyan
C = Rot
D = Magenta
E = Gelb
F = WeißFür mehr Informationen gebe unter Start\Ausführen cmd ein. In dem sich öffnenden Fenster gebe nun "color /?" (ohne Anführungszeichen) ein.
-
Hab mein Problem gelöst. Das "clearColor" stand ganz frei ohne Objekt rum, man muss es aber mit dem schon vordefiniertem Objekt "con" aufrufen. Also muss es heißen "con.clearColor(FG_WHITE)".
@WilMen Aber trotzdem danke für deine Hilfe. Obwohl ich glaub das es nicht so gut ist system("...") zu verwenden.
-
Jap, Stromberg hat in allen Punkten recht
BTW: Wenn du schon "using namespace ic::shorties" hast kannst du ja auch das Shorty für con.clearColor verwenden:
clrcol(FG_WHITE | BG_RED);
MfG SideWinder