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

📄 resource.h

📁 UNIX 资源文件编译器
💻 H
字号:
/*****************************************************************************    ------------	子系统名称: 界面资源管理器*     RESOURCE.H*    ------------	模块名称  : 资源索引及IO管理程序****************************************************************************/#ifndef		_RESOURCE_H#define		_RESOURCE_H#include	"typedef.h"#include	"strtbl.h"#include	"menu.h"#include	"dialog.h"/* 资源类型定义  Resource type define */#define		RT_STRTBL	1		/* 窗口			*/#define		RT_MENU		2		/* 菜单			*/#define		RT_DIALOG	3		/* 对话框		*//* 资源错误信息标识号 Resource error ID */#define		ERR_RES_INVALIDFILE	-1010	/* 非法的资源文件	*/#define		ERR_RES_INVALIDID	-1011	/* 无效的资源标识号	*/#define		ERR_RES_FULL		-1012	/* 资源索引表满		*//* 资源结构定义  Resource structure define */typedef	struct	tagResource{	short	nRESID;				/* 资源识别号		*/	short	nType;				/* 资源类型		*/	void	*pRES;				/* 资源缓冲区地址	*/	DWORD	lRESOffset;			/* 资源数据在文件中的绝对位置	*/	DWORD	lNextOffset;			/* 下一索引在文件中的绝对位置	*/}	RESOURCE;typedef RESOURCE *		PRESOURCE;/* 资源文件头结构定义  Resource file header structure define */#define		MAXL_VERTEXT	20typedef	struct	tagRESFileHead{	char	pVersion[MAXL_VERTEXT];		/* 版本信息    		*/	short	nCount;				/* 资源总数		*/	BYTE	nAddNum;			/* 累加和		*/}	RESFILEHEAD;typedef	RESFILEHEAD *	PRESFILEHEAD;/* 全局变量定义 */extern	FILE	*	pfResFile;		/* 资源文件指针		*/extern	RESFILEHEAD	rfhRESFileHead;		/* 资源文件头		*/extern	PRESOURCE	prRESTable;		/* 资源索引表		*/extern	char		pRESVersion[MAXL_VERTEXT];	/* 标准版本信息	*//****************************************************************************       接 口 函 数 原 型***************************************************************************//*****************************************************************************    函数原型: NewResource ( PRESOURCE *prNew, short nCount )**    功    能: 创建 nCount 个资源索引项**    编程人员: Zhu haibin**    编码时间: 1994/09/13**    修改时间:**    入口参数: PRESOURCE	prNew	  --  资源项指针**    出口参数: OK		调用成功*	       ERR_NOMEMORY	没有足够的内存**    实现算法: 调用 malloc 申请内存**    上层调用:**    下层调用:****************************************************************************/extern	short	NewResource ( PRESOURCE *pprNew, short nCount );/*****************************************************************************    函数原型: FreeResource ( short nRESID )**    功    能: 释放一个资源**    编程人员: Zhu haibin**    编码时间: 1994/09/13**    修改时间:**    入口参数: PRESOURCE	presTemp	  --  资源项指针**    出口参数: OK		 调用成功*	       ERR_RES_INVALIDID 无效的资源标识号**    实现算法: 1. 查找指定的标识号*	       2. 释放所对应的资源**    上层调用:**    下层调用: FreeMenu*	       FreeDialog****************************************************************************/extern	short	FreeResource ( short nRESID );/*****************************************************************************    函数原型: short	CreatRESFile ( char * pFileName )**    功    能: 创建一个资源文件**    编程人员: Zhu haibin**    编码时间: 1994/09/14**    修改时间:**    入口参数: char	*pFileName	--	资源文件名**    出口参数: OK		调用成功*              ERR_CFILE	创建文件错**    实现算法: 调用 fopen 创建文件**    上层调用:**    下层调用: 无****************************************************************************/extern	short	CreatRESFile ( char * pFileName );/*****************************************************************************    函数原型: OpenRESFile ( char *pFileName )**    功    能: 打开一个已存在的资源文件, 检查其合法性, 读入资源索引**    编程人员: Zhu haibin**    编码时间: 1994/09/14**    修改时间:**    入口参数: char	*pFileName	--	资源文件名**    出口参数: OK		调用成功*	       ERR_OFILE	打开文件失败*	       ERR_RFILE	读文件失败**    实现算法: 1. 以只读方式打开文件*              2. 读入文件头并检查其合法性*              3. 读入资源索引**    上层调用:**    下层调用: NewResource****************************************************************************/extern	short	OpenRESFile ( char *pFileName );/*****************************************************************************    函数原型: CloseRESFile ( BOOL nWriteHead )**    功    能: 关闭资源文件**    编程人员: Zhu haibin**    编码时间: 1994/09/14**    修改时间:**    入口参数: BOOL	nWriteHead	--	是否需要重新写入文件头**    出口参数: OK		调用成功*              ERR_WFILE	写文件失败**    实现算法: 1. 如果要重写文件头:*                   A 调整文件, 使文件头部空出文件头和索引表的空间*                   B 计算累加和*                   C 写入文件头*              2. 调用 fclose 关闭文件**    上层调用:**    下层调用: 无****************************************************************************/extern	short	CloseRESFile ( BOOL nWriteHead );/*****************************************************************************    函数原型: LoadResource ( short nRESID, void **ppRES )**    功    能: 从资源文件中读取标识号为 nRESID 的资源**    编程人员: Zhu haibin**    编码时间: 1994/09/15**    修改时间:**    入口参数: short	nRESID	资源标识号*	       void	**ppRES	资源地址**    出口参数: OK		 调用成功, 资源指针返回在 ppRES 中*              ERR_RES_INVALIDID 无效的资源识别号*              ERR_RFILE	 读文件失败*	       ERR_NOMEMORY	 没有足够的内存**    实现算法: 1. 在资源索引表中查找指定的识别号 nRESID*              2. 读出资源**    上层调用:**    下层调用: 无****************************************************************************/extern	short	LoadResource ( short nRESID, void **ppRES );/*****************************************************************************    函数原型: AppendResource ( PRESOURCE prTemp )**    功    能: 向资源文件中追加一个资源**    编程人员: Zhu haibin**    编码时间: 1994/09/15**    修改时间:**    入口参数: PRESOURCE	prTemp	--	资源指针**    出口参数: OK		调用成功*              ERR_WFILE	写文件失败**    实现算法: 1. 写入资源索引项*              2. 写入资源数据**    上层调用:**    下层调用: 无****************************************************************************/extern	short   AppendResource ( PRESOURCE prTemp );/*****************************************************************************    函数原型: LoadStrTblResource ( void )**    功    能: 装入所有字符串表资源**    编程人员: Zhu haibin**    编码时间: 1994/10/05**    修改时间:**    入口参数: PRESOURCE	prTemp	--	资源指针**    出口参数: OK		调用成功*              ERR_WFILE	写文件失败**    实现算法: 1. 写入资源索引项*              2. 写入资源数据**    上层调用:**    下层调用: 无****************************************************************************/extern	short	LoadStrTblResource ( void );/*****************************************************************************    函数原型: LoadString ( short nID, char *pBuf, short nBufSize )**    功    能: 从字符串表资源中取出指定字符串**    编程人员: Zhu haibin**    编码时间: 1994/10/05**    修改时间:**    入口参数: short	nID	--	字符串标识号*	       char	*pBuf	--	字符串缓冲区*	       short	nBufSize --	字符串缓冲区长度**    出口参数: 总为 OK**    实现算法:**    上层调用: FreeResource**    下层调用: 无****************************************************************************/extern	short	LoadString ( short nID, char *pBuf, short nBufSize );#endif

⌨️ 快捷键说明

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