www.pudn.com > isync2[1].0.rar > showcard.h
/***************************************************************************
showcard.h - description
-------------------
begin : Tue May 14 2002
copyright : (C) 2002 by root
email : root@Zct
***************************************************************************/
#ifndef SHOWCARD_H
#define SHOWCARD_H
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
//#include
//#include
/******************Mac_Check控件***********************/
class Fl_MacCheck_Button : public Fl_Button
{
protected:
virtual FL_EXPORT void draw();
public:
Fl_Pixmap on_pix, off_pix;
virtual FL_EXPORT int handle(int);
FL_EXPORT Fl_MacCheck_Button (int x, int y, int w, int h, const char *l = 0);
};
/******************************************************
CDatabase 部分
******************************************************/
#define MAXLEN_FILENAME 64
#define MAXLEN_DBKEY 12
#define MAXRECORD_OFENUSE 15
#include "gdbm.h"
class CDatabase //数据库类定义
{
public:
CDatabase(const char *szFileName);
~CDatabase();
//flag可以取这样几个值:GDBM_READER、GDBM_WRITER
//GDBM_WRCREAT、GDBM_NEWDB、GDBM_SYNC、GDBM_NOLOCK
bool Open(int flag, void (*fata_func)()=0);
bool IsOpen();
void Close();
bool Insert(datum &key, datum data);
bool Insertwithkey(datum key, datum data);
bool Modify(datum key, datum data);
bool Delete(datum key);
datum Fetch(datum key);
bool Exist(datum key);
datum FindFirst();
datum FindNext(datum key);
private:
GDBM_FILE gdbm_file;
char szDBFileName[MAXLEN_FILENAME];
};
/******************************************************
CardPreview 部分
******************************************************/
#define dim(x) (int)(sizeof(x)/sizeof(x[0]))
#define DBPATH DATAPATH
#define DETAILDB DBPATH"/Detail.dbm"
#define NAMEDB DBPATH"/Name.dbm"
#define TELDB DBPATH"/Tel.dbm"
#define SETTINGDB DBPATH"/Setting.dbm"
#define TYPESDB DBPATH"/Types.dbm"
#define RECENTDB DBPATH"/Recent.dbm"
//下面的宏定义各变量的最大长度
#define CARD_MAX_COUNT 1000
//
#define MAXLEN_TEL 17 //
#define MAXLEN_NAME 15 //
#define MAXLEN_MOBILETEL MAXLEN_TEL //
#define MAXLEN_OFFICETEL MAXLEN_TEL //
#define MAXLEN_INTERIORTEL MAXLEN_TEL //
#define MAXLEN_OTHERTEL MAXLEN_TEL //
#define MAXLEN_BUSINESS 25 //
#define MAXLEN_COMPANYNAME 65 //
#define MAXLEN_EMAL 65 //
#define MAXLEN_COMMENT 253 //
#define MAXLEN_RING 33 //
#define MAXLEN_ANSWER 33 //
//------------------名片详细资料数据结构定义-------------------//
struct Detail
{
char szName[MAXLEN_NAME]; //姓名
char szMobileTel[MAXLEN_MOBILETEL]; //手机号码
char szOfficeTel[MAXLEN_OFFICETEL]; //办公电话
char szInteriorTel[MAXLEN_INTERIORTEL]; //内线电话
char szOtherTel[MAXLEN_OTHERTEL]; //附加电话
char szBusiness[MAXLEN_BUSINESS]; //职务
char szCompanyName[MAXLEN_COMPANYNAME]; //单位名称
char szEmail[MAXLEN_EMAL]; //邮件地址
char szComment[MAXLEN_COMMENT]; //备注信息
char szRing[MAXLEN_RING]; //特色震铃
char szAnswer[MAXLEN_ANSWER]; //特色应答
char temp[3]; //
};
//------------------用于同步程序中的纪录结构-------------------//
struct TransferDetail
{
Detail card;
char szType[12];
};
//-----------------------供同步程序调用的接口--------------------------
void DeleteAllNamecard (void);
int SaveNameCard (TransferDetail *d); //存储名片
int SaveNameCardComplete (void); //存储完毕
//从名片数据库读取所有的名片,这个接口供同步程序使用
// >0 已经读取的名片张数
// =0 读取过程完毕,成功读取了所有名片
// -1 读取名片数据库时发生错误
int LoadNameCard (TransferDetail *pRecord);
int SaveNamecardLogFile (int nCurCardNum, int nCurTypeNum, bool sendmsg);
void KillAllSRProg (void);
#endif