📄 db_sm.c
字号:
/****************************************************************
** *
** FILE : DB_SM.C *
** COPYRIGHT : (c) 2001 .Xiamen Yaxon NetWork CO.LTD *
** *
** *
** By : CCH 2002.1.15 *
****************************************************************/
#include "includes.h"
#include "tools.h"
#include "database.h"
#include "record.h"
#include "db_sm.h"
#if EN_HANDSET > 0
/*
********************************************************************************
* DEFINE RECORD FIELD
********************************************************************************
*/
#define FIELD_READFLAG 0
#define FIELD_DATE 1
#define FIELD_TIME 2
#define FIELD_TEL 3
#define FIELD_DATA 4
/*
********************************************************************************
* DEFINE DB_SM FIELDS
********************************************************************************
*/
static FIELD_STRUCT fields[] = { {FIELD_FIXED, 1}, /* field: unread flag */
{FIELD_FIXED, SMREC_SIZE_DATE}, /* field: date */
{FIELD_FIXED, SMREC_SIZE_TIME}, /* field: time */
{0, SMREC_SIZE_TEL}, /* field: tel */
{0, SMREC_SIZE_DATA} /* field: data */
};
static SMREC_STRUCT SM_test;
void InitDB_SM(void)
{
SM_test = SM_test;
if (!DB_IsValid(DB_SM)) {
DB_Init(DB_SM, FALSE, sizeof(fields)/sizeof(FIELD_STRUCT), fields, MAX_SMREC, 0, 0);
}
}
INT8U GetSMRecTel(INT16U numrec, INT8U *ptr)
{
return DB_GetRecField(DB_SM, numrec, FIELD_TEL, ptr);
}
INT16U GetSMRec(INT16U numrec, SMREC_STRUCT *ptr)
{
return DB_GetRec(DB_SM, numrec, (INT8U *)ptr);
}
void AddSMRec(SMREC_STRUCT *smrec)
{
smrec->unread = TRUE;
if (!DB_AddRec(DB_SM, TRUE, (INT8U *)smrec)) DB_Del(DB_SM);
}
void DelSMRec(INT16U numrec)
{
DB_DelRec(DB_SM, numrec);
}
void DelAllSMRec(void)
{
DB_Init(DB_SM, FALSE, sizeof(fields)/sizeof(FIELD_STRUCT), fields, MAX_SMREC, 0, 0);
}
INT16U GetSMRecItem(void)
{
return DB_GetItem(DB_SM);
}
BOOLEAN HaveUnReadSMRec(void)
{
BOOLEAN refflag;
refflag = TRUE;
if (DB_FindRec(DB_SM, 0, FIELD_READFLAG, 1, (INT8U *)&refflag) == -1) return FALSE;
else return TRUE;
}
BOOLEAN SMRecUnRead(INT16U numrec)
{
BOOLEAN unread;
if (DB_GetRecField(DB_SM, numrec, FIELD_READFLAG, (INT8U *)&unread) == 0)
return FALSE;
else
return unread;
}
void ClearSMRecUnReadFlag(INT16U numrec)
{
BOOLEAN unread;
DB_GetRecField(DB_SM, numrec, FIELD_READFLAG, (INT8U *)&unread);
if (unread) {
unread = FALSE;
DB_ModifyRecField(DB_SM, numrec, FIELD_READFLAG, 0, (INT8U *)&unread);
}
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -