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
|
#include <windows.h>
#include "InDLL.h"
#ifdef __cplusplus // If used by C++ code,
extern "C" { // we need to export the C interface
#endif
// a sample exported function
void CLASSINDLL_CLASS_DECL __cdecl msgbox(const LPCSTR sometext)
{
MessageBoxA(0, sometext, "DLL Message", MB_OK | MB_ICONINFORMATION);
}
#include <stdio.h>
#include <string>
using namespace std;
// Ein File Objekt wird erzeugt das zum schreiben des Log-Files verwendet wird.
FILE * pLogFile;
class CLASSINDLL_CLASS_DECL log_creator
{
public:
log_creator()
{
// Classen-Funktion zum öffnen des Log-Files wird aufgerufen
open_log();
}
~log_creator()
{
// Classen-Funktion zum Schließen des Log-Files wird aufgerufen.
close_log();
}
void log(char* ctext)
{
/*
Ein einfacher Text wird hier mit Datum und Uhrzeit in den Log geschrieben.
Als übergabe wert kann nur ein einfacher char Variablen Text verwendet werden.
Hier kann der Text einfach direkt eingegeben werden.
*/
char buffer [80];
time_t rawtime;
time ( &rawtime );
struct tm * timeinfo;
timeinfo = localtime ( &rawtime );
strftime (buffer,80,"%c",timeinfo);
fprintf (pLogFile, "%s\t %s\n",buffer,ctext);
}
void log(string &ctext)
{
/*
Ein Text wird mit Datum und Uhrzeit in den Log geschrieben.
Hier wird eine String Variable verwendet die Vorher mit verschiedenen Programm
Variablen gefülllt worden ist. Die Variable muss zuvor im Programm erzeugt und
gefüllt worden sein, und kann nur als Variable Übergeben werden.
*/
char buffer[80]="";
char buffer2[1024]="";
int length;
time_t rawtime;
time ( &rawtime );
struct tm * timeinfo;
timeinfo = localtime ( &rawtime );
strftime (buffer,80,"%c",timeinfo);
length=ctext.copy(buffer2,ctext.size());
buffer2[length]='\0';
fprintf (pLogFile, "%s\t %s\n",buffer,buffer2);
}
protected:
void open_log(char* cfile="log.txt")
{
/*
Log-File wird geöffnet.
Wird keine spezielle Datei angegeben wird automatisch "log.txt" verwendet.
Anschließend wir eine zeile in den Log geschrieben der den Anfang des aktuellen
Log markiert.
*/
pLogFile = fopen (cfile,"a");
fprintf (pLogFile,"--- Neuer Log!!! ---\n\n");
}
void close_log(void)
{
/*
Log-File wird geschlossen.
Vorher wird noch eine Abschlußzeile in das Log geschrieben, die das Ende des
aktuellen Log markiert, und abstandszeilen für den nächsten Log geschaffen.
*/
fprintf (pLogFile,"\n--- Log Ende!!! ---\n\n\n");
fclose (pLogFile);
}
};
#ifdef __cplusplus
}
#endif
|