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

📄 calcborn.h

📁 预产期的计算
💻 H
📖 第 1 页 / 共 2 页
字号:
/////////////////////////////////////////////////////////////////////////////
// CalcBorn.h : main header file for the CALCBORN application
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_CALCBORN_H__5148B4FC_E7CC_409D_A071_2D0702C92C0A__INCLUDED_)
#define AFX_CALCBORN_H__5148B4FC_E7CC_409D_A071_2D0702C92C0A__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#ifndef __AFXWIN_H__
	#error include 'stdafx.h' before including this file for PCH
#endif

#include "resource.h"								// main symbols
#include <ShlObj.h>									// 目录浏览库
#include <math.h>									// 数学函数库
#include <stdio.h>									// 标准IO操作
#include <stdlib.h>									// 标准函数库
#include <malloc.h>									// 内存分配库
#include <string.h>									// 字符串操作

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

/* 申请和释放指定大小sZ和类型tP的空间,及重新分配 */
#define TcNewMem(sZ, tP) (tP *)malloc((sZ) * sizeof(tP))
#define TcDelMem(pTr) if(pTr) free(pTr); pTr = NULL
#define TcReaMem(pTr, sZ, tP) pTr = (tP *)realloc(pTr, (sZ) * sizeof(tP))
#define TcClrMem(pTr, sZ, tP) memset(pTr, 0, (sZ) * sizeof(tP))

static const char *MyZnnWeek[] = {"星期日", "星期一", "星期二",
	"星期三", "星期四", "星期五", "星期六"};		// 我宁宁星期

static const char *MyBigNum[] = {"0", "一", "二", "三", 
	"四", "五", "六", "七", "八", "九", "十"};		// 我大写数字

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();
	
// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	CString	m_sHelps;
	//}}AFX_DATA
	
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL
	
// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////
// CCalcBornApp:
// See CalcBorn.cpp for the implementation of this class
//

class CCalcBornApp : public CWinApp
{
public:
	CCalcBornApp();

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CCalcBornApp)
	public:
	virtual BOOL InitInstance();
	//}}AFX_VIRTUAL

// Implementation

	//{{AFX_MSG(CCalcBornApp)
		// NOTE - the ClassWizard will add and remove member functions here.
		//    DO NOT EDIT what you see in these blocks of generated code !
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

extern CCalcBornApp theApp;
#define MsgInt(nID, nVal) SetDlgItemInt(nID, nVal)
#define MsgTxt(nID, chStr) SetDlgItemText(nID, chStr)

/////////////////////////////////////////////////////////////////////////////
// 天诚盛业指纹算法工程常用小算法工具集合  sck007   2006.08.16 Updated     //
/////////////////////////////////////////////////////////////////////////////

#include "CList.cpp"								/* 双向链表类 */

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

/* 自定义使用文件操作(打开/保存)对话框,默认BMP过滤 */
BOOL ShowFileDialog(HWND hWnd, BOOL bOpen, char *chFile,
					LPCTSTR chFilter = NULL);

/* 显示选择目录的对话框,可初始化路径及标题,外部接口 */
BOOL ShowFolderDialog(HWND hWnd, char *chDir, LPCTSTR chHit = NULL);

/* 以"与或"的方式使数据流面目全非或完璧归赵:写到新串 */
VOID CryptXOR(VOID *pbyDes, CONST VOID *pbySrc,
			  LONG nLen, BYTE byPatt = 0xA5);

/* 获取系统回收站的路径,包含尾部的反斜杠'\\',入口MAX_PATH长度 */
INT GetRecyclerDirectory(CHAR chPath[]);

/* 获取操作系统的目录System32的具体位置 */
INT GetSystem32Directory(CHAR chPath[]);

/* 由指定的CLSID返回对应的OCX注册的路径 */
INT GetOcxRegPath(const CLSID *pClsID, char *chPath);

/* 获取指定文件的时间:creation,last access,last write */
BOOL GainFileTime(LPCTSTR chFile, SYSTEMTIME *pCreate,
				  SYSTEMTIME *pAccess, SYSTEMTIME *pWrite);

/* 检查给定的文件是否存在(若文件长度指针不为NULL则返回实际值) */
BOOL IsFileExist(const char chFile[], DWORD *pLength = NULL);

/* 确认指定路径存在,尾部有无'\\'均可 */
BOOL MakeSurePath(const char chPath[]);

/* 确认给定文件所在的路径,以'\\'之前作为目录有效标识 */
BOOL MakeFilePath(const char chFile[]);

/* 将给定的二进制区保存成指定文件(自动确认文件路径) */
BOOL SaveBinaryFile(LPCTSTR chFileName, const VOID *pBuffSource,
					DWORD dwBuffSize);

/* 装载指定长度数据到给定的二进制区(固定已分配内存) */
BOOL LoadBinaryFile(LPCTSTR chFileName, VOID *pBuffTarget,
					DWORD &dwBuffSize);

/* 装载指定文件到给定的二进制区(自动确认使用内存) */
BOOL LoadBinaryFileEx(LPCTSTR chFileName, VOID *&pBuffTarget,
					  DWORD &dwBuffSize);

/* 将内部的资源文件导出为二进制的文件 */
BOOL ExportResAsBinFile(LPCTSTR lpFile, HMODULE hModule,
						DWORD dwName, LPCTSTR lpType);

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

/* 申请动态二维数组空间模板(申请块内存,DOS下有64K限制) */
BOOL NewByte2D(BYTE **&pImage, short nWide, short nHigh);

/* 释放动态二维数组空间模板,并赋值为NULL(简单数据类型) */
VOID DelByte2D(BYTE **&pImage);

/* 初始化二维动态数组空间(简单数据类型) */
VOID IniByte2D(BYTE **pImage, short nWide, short nHigh, BYTE data);

/* 将等大小的二维图像,由源区拷贝到目标区,可指定翻转 */
VOID CpyByte2D(BYTE **pDes, BYTE **pSrc,
			  short nWide, short nHigh, int bFlip);

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

#define MMPI				25.4000508F				/* 1英寸=25.4毫米 */
#define WIDTHBYTES(bits) (((bits) + 31) / 32 * 4)	/* 4整倍数宽度 */

typedef union tagUFourByte							/* 为SRAM读写 */
{
	char  chVal[4];									/* 四个字节段 */
	short nVal[2];									/* 两个字成员 */
	long  lVal;										/* 双字访问段 */
	
	BYTE byVal[4];									/* 四个字节段 */
	WORD wVal[2];									/* 两个字成员 */
	DWORD dwVal;									/* 双字访问段 */
}
UFourByte, *PUFourByte;								/* 四字节联合 */

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

/* 将指定8位/24位图像绘画到指定的设备中去(4的整数倍宽,含放缩) */
VOID DrawZnnImage(CDC *pDC, BYTE *pImage, int nWide, int nHigh,
				CONST LPCRECT pSrcRect = NULL,		/* 源图中某区域 */
				CONST LPCRECT pDesRect = NULL,		/* 设备中某区域 */
				BOOL bReverse = TRUE,				/* 是否翻转显示 */
				BOOL bColor24 = FALSE);				/* 是否是彩色图 */

/* 是否为Znn格式图像,若是则以像素为单位,返回高,及4的整数倍宽 */
BOOL IsmeZnnImage(LPCTSTR chFile,					/* 输入读取文件 */
				  WORD *pwWide = NULL, WORD *pwHigh = NULL);

/* 加载Znn格式图像,须备好目标内存,标明高,及4的整数倍宽 */
BOOL LoadZnnImage(LPCTSTR chFile,					/* 输入读取文件 */
				  BYTE *pImage,						/* 08位灰度图区 */
				  LONG nWide, LONG nHigh,			/* 图像的宽和高 */
				  BYTE *pColor = NULL,				/* 24位彩色图区 */
				  BOOL bReverse = TRUE);			/* 是否翻转加载 */

/* 仅按8位灰度/24位彩色,保存指定高,及4的整数倍宽的图像 */
BOOL SaveZnnImage(LPCTSTR chFile,					/* 欲保存的文件 */
				  const BYTE *pImage,				/* 图像区首指针 */
				  LONG nWide, LONG nHigh,			/* 图像的宽和高 */
				  BOOL bReverse = TRUE,				/* 是否翻转保存 */
				  BOOL bColor24 = FALSE);			/* 是否是彩色图 */

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

/* 判断BMP文件中的数据是否是所喜欢的可处理的数据 */
BOOL IsDesiredImage(const char *chFile,				/* 指定目标文件 */
					short &nWide, short &nHigh);	/* 返回BMP信息头 */

/* 保存的图像的点阵数据为BMP文件(可以存贮非4的整数倍的宽度) */
BOOL SaveArrayImage(LPCTSTR chFile,					/* 欲存文件名 */
					BYTE  **pImage,					/* 图像区指针 */
					short nWide, short nHigh,		/* 图像区宽高 */
					int   bIsFlip = 1,				/* 是否翻转图 */
				BITMAPINFOHEADER *pInfoHdr = NULL);	/* 存_BMP信息 */

/* 加载BMP的数据区到指定的内存(可翻转数据,可读取非4整数倍宽度图像) */
BOOL LoadArrayImage(LPCTSTR chFile,					/* 输入读取文件 */
					BYTE  **&pImage,				/* 图像内存区域 */
					short &nWide, short &nHigh,		/* 对应区域宽高 */
					int   bIsFlip = 1,				/* 是否翻转读取 */

⌨️ 快捷键说明

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