Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
#ifndef CLog_H #define CLog_H // Standard-Includes #include <iostream> #include <fstream> class CLog { public: CLog(); ~CLog(); //std::string GetLogFileName(); void SetLogFileName(char* LogFileName); char* GetLogFileName(); //HTML Anfangstags Schreiben/schließen: void StartHTML(); void EndHTML(); //Standart Start und End Logs schreiben: void LogStart(); void LogEnd(); //Eintrag ohne <br> in die html datei: void LogEntryWithoutBreak(std::string Entry); //Eintrag mit <br> in die html datei: void LogEntry(std::string Entry); //Eintrag mit <br> in die html datei: void LogGoodEntry(std::string GoodEntry); void LogRenderEntry(std::string RenderEntry); //Eintrag mit <br> in die html datei: void LogBadEntry(std::string BadEntry); //Logdatei erstellen: void CreateLogFile(); //Logdatei schließen wenn Programm zuende: void CloseLogFile(); private: //Name der Logdatei: //std::string m_strLogFileName; char* m_strLogFileName; }; //Stuff für die Logklasse/Funktionen: //Zeiger auf die Logklasse besorgen: CLog* GetLogPointer(bool); //Referenz auf die Logklasse besorgen: CLog& GetLogReference(bool); //Referenz auf den OfStream besorgen: std::ofstream& GetOfStreamReference(bool); #endif //CLog_H |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
include "Log.h" #include "HTML.h" //Globales Objekt der Klasse ofstream: //std::ofstream& Log=GetOfStreamReference(false); //Zeiger auf die Logklasse besorgen: CLog* GetLogPointer(bool DeletePointer=false) { static CLog* pLogger; if(DeletePointer==false) { pLogger=new CLog; } if(DeletePointer!=false) { delete pLogger; } return pLogger; } std::ofstream& GetOfStreamReference(bool DeletePointer) { static CLog* pLogger=GetLogPointer(false); static std::ofstream OfStreamObj(pLogger->GetLogFileName()); return OfStreamObj; } CLog& GetLogReference(bool DeletePointer=false) { static CLog Logger; return Logger; } CLog::CLog() { m_strLogFileName="Logfile.htm"; } CLog::~CLog() { } /* std::string CLog::GetLogFileName() { return m_strLogFileName; } */ void CLog::SetLogFileName(char* LogFileName) { m_strLogFileName=LogFileName; } char* CLog::GetLogFileName() { return m_strLogFileName; } void CLog::StartHTML() { LogEntryWithoutBreak(HTML_Start); LogEntryWithoutBreak(Body_Start); } void CLog::EndHTML() { LogEntryWithoutBreak(Body_End); LogEntryWithoutBreak(HTML_End); } //Log beginnen und htm datei formen: void CLog::LogStart() { StartHTML(); LogEntryWithoutBreak("--Log beginnt--"); LogEntryWithoutBreak(Line); } //Log beenden und htm datei fertig schreiben: void CLog::LogEnd() { LogEntryWithoutBreak(Line); LogEntryWithoutBreak("--Log beendet--"); EndHTML(); } //Logfile erstellen void CLog::CreateLogFile() { LogStart(); } void CLog::CloseLogFile() { LogEnd(); } //Eintrag mit <br> void CLog::LogEntry(std::string Entry) { std::ofstream& Log=GetOfStreamReference(false); Log<<Info<<Entry<<Break<<std::endl; } //Eintrag für Erfolge: void CLog::LogGoodEntry(std::string GoodEntry) { std::ofstream& Log=GetOfStreamReference(false); Log<<Sucess<<GoodEntry<<Break<<std::endl; } //Eintrag für Fehler: void CLog::LogBadEntry(std::string BadEntry) { std::ofstream& Log=GetOfStreamReference(false); Log<<Error<<BadEntry<<Break<<std::endl; } //Eintrag für Renderungen: void CLog::LogRenderEntry(std::string RenderEntry) { std::ofstream& Log=GetOfStreamReference(false); Log<<Render<<RenderEntry<<Break<<std::endl; } //Eintrag ohne <br>: void CLog::LogEntryWithoutBreak(std::string Entry) { std::ofstream& Log=GetOfStreamReference(false); Log<<Entry<<std::endl; } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
#ifndef HTML_H #define HTML_H /* ============================================================================================== ==HTML Klasse: ==Hier sit die HTML Klasse die für Die Logdatei alle HTML Tags bereitstellen soll. ==Diese Klasse soll mit der Log Klasse in die Exception.dll um alle Fehler zuloggen. ==Eine Exception Klasse soll dann die Exceptions verwalten wärend diese Klassen sie in der ==Log Datei speichern. ============================================================================================== */ class CHTML { public: protected: }; /* ============================================================================================== ==HTML Tags: ==Hier sind alle HTML Tags als Makros definiert. ==Diese müssen durch String/Arrays ersetzt werden damit es sicher ist ;) ============================================================================================== */ //Tag öffnen/schließen #define OpenTag "<" #define CloseTag ">" //HTML Tags starten/beenden #define HTML_Start "<html>" #define HTML_End "</html>" //Den Kopf der HTML datei öffnen/schließen: #define Head_Start "<head>" #define Head_End "</head>" //Titel der HTML datei: #define Title_Start "<title>" #define Title_End "</titel>" //TODO: Body_Start kann geändert werden(Wenn ihr diese Datei gedownloaded habt ;)! #define Body_Start " <body vlink=#FF9900, alink=#FFFFFF, text=#000000, link=#FF9966>" #define Body_End " </body>" //Zeilen umbruch: #define Break "<br>" //Ein Absatz: #define Paragraph_Start "<p>" #define Paragraph_End "</p>" //Eine Linie(für start und ende) #define Line "<HR>" //Für eine Tabelle #define Table_Start "<table>" #define Table_End "</table>" //Spätere Infos sollten drin bleiben ;) #define Info "<b><font color=#808000>INFO:</font></b>" #define Sucess "<b><font color=#008000>ERFOLG:</font></b>" #define Error "<b><font color=#FF0000>FEHLER:</font></b>" #define Render "<b><font color=#000000>RENDER:</font></b>" //Kann gelöscht werden da mal Links nicht umbedingt braucht ^^ #define StartHREF "<a href=" #define CloseHREF "</a> #endif //HTML_H |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
#ifndef HTML_H #define HTML_H #include <string> /* ============================================================================================== ==HTML Klasse: ==Hier sit die HTML Klasse die für Die Logdatei alle HTML Tags bereitstellen soll. ==Diese Klasse soll mit der Log Klasse in die Exception.dll um alle Fehler zuloggen. ==Eine Exception Klasse soll dann die Exceptions verwalten wärend diese Klassen sie in der ==Log Datei speichern. ============================================================================================== */ class CHTML { public: protected: }; //Zeiger auf die HTML Klasse holen: CHTML* GetHTMLPointer(bool); //Referenz auf die HTML Klasse holen: CHTML& GetHTMLReference(bool); /* ============================================================================================== ==HTML Tags: ==Hier sind alle HTML Tags als char Arrays definiert. ==Jetzt ist es sicherer als die Makros ;) aber trotzdem nicht ganz perfekt. ============================================================================================== */ namespace HTML { //Tag öffnen/schließen std::string OpenTag="<"; std::string CloseTag=">"; //HTML Tags starten/beenden std::string HTML_Start="<html>"; std::string HTML_End="</html>"; //Den Kopf der HTML datei öffnen/schließen: std::string Head_Start="<head>"; std::string Head_End="</head>"; //Titel der HTML datei: std::string Title_Start="<title>"; std::string Title_End="</titel>"; //TODO: Body_Start kann geändert werden(Wenn ihr diese Datei gedownloaded habt ;)! std::string Body_Start=" <body vlink=#FF9900, alink=#FFFFFF, text=#000000, link=#FF9966>"; std::string Body_End=" </body>"; //Zeilen umbruch: std::string Break="<br>"; //Ein Absatz: std::string Paragraph_Start="<p>"; std::string Paragraph_End="</p>"; //Eine Linie(für start und ende) std::string Line="<HR>"; //Für eine Tabelle std::string Table_Start="<table>"; std::string Table_End="</table>"; //Spätere Infos sollten drin bleiben ;) std::string Info="<b><font color=#808000>INFO:</font></b>"; std::string Sucess="<b><font color=#008000>ERFOLG:</font></b>"; std::string Error="<b><font color=#FF0000>FEHLER:</font></b>"; std::string Render="<b><font color=#000000>RENDER:</font></b>"; //Kann gelöscht werden da mal Links nicht umbedingt braucht ^^ std::string StartHREF="<a href="; std::string CloseHREF="</a>"; }; #endif //HTML_H |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 |
#include "Log.h" //Zeiger auf die Logklasse besorgen: CLog* GetLogPointer(bool DeletePointer=false) { static CLog* pLogger; if(DeletePointer==false) { pLogger=new CLog; } if(DeletePointer!=false) { delete pLogger; } return pLogger; } std::ofstream& GetOfStreamReference(bool DeletePointer) { static CLog* pLogger=GetLogPointer(false); static std::ofstream OfStreamObj(pLogger->GetLogFileName()); return OfStreamObj; } CLog& GetLogReference(bool DeletePointer=false) { static CLog Logger; return Logger; } CLog::CLog() { m_strLogFileName="Logfile.htm"; } CLog::~CLog() { } /* std::string CLog::GetLogFileName() { return m_strLogFileName; } */ void CLog::SetLogFileName(char* LogFileName) { m_strLogFileName=LogFileName; } char* CLog::GetLogFileName() { return m_strLogFileName; } void CLog::StartHTML() { LogEntryWithoutBreak("<html>"); //Kopf der HTML datei: LogEntryWithoutBreak("<head>"); LogEntryWithoutBreak("</head>"); LogEntryWithoutBreak("<body vlink=#FF9900, alink=#FFFFFF, text=#000000, link=#FF9966>"); //Titel der Datei: LogEntryWithoutBreak("<titel>"); LogEntryWithoutBreak("</titel>"); } void CLog::EndHTML() { LogEntryWithoutBreak("</body>"); LogEntryWithoutBreak("</html>"); } //Log beginnen und htm datei formen: void CLog::LogStart() { StartHTML(); LogEntryWithoutBreak("--Log beginnt--"); LogEntryWithoutBreak("<HR>"); } //Log beenden und htm datei fertig schreiben: void CLog::LogEnd() { LogEntryWithoutBreak("<HR>"); LogEntryWithoutBreak("--Log beendet--"); EndHTML(); } //Logfile erstellen void CLog::CreateLogFile() { LogStart(); } void CLog::CloseLogFile() { LogEnd(); } //Eintrag mit <br> void CLog::LogEntry(std::string Entry) { std::ofstream& Log=GetOfStreamReference(false); Log<<"<b><font color=#808000>INFO:</font></b>"<<Entry<<"<br>"<<std::endl; } //Eintrag für Erfolge: void CLog::LogGoodEntry(std::string GoodEntry) { std::ofstream& Log=GetOfStreamReference(false); Log<<"<b><font color=#008000>ERFOLG:</font></b>"<<GoodEntry<<"<br>"<<std::endl; } //Eintrag für Fehler: void CLog::LogBadEntry(std::string BadEntry) { std::ofstream& Log=GetOfStreamReference(false); Log<<"<b><font color=#FF0000>FEHLER:</font></b>"<<BadEntry<<"<br>"<<std::endl; } //Eintrag für Renderungen: void CLog::LogRenderEntry(std::string RenderEntry) { std::ofstream& Log=GetOfStreamReference(false); Log<<"<b><font color=#000000>RENDER:</font></b>"<<RenderEntry<<"<br>"<<std::endl; } //Eintrag ohne <br>: void CLog::LogEntryWithoutBreak(std::string Entry) { std::ofstream& Log=GetOfStreamReference(false); Log<<Entry<<std::endl; } |
Zitat
Zwar ist jetzt die ganze Datei größer aber damit muss ich wohl leben
Zitat
C-/C++-Quelltext
1 2 LogEntryWithoutBreak("<titel>"); LogEntryWithoutBreak("</titel>");
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
CLog& GetLogReference() { static CLog Logger; return Logger; } std::ofstream& GetOfStreamReference() { static CLog Logger=GetLogReference(); static std::ofstream OfStreamObj(Logger.GetLogFileName()); return OfStreamObj; } CLog::CLog() { m_strLogFileName="Logfile.htm"; } CLog::~CLog() { } /* char* CLog::GetLogFileName() { return m_strLogFileName; } */ void CLog::SetLogFileName(char* LogFileName) { m_strLogFileName=LogFileName; } char* CLog::GetLogFileName() { return m_strLogFileName; } void CLog::StartHTML() { LogEntryWithoutBreak("<html>"); //Kopf der HTML datei: LogEntryWithoutBreak("<head>"); LogEntryWithoutBreak("</head>"); LogEntryWithoutBreak("<body vlink=#FF9900, alink=#FFFFFF, text=#000000, link=#FF9966>"); //Titel der Datei: LogEntryWithoutBreak("<title>"); LogEntryWithoutBreak("</title>"); } void CLog::EndHTML() { LogEntryWithoutBreak("</body>"); LogEntryWithoutBreak("</html>"); } //Log beginnen und htm datei formen: void CLog::LogStart() { StartHTML(); LogEntryWithoutBreak("--Log beginnt--"); LogEntryWithoutBreak("<HR>"); } //Log beenden und htm datei fertig schreiben: void CLog::LogEnd() { LogEntryWithoutBreak("<HR>"); LogEntryWithoutBreak("--Log beendet--"); EndHTML(); } //Logfile erstellen void CLog::CreateLogFile() { LogStart(); } void CLog::CloseLogFile() { LogEnd(); } //Eintrag mit <br> void CLog::LogEntry(std::string Entry) { std::ofstream& Log=GetOfStreamReference(); Log<<"<b><font color=#808000>INFO:</font></b>"<<Entry<<"<br>"<<std::endl; } //Eintrag für Erfolge: void CLog::LogGoodEntry(std::string GoodEntry) { std::ofstream& Log=GetOfStreamReference(); Log<<"<b><font color=#008000>ERFOLG:</font></b>"<<GoodEntry<<"<br>"<<std::endl; } //Eintrag für Fehler: void CLog::LogBadEntry(std::string BadEntry) { std::ofstream& Log=GetOfStreamReference(); Log<<"<b><font color=#FF0000>FEHLER:</font></b>"<<BadEntry<<"<br>"<<std::endl; } //Eintrag für Renderungen: void CLog::LogRenderEntry(std::string RenderEntry) { std::ofstream& Log=GetOfStreamReference(); Log<<"<b><font color=#000000>RENDER:</font></b>"<<RenderEntry<<"<br>"<<std::endl; } //Eintrag ohne <br>: void CLog::LogEntryWithoutBreak(std::string Entry) { std::ofstream& Log=GetOfStreamReference(); Log<<Entry<<std::endl; } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
void CLog::StartHTML() { LogEntryWithoutBreak("<html>"); //Kopf der HTML datei: LogEntryWithoutBreak("<head>"); //Titel der Datei: LogEntryWithoutBreak("<title>"); LogEntryWithoutBreak("</title>"); LogEntryWithoutBreak("</head>"); LogEntryWithoutBreak("<body vlink=#FF9900, alink=#FFFFFF, text=#000000, link=#FF9966>"); } |
Zitat von »"flux"«
Hmm...war das bei HTML nicht so, dass der <title> in den <head> -Teil kommt?!
Zitat
Naj, hast du vllt. auch schon anders gemacht. Schließlich seh ich auch nirgens, wo der Title eingegeben werden kann.
C-/C++-Quelltext |
|
1 |
LogEntryWithoutBreak("<title>");
|
C-/C++-Quelltext |
|
1 |
LogEntryWithoutBreak("</title>");
|
C-/C++-Quelltext |
|
1 |
LogEntryWithoutBreak("Mein Seitentitel");
|
Anonymous
unregistriert
Werbeanzeige