📄 md_file.h
字号:
//********************************************************************
// MD 引擎 数据文件 管理部件的定义
// Powered by @J--S Studio Johnhans 2002.8.23
//********************************************************************
#ifndef MD_FILE_H
#define MD_FILE_H
#ifdef MDENGINE_EXPORTS
#define MDENGINE_API __declspec(dllexport)
#else
#define MDENGINE_API __declspec(dllimport)
#endif
// FilePackage Structure
typedef struct FilePackHeader
{
unsigned mark : 8;
unsigned ENC : 8;
DWORD FileNum;
}FPHeader;
typedef struct FilePackage
{
char name[20];
__int32 offset;
__int32 length;
__int32 lengthcomed;
}FPack;
class MDENGINE_API CMD_File
{
public:
CMD_File(void);
CMD_File(TCHAR* FileName, bool bReadOnly, bool bPacked=false);
virtual ~CMD_File(void);
public:
bool Open(TCHAR* FileName, bool bReadOnly, bool bPacked=false);
void Close();
bool Save(TCHAR* FileName);
bool Seek(long move, BYTE method=FILE_CURRENT);
bool Read(LPVOID lpbuffer,DWORD size);
bool Write(LPCVOID buffer,DWORD size);
DWORD GetLength() { return GetFileSize(m_hFile,NULL);}
bool ReadFromPackage(LPVOID lpbuffer,int index);
bool ReadFromPackage(LPVOID lpbuffer,TCHAR *FileName) { return ReadFromPackage(lpbuffer,GetPFileIndex(FileName));}
const FPHeader *GetPackInfo() { return &m_FPHeader;}
const FPack *GetPackFileInfo(int index);
const FPack *GetPackFileInfo(TCHAR *FileName) { return GetPackFileInfo(GetPFileIndex(FileName));}
private:
HANDLE m_hFile; // 文件句柄
TCHAR m_FileName[MAX_PATH]; // 文件名
FPHeader m_FPHeader; // 文件头信息
FPack *m_lpTable; // 文件索引表
bool b_Packed; // 文件是否是压缩包
private:
int GetPFileIndex(TCHAR* FileName);
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -