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

📄 ownerarchive.h

📁 mcgs的数据导出源代码
💻 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 + -