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

📄 md_inifile.h

📁 我用MDEngine写的游戏
💻 H
字号:
//********************************************************************
//						MD 引擎 初始化文件 管理部件的定义
//		Powered by @J--S Studio			Johnhans		2002.8.23
//********************************************************************

#ifndef MD_INIFILE_H
#define MD_INIFILE_H

#ifdef MDENGINE_EXPORTS
#define MDENGINE_API __declspec(dllexport)
#else
#define MDENGINE_API __declspec(dllimport)
#endif

#define ERROR_DATA -99999999

#define _DELETE(X)			if( (X) != NULL ) { delete (X); (X) = NULL; }
#define _FREE(X)			if( (X) != NULL ) { free(X); (X)=NULL; }


class MDENGINE_API CMD_IniFile
{
public:
	CMD_IniFile(void);				//初始化部件
	CMD_IniFile(char *filename);	//初始化部件并打开配置文件
	virtual ~CMD_IniFile(void);		//销毁部件

public:
	bool Open(char *filename);			//打开配置文件
	bool Save(char *filename=NULL);		//保存配置文件

	int ReadInt(char *index, char *name, int defvalue);		//读一个整数
	int ReadInt(char *index, int lines, int defvalue);		//在指定的行读一整数
	char *ReadText(char *index, char *name, char *defvalue);//读一个字符串
	char *ReadText(char *index, int lines, char *defvalue);	//在指定的行读一字符串
	DWORD ReadIntRegKey(HKEY hKey, char *subkey, char *regname, int valdef);//读取指定注册表键的整数
	char *ReadTextRegKey(HKEY hKey, char *subkey, char *regname, char *def);//读取指定注册表键的字符串
	BYTE *ReadBinRegkey(HKEY hKey, char *subkey, char *regname, BYTE *def);//读取指定注册表键的二进制串
	char *ReadData(char *index, int lines);		//在指定行读一字符名称

	bool WriteInt(char *index, char *name, int num);		//写一个整数
	bool WriteText(char *index, char *name, char *string);	//写一个字符串
	bool WriteIntRegKey(HKEY hKey, char *subkey, char *regname, int value);//向指定注册表位置写一个整数
	bool WriteTextRegKey(HKEY hKey, char *subkey, char *regname, char *value);//向指定注册表位置写一个字符串
	bool WriteBinRegKey(HKEY hKey, char *subkey, char *regname, BYTE *lpdata, int size);//向指定注册表位置写一个二进制串

	char *GetData(void){ return Data; }	//返回文件内容
	int GetLines(int cur);				//返回文件的行数
	int GetContinueDataNum(char *index);//返回连续的行数(从INDEX到第一个空行)

private:
	char FileName[MAX_PATH];	//文件名
	int DataLen;				//文件长度
	char *Data;					//文件内容

	int IndexNum;				//索引数目
	int *IndexList;				//索引点位置列表

	int Point;					//当前指针
	int Line, Word;				//当前行列

private:
	void InitIndex(void);				//初始化索引
	int FindIndex(char *string);		//返回标题位置
	int FindData(int index, char *string);//返回数据位置
	int GotoNextLine(int p); 			//提行
	char *ReadDataName(int &p);			//在指定位置读一数据名称
	char *ReadText(int p);				//在指定位置读字符串

	bool AddIndex(char *index);						//加入一个索引
	bool AddData(int p, char *name, char *string);	//在当前位置加入一个数据
	bool ModityData(int p, char *name, char *string);//在当前位置修改一个数据的值

	int GetFileLength(char *name);		//取文件长度

};

#endif

⌨️ 快捷键说明

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