📄 jishi.c
字号:
#include "..\inc\drv\Rtc.h"
#include "..\inc\drv\Display.h"
#include "..\ucos-ii\add\control.h"
#include "..\inc\resource.h"
#include "..\inc\jishi.h"
#include "..\inc\drv\File.h"
#include "..\inc\OSFile.h"
#define STStatus_SetjishiSelect 0
#define STStatus_Setzhuti 1
#define STStatus_Setneirong 2
extern PTextCtrl pzhutiTextCtrl;
extern PTextCtrl pneirongTextCtrl;
extern PListCtrl pMainListCtrl;
U32 SetjishiStatus;
extern U32 mainstatus;
extern struct jishi{
char zhu[20];
char nei[2000];
};
extern struct jishi j[31];
extern char TextFile1name[];
U16 zhuti[]={0x4E3B,0x9898,0x00};
U16 neirong[]={0x5185,0x5BB9,0x00};
void setjishiarea(U8 IsShow){
static char TimeKeyTable[]={'1','2','3',0,'4','5','6',0,'7','8','9',0,':','0','\b',0};
FILE *pfile;
structRECT rect;
int i;
char zhu[20];
char nei[2000];
U16 Zhu[31][20];
U16 Nei[31][2000];
PDC pdc;
ClearScreen();
pdc=CreateDC();
TextOut(pdc,125,50,zhuti,TRUE,FONTSIZE_SMALL);
TextOut(pdc, 125, 105, neirong, TRUE, FONTSIZE_SMALL);
SetRect(&rect,125,75,318,95);//创建主题文本框
pzhutiTextCtrl=CreateTextCtrl(ID_Setzhuti_TextCtrl, &rect, FONTSIZE_MIDDLE, CTRL_STYLE_3DDOWNFRAME,NULL,NULL);
SetRect(&rect,125,130,318,150);//创建内容文本框
pneirongTextCtrl=CreateTextCtrl(ID_Setneirong_TextCtrl, &rect, FONTSIZE_MIDDLE, CTRL_STYLE_3DDOWNFRAME,NULL,NULL);
pfile=OpenOSFile(TextFile1name,FILEMODE_READ);
if(pfile==NULL){
LCD_printf("Can't Open file!\n");
for(;;)
OSTimeDly(1000);
}
for(i=0;i<31;i++){
ReadOSFile(pfile,(U8*)&j[i],sizeof(j));
}
CloseOSFile(pfile);
for(i=0;i<31;i++){
strcpy(zhu,j[i].zhu);
strChar2Unicode(Zhu[i],zhu);
strcpy(nei,j[i].nei);
strChar2Unicode(Nei[i],nei);
}
SetTextCtrlText(pzhutiTextCtrl, Zhu[pMainListCtrl->CurrentSel],TRUE);
SetTextCtrlText(pneirongTextCtrl, Nei[pMainListCtrl->CurrentSel],TRUE);
ReDrawOSCtrl();
SetjishiStatus=STStatus_SetjishiSelect;
DestoryDC(pdc);
}
void Destorysetjishiarea()
{
PDC pdc;
pdc=CreateDC();
DestoryTextCtrl(pzhutiTextCtrl);
DestoryTextCtrl(pneirongTextCtrl);
FillRect(pdc, 124, 40, 319,200, GRAPH_MODE_NORMAL, COLOR_WHITE);
ReDrawOSCtrl();
DestoryDC(pdc);
}
void SetjishiSetFocus()
{
SetWndCtrlFocus(NULL, ID_Setzhuti_TextCtrl);
}
void SetjishiUp()
{
switch(SetjishiStatus){
case STStatus_SetjishiSelect:
if(GetWndCtrlFocus(NULL)==ID_Setneirong_TextCtrl){
SetWndCtrlFocus(NULL, ID_Setzhuti_TextCtrl);
DrawTextCtrl(pneirongTextCtrl);
DrawTextCtrl(pzhutiTextCtrl);}
break;
}
}
void SetjishiDown()
{
switch(SetjishiStatus){
case STStatus_SetjishiSelect:
if(GetWndCtrlFocus(NULL)==ID_Setzhuti_TextCtrl){
SetWndCtrlFocus(NULL, ID_Setneirong_TextCtrl);
DrawTextCtrl(pzhutiTextCtrl);
DrawTextCtrl(pneirongTextCtrl);
}
break;
}
}
void savenum1(){
FILE *pfile;
int i;
char zhu[31][20];
char nei[31][2000];
U16 Zhu[31][20];
U16 Nei[31][2000];
U16 Zhu1[2000];
U16 Nei1[2000];
switch(SetjishiStatus){
case STStatus_Setzhuti:
Zhu1[20]=pzhutiTextCtrl->text[0];
SetTextCtrlEdit(pzhutiTextCtrl, FALSE);
DrawTextCtrl(pzhutiTextCtrl);
case STStatus_Setneirong:
Nei1[2000]=pneirongTextCtrl->text[0];
SetTextCtrlEdit(pneirongTextCtrl, FALSE);
DrawTextCtrl(pneirongTextCtrl);
}
Unicode2stringChar(zhu, Zhu1[20]);
Unicode2stringChar(nei, Nei1[2000]);
strcpy(j[pMainListCtrl->CurrentSel].zhu,zhu);
strcpy(j[pMainListCtrl->CurrentSel].nei,nei);
pfile=OpenOSFile(TextFile1name,FILEMODE_WRITE);
for(i=0;i<31;i++){
WriteOSFile(pfile,(U8*)&j,sizeof(j));
}
//CloseOSFile(pfile);
}
void SetjishiOK()
{ static U8 input=FALSE;
switch(SetjishiStatus){
case STStatus_SetjishiSelect:
if(GetWndCtrlFocus(NULL)==ID_Setzhuti_TextCtrl){
SetjishiStatus=STStatus_Setzhuti;
pzhutiTextCtrl->text[0]=0;
SetTextCtrlEdit(pzhutiTextCtrl, TRUE);
DrawTextCtrl(pzhutiTextCtrl);
}
else if(GetWndCtrlFocus(NULL)==ID_Setneirong_TextCtrl){
SetjishiStatus=STStatus_Setneirong;
pneirongTextCtrl->text[0]=0;
SetTextCtrlEdit(pneirongTextCtrl, TRUE);
DrawTextCtrl(pneirongTextCtrl);
}
input=TRUE;
savenum1();
break;
case STStatus_Setzhuti:
SetjishiStatus=STStatus_SetjishiSelect;
input=FALSE;
case STStatus_Setneirong:
SetjishiStatus=STStatus_SetjishiSelect;
input=FALSE;
break;
}
}
void SetjishiCancel()
{
switch(SetjishiStatus){
case STStatus_Setzhuti:
SetTextCtrlEdit(pzhutiTextCtrl, FALSE);
SetjishiStatus=STStatus_SetjishiSelect;
break;
case STStatus_Setneirong:
SetTextCtrlEdit(pneirongTextCtrl, FALSE);
SetjishiStatus=STStatus_SetjishiSelect;
break;
case STStatus_SetjishiSelect:
Destorysetjishiarea();
mainstatus=SET_SERJI;
SetWndCtrlFocus(NULL, ID_MainListBox);
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -