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

📄 globalfunc.h

📁 视频芯片管理系统
💻 H
字号:
#ifndef _GLOBALFUNC_H_
#define _GLOBALFUNC_H_


#include <stdio.h>
#include <stdarg.h>
#include <afxdb.h>

#include "DogMgt_Base.h"
#include "..\\RecordSet\\DogInfoSet.h"
#include "..\\RecordSet\\OwnerInfoSet.h"
#include "..\\RecordSet\\ImmunityRecSet.h"
#include "..\\RecordSet\\OwnerChangeRecSet.h"

//显示消息
extern void ShowMsg(char msg[]);
//显示时间
extern void ShowDateTime(unsigned char dt[]);
//BCD格式转成字符串
extern void	Bcd2Str(const uchar *bcd,char *str,int len);
//字符串转成BCD格式
extern void	Str2Bcd(const char *str ,uchar *bcd,int len);
//日期(y,m,d)格式转成距1900.01.01的天数
extern unsigned int greg2jul( int y, int m, int d );
//日期距1900.01.01的天数转成(y,m,d)格式
extern void jul2greg( uint jd, int &y, int &m, int &d );
//日期(y,m,d)格式转成BCD格式
extern void greg2bcd(int y, int m, int d, uchar *bcddate);
//BCD格式日期转成(y,m,d)格式
extern void bcd2greg(const uchar *bcddate, int &y, int &m, int &d);
//时间(y,m,d,h,mi,s)格式转成BCD格式
extern void greg2bcd_time(int y, int m, int d, int h, int mi, int s, uchar *bcdtime);
//BCD格式时间转成(y,m,d,h,mi,s)格式
extern void bcd2greg_time(const uchar *bcdtime, int &y, int &m, int &d, int &h, int &mi, int &s);
//日期距1900.01.01天数转成BCD格式日期
extern void jul2bcd(unsigned int jd, uchar *bcddate);
//BCD格式日期转成距1900.01.01的天数
extern unsigned int bcd2jul(const uchar *bcddate);
//BCD日期转成实时时钟格式(y=year-1900),m=0~11, d=1~31
extern void bcd2rt(const uchar *dt, int &y, int &m, int &d);
extern int	CmpBcdDate(const uchar *d1, const uchar *d2);

//输入函数
//十六进制数输入(适用于PIN输入,APDU测试等)
extern void GetHexInput(const char *Promt, unsigned int HexCount, unsigned char *HexBuf);
//BCD数据的输入
extern void GetBcdInput(const char *Promt, unsigned int BcdCount, unsigned char *BcdBuf);
//字符串输入(适用于项目名称输入,付款单位输入等)
extern void GetStrInput(const char *Promt, unsigned int Length, char *StrBuf);
//日期输入
extern void GetDateInput(const char *Promt, unsigned char *DateBuf, 
		int *y=NULL, int *m=NULL, int *d=NULL);
//时间输入
extern void GetTimeInput(const char *Promt, unsigned char *TimeBuf, 
		int *h=NULL, int *mi=NULL, int *s=NULL);
//整数输入(适用于发票号,各种数量输入)
extern void GetIntInput(const char *Promt, unsigned int &Num);
//金额输入(适用于商品单价输入)
extern void GetAmountInput(const char *Promt, unsigned int &Amount);
//总参数量输入(适用于商品数量输入)
extern void GetFltNumInput(const char *Promt, unsigned int &Num, unsigned char &LenOfFloatPart);
//IP地址输入
extern void GetIPInput(const char *Promt, char *IPBuf);

//检查BCD格式的日期格式是否正确
extern int CheckBcdDateFormat(const unsigned char *BcdDate);
//检查STR格式的日期格式是否正确
extern int CheckStrDateFormat(const unsigned char *StrDate);
//检查字符串表示的整数格式是否正确,正确时返回相应的整数
extern int CheckIntInput(const char *IntStr, unsigned int &Int);
//检查字符串表示的十六进制数格式是否正确,正确时返回相应的一半字节的十六进制缓冲区
extern int CheckHexInput(const char *HexStr, unsigned int HexCount, unsigned char *HexBuf);
//检查字符串表示的BCD数串格式是否正确,正确时返回相应的一半字节的BCD缓冲区
extern int CheckBcdInput(const char *BcdStr, unsigned int BcdCount, unsigned char *BcdBuf);
//检查字符串表示的金额格式是否正确,正确时返回相应的以分为单位的金额
extern int CheckAmountInput(const char *AmountBuf, unsigned int &Amount);
//检查字符串表示的项目数量格式是否正确,正确时返回数量和小数部分的长度
extern int CheckFltNumInput(const char *FltNumBuf, unsigned int &Num, unsigned char &LenOfFloatPart);
//检查输入的IP地址是否正确
extern int CheckIPInput(const char *IPBuf);

//询问用户
int QueryUser(const char *Promt, int flag=YESNO);

//测试各个输入函数的正确性
extern void TestInputFunctions();

//记录集与结构之间的相互转换
extern void Rec2Struct_DogInfo(CDogInfoSet *pdiSet, struct DogInfo &di);
extern void Struct2Rec_DogInfo(struct DogInfo di, CDogInfoSet *pdiSet);
extern void Rec2Struct_OwnerInfo(COwnerInfoSet *poiSet, struct OwnerInfo &oi);
extern void Struct2Rec_OwnerInfo(struct OwnerInfo oi, COwnerInfoSet *poiSet);
extern void Rec2Struct_ImmunityRec(CImmunityRecSet *pirSet, struct ImmunityRec &ir);
extern void Struct2Rec_ImmunityRec(struct ImmunityRec ir, CImmunityRecSet *pirSet);
extern void Rec2Struct_OwnerChangeRec(COwnerChangeRecSet *pocrSet, struct OwnerChangeRec &ocr);
extern void Struct2Rec_OwnerChangeRec(struct OwnerChangeRec ocr, COwnerChangeRecSet *pocrSet);

#endif

⌨️ 快捷键说明

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