?? 設置時間.c
字號:
//---------------------------------------------------------------------------------------------------
//標準菜單程序
//
//
//---------------------------------------------------------------------------------------------------
#include "menu.h"
#include "CM240128.H"
#include "輸入狀態欄.h"
#include "gprs.h"
#include "功能選擇菜單.h"
#include "數據存儲.h"
#include <string.h>
#include "系統設置.h"
#include "M41T0DRV.H"
#include "main.h"
//---------------------------------------------------------------------------------------------------
xdata unsigned char DateTimedisbuf[30];
void MENU_DateTime_Load(unsigned char *pBuf)
{
unsigned char i;
pBuf=pBuf;
ClrDisplay();
SetCurrLoc(0,0);
DisplayStr("設置時間",30);
for(i=0;i<30;i++) DateTimedisbuf[i]=0X00;
SetCurrLoc(0,20);
DisplayStr("例子 >070101120000",30);
SetCurrLoc(0,48);
DisplayStr("日期時間>",30);
InputStateOption(1);
}
//---------------------------------------------------------------------------------------------------
//刷新
void MENU_DateTime_refurbish(void)
{
//user code
//user code end
}
//---------------------------------------------------------------------------------------------------
//數據輸入
void MENU_DateTime_incept(unsigned char *pBuf)
{
//user code
xdata DateTimeTYP datetime;
unsigned char l1,l2;
if(pBuf==0)return;
if(*pBuf==15)
{//按下刪除鍵
l1 = strlen(DateTimedisbuf);
if(l1!=0)DateTimedisbuf[l1-1]=0;
SetCurrLoc(9,48);
DisplayFill(' ',21);
SetCurrLoc(9,48);DisplayStr(DateTimedisbuf,20);
return;
}
if(*pBuf == 0x0a)
{//確認 回車鍵
if(strlen(DateTimedisbuf)==12)
{
datetime.sec =((DateTimedisbuf[10]<<4)|(DateTimedisbuf[11]&0X0F));
datetime.min =((DateTimedisbuf[8]<<4)|(DateTimedisbuf[9]&0X0F));
datetime.hour =((DateTimedisbuf[6]<<4)|(DateTimedisbuf[7]&0X0F));
datetime.date =((DateTimedisbuf[4]<<4)|(DateTimedisbuf[5]&0X0F));
datetime.month=((DateTimedisbuf[2]<<4)|(DateTimedisbuf[3]&0X0F));
datetime.year =((DateTimedisbuf[0]<<4)|(DateTimedisbuf[1]&0X0F));
SetM41T0Time(&datetime);
}
GoMainMenu();;
return;
}
if(*pBuf == 0x06)
{//取消 ctl鍵
GoMainMenu();;
return;
}
l1 = strlen(DateTimedisbuf);
l2 = strlen(pBuf);
if((l1+l2)<20)strcat(DateTimedisbuf,pBuf);
SetCurrLoc(9,48);
DisplayFill(' ',21);
SetCurrLoc(9,48);DisplayStr(DateTimedisbuf,29);
//user code end
}
//---------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------
//下面是不可改寫的代碼
void MENU_DateTime(unsigned char *pBuf)
{
MenuSet(MENU_DateTime_refurbish,MENU_DateTime_incept);
MENU_DateTime_Load(pBuf);
}
//---------------------------------------------------------------------------------------------------
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -