📄 skman.c
字号:
/****************************************************************
** *
** FILE : SKMan.C *
** COPYRIGHT : (c) 2001 .Xiamen Yaxon NetWork CO.LTD *
** *
** *
** By : CCH 2002.1.15 *
****************************************************************/
#include "includes.h"
#include "tools.h"
#include "db_sk.h"
#include "db_tb.h"
#include "prompt.h"
#include "menuwin.h"
#include "itemmenu.h"
#include "prompt.h"
#include "telbook.h"
#include "skman.h"
#if EN_HANDSET > 0
/*
********************************************************************************
* DEFINE MODULE VARIANTS
********************************************************************************
*/
static INT16S SelRecord;
static INT8U dplybuf[30];
static MENUWIN_STRUCT MenuWinEntry;
static void Informer(INT8U tellen, INT8U *tel, INT8U namelen, INT8U *name)
{
namelen = namelen;
name = name;
PopMenuWin();
ActivateStringPrompt("已存");
ModifySKRec(SelRecord, tellen, tel);
}
static void SetProc(void)
{
if (!ListTB_RET(Informer)) {
PopMenuWin();
ActivateStringPrompt("无电话本记录");
}
}
static void DisplayProc(void)
{
INT8U len;
PopMenuWin();
len = GetSKRecTel(SelRecord, dplybuf);
if (len == 0) {
strcpy((char *)dplybuf, "(空白)");
} else {
dplybuf[len] = '\0';
}
ActivateStringPrompt_TIME((char *)dplybuf, 0);
}
static void ACK_DelProc(void)
{
PopMenuWin();
PopMenuWin();
ActivateStringPrompt("已删除");
ClearSKRec(SelRecord);
}
static void DelProc(void)
{
ActivateSelPrompt("删除?", 0, ACK_DelProc);
}
static ITEMMENU_STRUCT MENU_SET = {ITEM_FCN, "设定", SetProc, 0, 0};
static ITEMMENU_STRUCT MENU_DISPLAY = {ITEM_FCN, "显示号码", DisplayProc, 0, 0};
static ITEMMENU_STRUCT MENU_DEL = {ITEM_FCN, "删除", DelProc, 0, 0};
static ITEMMENU_STRUCT *MENU_OP_CHILD[] = {&MENU_SET, &MENU_DISPLAY, &MENU_DEL};
static ITEMMENU_STRUCT MENU_OP = {ITEM_LMENU, 0, 0, 3, MENU_OP_CHILD};
static void Handler_KEY_ACK(void)
{
SelRecord = GetMenuWinRecordNum();
ActivateItemMenu(&MENU_OP);
}
static INT16U MaxRecordProc(void)
{
return MAX_SKREC;
}
static INT16U ReadRecordProc(INT16S numrec, INT8U *ptr)
{
INT8U len, templen1, templen2;
len = strlen("按键");
memcpy(ptr, "按键", len);
ptr += len;
DecToAscii(ptr, numrec, 1);
len++;
ptr++;
*ptr++ = '\n';
len++;
templen1 = GetSKRecTel(numrec, dplybuf);
if (templen1 == 0) {
templen1 = strlen("(空白)");
memcpy(ptr, "(空白)", templen1);
} else {
templen2 = GetTBNameByTel(dplybuf, templen1, dplybuf);
if (templen2 > 0) templen1 = templen2;
memcpy(ptr, dplybuf, templen1);
}
len += templen1;
return len;
}
static void ListSK(void)
{
memset(&MenuWinEntry, 0, sizeof(MenuWinEntry));
MenuWinEntry.WinAttrib = WIN_FMENU;
MenuWinEntry.Handler_KEY_ACK = Handler_KEY_ACK;
MenuWinEntry.MaxRecordProc = MaxRecordProc;
MenuWinEntry.ReadRecordProc = ReadRecordProc;
ActivateMenuWin(&MenuWinEntry);
}
ITEMMENU_STRUCT MENU_SKMAN = {ITEM_FCN, "单键拨号", ListSK, 0, 0};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -