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