?? 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 + -