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

📄 calcborn.h

📁 预产期的计算
💻 H
📖 第 1 页 / 共 2 页
字号:
				BITMAPINFOHEADER *pInfoHdr = NULL);	/* 返_BMP信息头 */

/*=========================================================================*/

/* 获取图像大小,及返回色彩模式(0=失败,1=灰度,2=彩色) */
INT IsColorAndSize(LPCTSTR chFile,					/* 目标文件名 */
				   short &nWide, short &nHigh);		/* 返回BMP信息头 */

/* 将24位彩色位图数据保存成BMP文件,可选翻转,必须是4整数倍宽 */
BOOL SaveColorImage(LPCTSTR chFile,					/* 欲存文件名 */
					BYTE  *pImage,					/* 图像区指针 */
					short nWide, short nHigh,		/* 图像区宽高 */
					int   bIsFlip = 1);				/* 是否翻转图 */

/* 加载24位彩色BMP文件到指定内存(可选翻转,必须是4整数倍宽度) */
BOOL LoadColorImage(LPCTSTR chFile,					/* 输入读取文件 */
					BYTE *&pImage,					/* 图像内存区域 */
					short &nWide, short &nHigh,		/* 对应区域宽高 */
					int   bIsFlip = 1);				/* 是否翻转读取 */

/*=========================================================================*/

/* 给定一个数据区及其长度,求出它的CRC32检验码 */
DWORD GenerateCRC32(const void *pSource, long nLength);

/* 给定一个数据区及其长度,求出它的CRC32检验码 */
DWORD GenCRC(DWORD dwCrc32, const void *pSource, long nLength);

/* 处理路径加or减"\\",nCut==0 为加上"\\" */
void HandleSckPath(char *pStr, int nCut);

/* 字符串之间的拷贝,可设置源缓存大小,返回不带'\0'的长度 */
int lstrCpy(char *chDes, const char *chSrc, int nMax = 0);

/* 获取文件名的开始位置(字符串数据索引) */
int GetNamePos(LPCTSTR chFile);

/* 获取文件的全路径中的文件名首指针 */
char *GetNamePtr(const char *chFile);

/* 得到文件名的长度(小数点的位置) */
int GetNameLen(LPCTSTR chFile);

/* 判断文件扩展名与指定的是否相同,不带'.'点 */
BOOL IsSameExt(LPCTSTR chFile, LPCTSTR chExt);

/* 备份指定的文件,在同一目录下,使用指定扩展名 */
BOOL BackupFile(LPCTSTR chFile, LPCTSTR chExt);

/* 将给定路径去除最后一级目录,求得上层目录 */
void GetUpperFolder(char *chPath);

/* 使字符串自适应给定长度,中间填充"..." */
void AutoAdaptLength(char *pDes, const char *pSrc, int nObj);

/* 更新原有的文件名,只是复制了新的文件名过去,再加上新的扩展名 */
void RenewFileName(char *chDesFile, const char *chSrcFile,
					const char *chFileExt);

/* 求出参考路径的最顶目录(有以'\\'结束的),并复制到chNew */
int GenPathTopDir(char *chNew, const char *chOld);

/* 将64位无符号整型数显示到字符中去 */
void GetNumString(char *chData, DWORD64 dwData, int bHex);

/*=========================================================================*/

/* 系统用信息对话框:窗口句柄,按钮类型,信息字符串 */
INT MsgBox(HWND hWnd, UINT uType, LPCTSTR chInfor, ...);

/* 判断窗口的有效性,若是则保存其屏幕坐标的窗口位置 */
BOOL ReadWndRect(CRect &rc, CWnd *pWnd);

/* 将指定的屏幕坐标矩形恢复到指定的窗口,判断有效性 */
BOOL WritWndRect(CRect &rc, CWnd *pWnd, INT nCmd = SW_SHOWNORMAL);

/* 判断给定的窗口指针,是否是有效的,可见的 */
BOOL IsVisWnd(const CWnd *pWnd);

/*=========================================================================*/

/* 将DWORD数据写到4字节区域,高字节在前,低字节在后 */
void DwordToMsb(DWORD dwVal, BYTE *pMsb);

/* 将DWORD数据写到4字节区域,低字节在前,高字节在后 */
void DwordToLsb(DWORD dwVal, BYTE *pLsb);

/* 将MSB的内存区(高在前,低在后),转换成DWORD值 */
DWORD MsbToDword(const BYTE *pMsb);

/* 将MSB的内存区(低在前,高在后),转换成DWORD值 */
DWORD LsbToDword(const BYTE *pLsb);

// 获取本身加载到内存中的.text代码段的CRC校验码
DWORD TcVerifySector(VOID);

/*=========================================================================*/

/* 存贮按全文件名排序的链表(指针内存共享),及它们所属的绝对目录 */
class CDirFileList
{
	char *m_chDirPath;								/* 目录名称字串 */
	
	CList<char *>m_FileNameList;					/* 其下文件名链 */
	
	BOOL m_bAlowFreeAll;							/* 允许释放内存 */
	
	BOOL ListPathName(BOOL bFile, LPCTSTR chFilter,
		BOOL bSort);								/* 列表指定名称 */
	
public:
	
	CDirFileList()									/* 默认构造函数 */
	{
		m_chDirPath = NULL;
		m_bAlowFreeAll = TRUE;
	}
	
	CDirFileList(LPCTSTR chPath, LPCTSTR chFilter = NULL) /* 转换 */
	{
		m_chDirPath = NULL;
		m_bAlowFreeAll = TRUE;
		SetPath(chPath, chFilter);
	}
	
	~CDirFileList()									/* 默认析构函数 */
	{
		RemoveAll(m_bAlowFreeAll, TRUE);
	}
	
	/*-------------------------------------------------------------*/
	
	VOID EnableFree(BOOL bAlowFreeAll = TRUE)		/* 是否允许释放 */
	{
		m_bAlowFreeAll = bAlowFreeAll;
	}
	
	VOID RemoveAll(BOOL bFreeAll, BOOL bDelPath);	/* 释放所占内存 */
	
	/*-------------------------------------------------------------*/
	
	char *GetPath(VOID)								/* 获取目录名称 */
	{
		return (m_chDirPath);
	}
	
	BOOL SetPath(LPCTSTR chPath, LPCTSTR chFilter = NULL); /* 目录 */
	
	/*-------------------------------------------------------------*/
	
	BOOL AddName(LPCTSTR chName, BOOL bSort = FALSE);/* 尾加名称节点 */
	
	BOOL DelCurr(VOID);								/* 删当前文件名 */
	
	/*-------------------------------------------------------------*/
	
	BOOL ListPathFile(LPCTSTR chFilter, BOOL bSort = FALSE) /* 文件名 */
	{
		return (ListPathName(TRUE, chFilter, bSort));
	}
	
	BOOL ListPathDir(LPCTSTR chFilter, BOOL bSort = FALSE) /* 目录名 */
	{
		return (ListPathName(FALSE, chFilter, bSort));
	}
	
	/*-------------------------------------------------------------*/
	
	LONG GetSum(VOID)								/* 获取文件总数 */
	{
		return (m_FileNameList.Sum());
	}
	
	VOID GoBgn(VOID)								/* 移动到链表首 */
	{
		m_FileNameList.Rewind(0);
	}
	
	VOID GoEnd(VOID)								/* 移动到链表尾 */
	{
		m_FileNameList.Rewind(1);
	}
	
	BOOL GoPrev(VOID)								/* 移动到上一个 */
	{
		return (m_FileNameList.Prev());
	}
	
	BOOL GoNext(VOID)								/* 移动到下一个 */
	{
		return (m_FileNameList.Next());
	}
	
	/*-------------------------------------------------------------*/
	
	LONG GetNth(VOID)								/* 获取当前序号 */
	{
		return (m_FileNameList.GetNth());
	}
	
	char *operator()(VOID)							/* 取当前名指针 */
	{
		return (m_FileNameList());
	}
	
	char *operator[](LONG nth)						/* 模拟数组访问 */
	{
		return (m_FileNameList[nth]);
	}
};

/////////////////////////////////////////////////////////////////////////////

/* 为指定扩展名,增加子键操作,使用指定程序操作(含命令行) */
BOOL AddRunAtExt(LPCTSTR chExt, LPCTSTR chKey, LPCTSTR chCap, LPCTSTR chRun);

/* 为指定扩展名,删除子键操作,即程序不再绑定扩展名的使用 */
BOOL DelRunAtExt(LPCTSTR chExt, LPCTSTR chKey);

/* 为指定扩展名,将指定的子键操作,设置为默认的,恢复须备份 */
BOOL DefRunAtExt(LPCTSTR chExt, LPCTSTR chKey, char *chBak);

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_CALCBORN_H__5148B4FC_E7CC_409D_A071_2D0702C92C0A__INCLUDED_)

⌨️ 快捷键说明

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