📄 sms.h
字号:
/*************************************************************************
*
* Copyright 2000 National ASIC Center, All right Reserved
*
* FILE NAME: sms.h
* PROGRAMMER: Yushaofeng
* Date of Creation: 2002/8/13
*
* DESCRIPTION: The essential declarations for sms module including
* MACRO define, global var declaration and public
* functions prototypes.
*
* NOTE:
*
**************************************************************************
*
* MODIFICATION HISTORY
*
*
* 2002/8/13 by Yushaofeng Creation of this file
*
*************************************************************************/
#ifndef SMS_DEF
#define SMS_DEF
#include <asixdef.h>
#include <sys\ppsmtype.h>
#include <database\SMShdb.h>
// 编辑短信返回值
#define SMS_OK 1
#define SMS_ERROR 0
// 发送短信返回值
#define SEND_OK 1
#define SEND_FAIL 0
// 保存短信返回值
#define SAVE_SMS_OK 1
#define SAVE_SMS_FAIL 0
// 历史记录保存返回值
//#define HIS_SAVE_OK 1
//#define HIS_SAVE_FAIL 0
// 阅读短信的返回值
#define READ_MODIFY_YES 1
#define READ_MODIFY_NO 0
// 常用语初始化函数的返回值
#define INIT_PHS_FAIL NULL
// 历史纪录函数初始化返回值
#define INIT_HIS_FAIL NULL
// 短信保存类型
#define SMS_HISTORY 0
#define SMS_PHONEBOOK 1
#define SMS_NOTEBOOK 2
// 号码保存失败
//#define PHONE_SAVE_FAIL 0
// 记事本保存失败
//#define NOTE_SAVE_FAIL 0
// 短信历史记录的类型和查找类型
#define SMS_ALL "0" //全部
#define SMS_UNREAD "1" //未读
#define SMS_READ "2" //已读
#define SMS_SEND "3" //发送(也就是自己写的短信)
#define SMS_SEARCH "4" //查找(通过查找得到的列表类型)
// 发送的不同状态
#define SENDING 1 //发送中
#define SUCCESS 2 //发送成功
#define FAIL 3 //发送失败
// 历史纪录排序标志
#define UP 0 //升序
#define DOWN 1 //降序
// 记事本的查找类型
//#define NAME_STYPE 1 //按姓名查找
//#define TEXT_STYPE 2 //按全文查找
//#define DATE_STYPE 3 //按日期查找
// 常量的宏定义
#define PHS_DISP_MAX 5 //常用语窗口最大显示个数,根据窗口大小得出的
#define HIS_DISP_MAX 7 //历史记录列表栏最大显示个数,根据显示面积大小得出的
#define BUTTON_W 20 //按钮边长
#define PHONE_MAX 16 //号码的最大长度
#define SMS_MAX 140 //短信的最大长度
#define PHS_MAX_NUM 20 //常用语链表的最大个数
#define PHS_MAX_SIZE 20 //常用语的最大长度
#define TIME_DISP_MAX 13 //时间显示的最大长度
#define NAME_MAX_SIZE 12 //名字的最大长度
//#define NOTE_MAX_SIZE 1000 //记事本文件的最大长度
#define SMS_DISP_MAX 5 //短信显示栏的最大显示列数,有窗口高度决定
#define HIS_MAX_NUM 50 //历史纪录最大个数
#define LINE_MAX_SIZE 11 //转发短信中显示框一栏显示的最大汉字个数
#define TIME_MAX_SIZE 14 //时间记录长度
#define TYPE_MAX_SIZE 1 //类型记录的长度
// 短信结构(应用层)
typedef struct
{
char number[PHONE_MAX + 1]; // 号码
char content[SMS_MAX + 1]; // 短信内容
}SMS;
// 短信历史记录结构
struct SMSHistory
{
DWORD index; //记录号索引
SMS sms; //短信
char flag[2]; //状态标识(已阅读、未阅读,发送)
char name[NAME_MAX_SIZE + 1]; //发信人或收信人姓名
char time[TIME_MAX_SIZE + 1]; //发送或接收的时间
// struct SMSHistory *next; //链表指针下一个记录
// struct SMSHistory *prev; //链表指针下一个记录
};
typedef struct SMSHistory SMSHISTORY;
// 搜索参数记录结构
typedef struct
{
char searchtype; //查找类型
char keyword[NAME_MAX_SIZE + 1]; //姓名查找的关键字
}SEARCH;
/*
历史记录分为三个类型
- 已读短信列表
- 未读短信列表,在被阅读后加入到已读短信列表
- 发送列表,记录自己写的已发送或没发送的短信;
*/
// 函数声明
extern STATUS EditSMS(void);
extern STATUS SendSMS(SMS *sms);
extern STATUS SaveSMS(SMS *sms, S16 savetype);
extern void ChoosePhrase(char *phs);
extern void GetPhrase(S16 *phsnum, char *phs);
extern void BrowseSMSHistory();
extern int ReadSMSHistory(S16 no, S16 listnum, SMSHISTORY **nowlist);
extern STATUS ReplySMS(char *phone);
extern STATUS TransmitSMS(char *content);
extern STATUS Add2SMSHistory(SMS *sms, char *type, char *time);
extern void LoadHistory(char *type, S16 *num, SMSHISTORY **list); //(这里的历史记录暂时自己写,应该是通过数据库读取)
extern void GetSMSList(SMSHISTORY **nowlist, S16 listnum, LOCALSEARCHLIST *searchlist);
extern SEARCH *SupSearch(S16 *num, SMSHISTORY **list);
extern void ModifySMS(SMSHISTORY *nowitem);
// 外部函数(要调用的外部函数,这里先自己写的)
extern char *SearchTelephoneBook();
extern STATUS AddPhonetoBook(char *number);
extern void Word2Bytes( unsigned char *s, unsigned short v );
extern void Bytes2Word( unsigned short *v, unsigned char *s );
extern void ByteReversal( unsigned char *s, unsigned char *v );
//extern STATUS SaveSmsNote(SMS *sms);
//extern char* searchname(char *number);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -