📄 设置时间.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 + -