/*---------------------------------------------------------------------------------------------------
Header by superpok (M. Pauquet) - 2007
Rediriger l'affichage facilement [ STDOUT ou TMEMO ] !
aide: Sous borland, veillez a bien laisser le #define BORLANDGUI
Créer l'objet CDebug en passant en parametre le pointeur
vers votre objet TMemo, puis faite :
MDEBUG("mon message !");
En mode console, commenter #define BORLANDGUI et faite simplement :
MDEBUG("mon message !");
----------------------------------------------------------------------------------------------------*/
#ifndef CDEBUG_H
#define CDEBUG_H
#include <stdio.h>
#define BORLANDGUI
#ifdef BORLANDGUI
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
// on estime qu'une ligne ne fera jamais plus de 256 caracteres
static char CDebugBuffer[256]="";
static TMemo* CDebugMemo;
// verification ...
// si la classe n'as pas été créee
// pointeur CDebugMemo pointe sur rien...
static CDebugCreated = 0;
#define MDEBUG(x...) \
if(CDebugCreated) \
{ \
snprintf(CDebugBuffer,256,x); \
CDebugMemo->Lines->Add(CDebugBuffer); \
}
class CDebug
{
public:
CDebug(TMemo* myptr)
{
CDebugMemo = myptr;
CDebugCreated = 1;
}
};
#else
#define MDEBUG(x...) { printf(x); printf("\n"); }
#endif
#endif
Partager