📄 ownerarchive.h
字号:
// OwnerArchive.h: interface for the COwnerArchive class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_OWNERARCHIVE_H__3FA80300_863D_4419_93F6_D789DC8DFBC7__INCLUDED_)
#define AFX_OWNERARCHIVE_H__3FA80300_863D_4419_93F6_D789DC8DFBC7__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#if !defined( MCGSSET_ESET) && !defined (_DRAGON) && !defined(MCGS_WCE)
//#include "..\\ERun\\stdafx.h"
#else
#pragma warning (disable : 4663)
#pragma warning (disable : 4231)
#pragma warning (disable : 4786)
#pragma warning (disable : 4231)
#pragma warning(push,3)
#ifndef MFC_PERSIST
#include <vector>
using namespace std; // the std C++ libs are in namespace std
#endif //MFC_PERSIST
#endif //MCGSSET_ESET
#define OWNERARCHIVE_BUFFER_INC_SIZE (0x4096) //每次增加4K
class COwnerArchive
{
public:
BYTEARRAY m_vectorBuffer;
private:
DWORD m_dwBufferSize;//使用的大小,指针
public:
enum ARCHIVESTATUS{load = 0,storing} m_status;
COwnerArchive(ARCHIVESTATUS c);
virtual ~COwnerArchive();
void SvrChangeMode(ARCHIVESTATUS c)
{
m_status = c;
}
bool IsStoring(){ return m_status == storing;};
void operator<<(int value){ SvrWrite((const unsigned char*)&value,sizeof(int));};
void operator<<(float value){ SvrWrite((const unsigned char*)&value,sizeof(float));};
void operator<<(char value){ SvrWrite((const unsigned char*)&value,sizeof(char));};
void operator<<(long value){ SvrWrite((const unsigned char*)&value,sizeof(long));};
void operator>>(int& value){ SvrRead((unsigned char*)&value,sizeof(int));};
void operator>>(char& value){ SvrRead((unsigned char*)&value,sizeof(char));};
void operator>>(float& value){ SvrRead((unsigned char*)&value,sizeof(float));};
void operator>>(long& value){ SvrRead((unsigned char*)&value,sizeof(long));};
void operator<<(DWORD value){ SvrWrite((const unsigned char*)&value,sizeof(DWORD));};
void operator>>(DWORD& value){ SvrRead((unsigned char*)&value,sizeof(DWORD));};
void operator<<(WORD value){ SvrWrite((const unsigned char*)&value,sizeof(WORD));};
void operator>>(WORD& value){ SvrRead((unsigned char*)&value,sizeof(WORD));};
void operator<<(BYTE value){ SvrWrite((const unsigned char*)&value,sizeof(BYTE));};
void operator>>(BYTE& value){ SvrRead((unsigned char*)&value,sizeof(BYTE));};
void operator<<(double value){ SvrWrite((const unsigned char*)&value,sizeof(double));};
void operator>>(double& value){ SvrRead((unsigned char*)&value,sizeof(double));};
void operator<<(bool value)
{
char c = value == true ? 1 : 0;
SvrWrite((const unsigned char*)&c,sizeof(char));
};
#ifdef E_MCGSRUN
#else
void operator >> (LOGFONT& value);
#endif
void operator>>(bool& value)
{
char c;
SvrRead((unsigned char*)&c,sizeof(char));
value = c == 1 ? true : false;
};
void operator<<(CString& value);
void operator>>(CString& value);
void operator>>(COleDateTime& time);
void operator<<(COleDateTime& time);
bool SvrWrite(const unsigned char* pBuff,int iCount);
bool SvrRead(unsigned char* pBuff,int iCount);
void Write(const void* pBuff,int iCount)
{
SvrWrite((const unsigned char*)pBuff,iCount);
};
void Read(void* pBuff,int iCount)
{
SvrRead((unsigned char*)pBuff,iCount);
};
bool SvrWrite(BYTEARRAY& Buff);
bool SvrRead(BYTEARRAY& Buff);
void SvrSeekToBegin()
{
if (m_dwBufferSize > 0)
{
ARRAYRESIZE(m_vectorBuffer,m_dwBufferSize);
m_dwMaxLength = m_dwBufferSize;
}
m_dwBufferSize = 0;
};
DWORD SvrGetBufferSize()
{
return m_dwBufferSize;
};
DWORD SvrGetRealBufferSize()
{
return m_dwBufferSize > m_dwMaxLength ? m_dwBufferSize : m_dwMaxLength;
};
private:
bool mfCheckBuffer(int iCount);
DWORD m_dwMaxLength;
};
#endif // !defined(AFX_OWNERARCHIVE_H__3FA80300_863D_4419_93F6_D789DC8DFBC7__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -