📄 calcborn.h
字号:
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 + -