⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xdebug.cpp

📁 一个可以读取Access数据库表的简单实例.可应用于办公室系统中.
💻 CPP
字号:
//=======================================================================================================================
//
//  文件: Xdebug.cpp
//
//  版本: V1.0
//
//  描述:
//
//  作者: xtra
//
//	注意: 因为使用了 timeGetTime () , 所以需要在 link 设置中加入: Winmm.lib .
//
//  创建日期:2003-2-19
//
//  修改历史:	日期		修改内容
//
//
//=======================================================================================================================

#include "stdafx.h"
#include "Xdebug.h"

#include "mmsystem.h"


//==================================================================================================================
//	宏
//==================================================================================================================
#define		__TEST__
#define		MACRO_Log_File		"LogFile.txt"



//=========================================================================================================================
//功能:
//
//参数:
//		1. fmt		(in)
//		2. ...		(in)
//返回:	
//
//=========================================================================================================================
BOOL Show_Msg ( char * fmt , ... )
{
    char Msg [ 255 ] ;

    va_list vl ;
    va_start ( vl , fmt ) ;
    vsprintf ( Msg , fmt , vl ) ;
    va_end ( vl ) ;

    Log ( Msg ) ;
    AfxMessageBox ( Msg ) ;
	return FALSE ;
}

BOOL Show_Msg_Exit ( char * fmt , ... )
{
    char Msg [ 255 ] ;
	
    va_list vl ;
    va_start ( vl , fmt ) ;
    vsprintf ( Msg , fmt , vl ) ;
    va_end ( vl ) ;
	
    Log ( Msg ) ;
    AfxMessageBox ( Msg ) ;

	AfxGetMainWnd ()->PostMessage ( WM_CLOSE ) ;
	return FALSE ;
}

BOOL Show_Err_Msg ( void )
{
	LPVOID lpMsgBuf;
	FormatMessage( 
		FORMAT_MESSAGE_ALLOCATE_BUFFER | 
		FORMAT_MESSAGE_FROM_SYSTEM | 
		FORMAT_MESSAGE_IGNORE_INSERTS,
		NULL,
		GetLastError(),
		MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
		(LPTSTR) &lpMsgBuf,
		0,
		NULL 
		);
	
	Show_Msg ( ( char * )( LPCTSTR ) lpMsgBuf ) ;

	LocalFree( lpMsgBuf );
	return FALSE ;
}


//=========================================================================================================================
//功能:
//
//参数:
//		1. str			(in)
//		2. arglist		(in)
//返回:	
//
//=========================================================================================================================
void Log ( const char * fmt , ... )
{
#ifdef __TEST__
    
    char Msg [ 255 ] ;
    va_list vl ;
    va_start ( vl , fmt ) ;
    vsprintf ( Msg , fmt , vl ) ;
    va_end ( vl ) ;
	
	static bool First = TRUE ;
    if ( First )
    {
        remove ( MACRO_Log_File ) ;
        First = FALSE ;
    }
	
	FILE * fp = fopen ( MACRO_Log_File , "a+" ) ;
	if ( fp == NULL ) 
	{
		Show_Msg ( "Can't Create LogFile.txt ! " ) ;
		return ;
	}	
	
	fprintf ( fp , "%s" , Msg ) ;
	fprintf ( fp , "\n" ) ;
	fclose ( fp ) ; 

#endif
	
	return ;
}


void LogTime ( const char * fmt , ... )
{
#ifdef __TEST__
    
    char Msg [ 255 ] ;
    va_list vl ;
    va_start ( vl , fmt ) ;
    vsprintf ( Msg , fmt , vl ) ;
    va_end ( vl ) ;
	
	static bool First = TRUE ;
    if ( First )
    {
        remove ( MACRO_Log_File ) ;
        First = FALSE ;
    }
	
	FILE * fp = fopen ( MACRO_Log_File , "a+" ) ;
	if ( fp == NULL ) 
	{
		Show_Msg ( "Can't Create LogFile.txt ! " ) ;
		return ;
	}	
	
	//log time
    char msg2 [ 80 ] ;
    static DWORD time_old = timeGetTime () ;
    DWORD NewTime  = timeGetTime() ;
    wsprintf ( msg2 , "Now= %d , Delt= %d ms : " , NewTime , NewTime - time_old ) ;
    time_old = NewTime ; 
    fprintf ( fp , msg2 ) ;

	//log msg
	fprintf ( fp , "%s" , Msg ) ;
	
	fprintf ( fp , "\n" ) ;
	fclose ( fp ) ; 
	
#endif

}

void Log_Screen ( int X , int Y , const char* fmt , ... ) 
{
#ifdef __TEST__
	
    char Msg [ 255 ] ;
    va_list vl ;
    va_start ( vl , fmt ) ;
    vsprintf ( Msg , fmt , vl ) ;
    va_end ( vl ) ;
	
	CRect rc ( X , Y , GetSystemMetrics ( SM_CXSCREEN ) , GetSystemMetrics ( SM_CYSCREEN ) ) ;
	HDC hDc = GetDC ( NULL ) ;
	DrawText ( hDc , Msg , strlen ( Msg ) , rc , DT_LEFT | DT_TOP ) ;

#endif
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -