Problem mit Header-Datei....Bitte um Hilfe!
-
Hi,
habe mir heute diese HeaderDatei runtergeladen, mit der man in der Konsole Buttons und Fenster erstellen kann. Borland c++ 5 zeigt mir aber folgende Fehler:
[C++ Warnung] Cosole.h(68): W8004 'pl' wurde ein Wert zugewiesen, der nie verwendet wird.
[C++ Fehler] KONSOLEKLASSEN.H(893): E2321 Deklaration deklariert weder ein Tag noch einen Bezeichner.
[C++ Warnung] KONSOLEKLASSEN.H(1008): W8004 'MenuAuswahl' wurde ein Wert zugewiesen, der nie verwendet wird.
[C++ Warnung] Cosole.h(34): W8058 Präcompilierter Header: Initialisierte Daten im Header kann nicht erzeugt werden.Hier die Header-Datei:
#include <windows.h> #include <stdio.h> #define blau BACKGROUND_BLUE #define grn BACKGROUND_GREEN #define grau BACKGROUND_INTENSITY #define rot BACKGROUND_RED #define weiss BACKGROUND_RED|BACKGROUND_GREEN|BACKGROUND_BLUE|BACKGROUND_INTENSITY #define cyan BACKGROUND_BLUE|BACKGROUND_GREEN|BACKGROUND_INTENSITY #define gelb BACKGROUND_RED|BACKGROUND_GREEN|BACKGROUND_INTENSITY #define schwarz 0 #define fschwarz 0 #define frot FOREGROUND_RED #define fweiss FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_GREEN|FOREGROUND_INTENSITY #define fgelb FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_INTENSITY #define fcyan FOREGROUND_BLUE|FOREGROUND_GREEN|FOREGROUND_INTENSITY #define fblau FOREGROUND_BLUE #define fgrn FOREGROUND_GREEN #define cls system("cls") struct back //definiert den Bildschirmhintergrund { unsigned char symbol; unsigned short farbe; }; struct coords //definiert die Kordinaten und parameter von rahmen { int positionx; int positiony; int width; int height; unsigned short farbe; unsigned short schrift; }; HANDLE Hund = GetStdHandle(STD_OUTPUT_HANDLE); void Rahmen(struct *coords,char *text,char title); void farbe(WORD); void pos(int,int); void Color(); struct coords OLD_Coords; void Rahmen(struct coords *Coords) { int pl=0; OLD_Coords=*Coords; pos(Coords->positionx,Coords->positiony); farbe(Coords->farbe); for(int a=0;a<=Coords->height;a++)//Mittelteil { pos(Coords->positionx,++Coords->positiony); for(int c=0;c<=Coords->width+1;c++) printf(" "); } *Coords=OLD_Coords; farbe(0); for(int z=1;z<=Coords->height+1;z++) { pos(Coords->positionx+Coords->width,Coords->positiony+z); printf(" "); } for(int y=1;y<=Coords->width;y++) { pos(Coords->positionx+y,Coords->positiony+Coords->height+2); printf(" "); } *Coords=OLD_Coords; } void Rahmen(struct coords *position,char *text,char title) { int pl=0; OLD_Coords=*position; pos(position->positionx,position->positiony); farbe(position->farbe); printf("%c",201); //Links oben for(int i=0;i<position->width-2;i++)//oberer Rand printf("%c",205); printf("%c\n",187);//rects oben for(int a=0;a<position->height;a++)//Mittelteil { pos(position->positionx,++position->positiony); printf("%c",186); for(int c=0;c<position->width-2;c++) printf(" "); printf("%c\n",186); } pos(position->positionx,++position->positiony); printf("%c",200); for(int p=0;p<position->width-2;p++)//unterteil printf("%c",205); printf("%c",188); farbe(position->schrift); if(text!=NULL) { if(title)//Button { farbe(position->farbe|position->schrift); pos((position->positionx)+pl+(position->width/4) ,(position->positiony)-position->height/4-1); printf("%s",text); } else//Fenster { farbe(position->farbe|position->schrift); pos((position->positionx)+(position->width)/4+pl,position->positiony-position->height-1); printf("%s",text); pl++; } } *position=OLD_Coords; farbe(0); for(int z=1;z<=position->height+1;z++) { pos(position->positionx+position->width,position->positiony+z); printf(" "); } for(int y=1;y<=position->width;y++) { pos(position->positionx+y,position->positiony+position->height+2); printf(" "); } *position=OLD_Coords; } void pos(int xpos,int ypos) //setzte cursor an beliebige position { COORD coords; if (Hund == INVALID_HANDLE_VALUE) return; coords.X = xpos; coords.Y = ypos; SetConsoleCursorPosition(Hund, coords); } void farbe(WORD farbe) //setzt farbe des cursors { if (Hund == INVALID_HANDLE_VALUE) return; SetConsoleTextAttribute(Hund, farbe); } void del_rahmen(struct coords kords, struct back hintgrd)//entfernt rahmen { int i=0; farbe(hintgrd.farbe); pos(kords.positionx,kords.positiony); do { for(int j=0;j<=kords.width+1;j++) { printf("%c",hintgrd.symbol); } pos(kords.positionx,++kords.positiony); i++; }while(i<=kords.height+2); } void background(struct back hintgrd) //malt hintergrund { pos(0,0); farbe(hintgrd.farbe); for(int i=0;i<=80*50;i++) printf("%c",hintgrd.symbol); } void button(struct coords Position,char *title) { int pl=0; struct coords old_Coords=Position; struct coords *position=&Position; pos(position->positionx,position->positiony); farbe(position->farbe); printf("%c",218); //Links oben for(int i=0;i<position->width-2;i++)//oberer Rand printf("%c",196); printf("%c\n",191);//rects oben for(int a=0;a<position->height;a++)//Mittelteil { pos(position->positionx,++position->positiony); printf("%c",179); for(int c=0;c<position->width-2;c++) printf(" "); printf("%c\n",179); } pos(position->positionx,++position->positiony); printf("%c",192); for(int p=0;p<position->width-2;p++)//unterteil printf("%c",196); printf("%c",217); farbe(position->schrift|position->farbe); if(title)//Button { pos((position->positionx)+pl+(position->width/4) ,(position->positiony)-position->height/4-1); printf("%s",title); } *position=old_Coords; farbe(0); for(int z=1;z<=position->height+1;z++) { pos(position->positionx+position->width,position->positiony+z); printf(" "); } for(int y=1;y<=position->width;y++) { pos(position->positionx+y,position->positiony+position->height+2); printf(" "); } *position=old_Coords; } void CursorStatus(struct _CONSOLE_CURSOR_INFO *Cursor) { SetConsoleCursorInfo(Hund,Cursor); } void Color(WORD color) { farbe(color); }
kann mir jemand helfen??????? Wie kann ich die Fehler beheben?????
Ich danke im Vorraus!
-
C++ Warnung] Cosole.h(68): W8004 'pl' wurde ein Wert zugewiesen, der nie verwendet wird.
Da stimmt irgendwas nicht. In jeder Funktion wird pl neu initialisiert mit "int pl=0", aber nur in 1 oder 2 Funktionen benutzt. Mehr sagt der Fehler auch nicht aus. Schau Dir mal die erste function Rahmen an. Da wird mit pl nie was gemacht.
Ich würde pl mal global machen und dann das "int" in den Funktionen rausschmeissen. Also unter dem letzten #define beispielsweise "int pl;
und in den Funktionen dann nur noch "pl=0;"[C++ Fehler] KONSOLEKLASSEN.H(893): E2321 Deklaration deklariert weder ein Tag noch einen Bezeichner.
Kann ich so nicht sagen. Kannst du mal die Zeile makieren oder nochmal posten auf die er sich hier bezieht?
[C++ Warnung] KONSOLEKLASSEN.H(1008): W8004 'MenuAuswahl' wurde ein Wert zugewiesen, der nie verwendet wird.
Das gleiche wie mit pl nur das das eine Deiner Variablen aus der main ist schätze ich mal. Schau mal ob Du "MenuAuswahl" überhaupt benutzt da wo du sie definierst.
Wenn Du sie nicht brauchst schmeiss Sie raus. Wenn Du Dir nicht sicher bist poste dein Hauptprogramm (alles, nicht nur main) bitte mal.[C++ Warnung] Cosole.h(34): W8058 Präcompilierter Header: Initialisierte Daten im Header kann nicht erzeugt werden.
Heisst die Header Datei dazu wirklich Cosole.h? evtl. Console.h?
Ansonsten kann ich damit auch nix anfangen
-
void Rahmen(struct *coords,char *text,char title);
==> [C++ Fehler] Cosole.h(35): E2275 { erwartet
[C++ Fehler] Cosole.h(35): E2293 ) erwartetstruct _Menu
==> [C++ Fehler] KONSOLEKLASSEN.H(893): E2321 Deklaration deklariert weder
einen Tag noch einen Bezeichner.HANDLE Hund = GetStdHandle(STD_OUTPUT_HANDLE);
==> [C++ Warnung] Cosole.h(34): W8058 Präcompilierter Header:
Dateien Initialisierteaten im Header kann nicht
erzeugt werden.Mit dem
int pl=0
zeigt er jetzt keinen Fehler mehr an!
-
Diese "Headerdatei" hat mich neugierig gemacht. Wo hast du die her? gibt es eine Doku oder sowas darüber?