[Vision] Log management class - 로그 관리 클래스
Posted on 2008/03/28 04:23
Filed Under Complete project
|
Def. [Major Message] [Minor Message] -Success
|
[Header]
[code]/* 2008.04.07 Furyheimdall - Log Class */
#pragma once
class CLog : public CDialog
{
private:
CEdit hLogWindow; //인스턴스가 가지는 에디트박스 컨트롤 변수
public:
void DDX_Log_Control(CDataExchange* pDX, int nIDC); //DDX(DoDataExchange) 등록 메소드
void WriteLog(BYTE MessageCode); //정의된 메세지코드에 해당하는 로그를 출력
void WriteLogString(CString MessageString); //사용자정의 문자열을 로그로 출력
};
[/code]
[Source]
[code]/* 2008.04.07 Furyheimdall - Log Class */
#include "StdAfx.h"
#include "Log.h"
#include "UserDefine.h"
#include <math.h>
/* DDX 등록을 제공 (MFC DDX 메소드에서 사용) */
void CLog::DDX_Log_Control(CDataExchange* pDX, int nIDC)
{
DDX_Control(pDX, nIDC, hLogWindow);
}
/* 정의된 메세지코드에 해당하는 로그를 출력 */
void CLog::WriteLog(BYTE MessageCode)
{
CString LogMessage;
/* 메세지 코드에 대한 로그 스트링 정의 */
static TCHAR *MajorMessage[] = {_T("Failed"), _T("Success"), _T("Warning"), _T("Work")};
static TCHAR *MinorMessage[] = {
/*Error*/
_T("Create failed the Transport layer"),
_T("Camera not found."),
_T("Reserved"),
_T("Reserved"),
_T("Reserved"),
_T("Reserved"),
_T("Video capture"),
_T("Reserved"),
_T("Reserved"),
_T("Reserved"),
/*Success*/
_T("Reserved"),
_T("Camera found"),
_T("Camera open"),
_T("Camera connect"),
_T("Start the Live grab"),
_T("Stop the Live grab"),
_T("Video capture"),
_T("Close the Camera"),
_T("Image Processing"),
_T("Reserved"),
_T("Reserved"),
/*Warning*/
};
/* 메세지 길이를 기준으로 메이저와 마이너 코드를 구한다 */
int Major = MessageCode / (int)pow(10.,(MESSAGE_LENGTH-1));
int Minor = MessageCode % (int)pow(10.,(MESSAGE_LENGTH-1));
/* 메세지 타입 카운트를 기준으로 마이너 코드의 메세지를 구한다 */
LogMessage.Format(_T("[%03d] %s-%s\n"),MessageCode,MajorMessage[Major],MinorMessage[Minor+(Major*MESSAGE_TYPE_COUNT)]);
hLogWindow.SetSel(0,-1);
hLogWindow.SetSel(-1,-1);
hLogWindow.ReplaceSel(LogMessage);
}
/* 사용자정의 문자열을 로그로 출력 */
void CLog::WriteLogString(CString MessageString)
{
hLogWindow.SetSel(0,-1);
hLogWindow.SetSel(-1,-1);
hLogWindow.ReplaceSel(MessageString);
}[/code]
|
Log Window Management Class Class : CLog [Member Method]
void DDX_Log_Control(CDataExchange* pDX, int nIDC); //DDX(DoDataExchange) 등록 메소드 void WriteLog(BYTE MessageCode); //정의된 메세지코드에 해당하는 로그를 출력 void WriteLogString(CString MessageString); //사용자정의 문자열을 로그로 출력 로그창을 관리하는 클래스이다. EX) void CTeamCPPDlg::DoDataExchange(CDataExchange* pDX)
{ CDialog::DoDataExchange(pDX); m_Log.DDX_Log_Control(pDX, IDC_LOG); //(*)CLog 클래스에서 제공하는 DDX 메소드 }
|
'Complete project' 카테고리의 다른 글
| [Vision] Camera management class - 카메라 관리 클래스 (0) | 2008/04/08 |
|---|---|
| [Vision] Display management class - 화면 출력 관리 클래스 (0) | 2008/04/08 |
| [Vision] Log management class - 로그 관리 클래스 (0) | 2008/03/28 |
| [Vision] A summry of vision project - 프로젝트 개요 (0) | 2008/03/28 |
| Implement mobile phone system on EMDK4000 uC/OS-II - 핸드폰 구현 (2) | 2008/01/11 |
| Mobile SUDOKU on GNEX - 모바일 스도쿠 (4) | 2008/01/01 |




댓글을 달아 주세요