📄 page6_page10.c
字号:
#include "44b.h"
#include "def.h"
#include "GUI.h"
#include "option.h"
#include "utils.h"
#include "lcd.h"
#include "lcdlib.h"
#include "glib.h"
#include "slib.h"
#include "..\include\math.h"
#include <stdarg.h>
struct RXDATA *pRXdata=&SaveD1.RXd;
struct TXDATA TTXXddB,*pTXdata=&SaveD1.TXd;
U32 CunChuNo1;
void StrCpy(U8 *p,U8 *s,U16 len)
{ U8 i=0;
for (i=0;i<len;i++)
{
*s++=*p++;
}
}
void Data_ReFlash(StructInputData *p,U16 PageN)
{
U16 i,kk;
U32 j;
StructInputData *P_Load;
P_Load=p;
PageN=pTXdata->TXkey.nPageNo;
if (keyd2!=0xff)
{
switch(keyd2)
{
case KEY_UP:
if (pTXdata->TXkey.nCursorPreLine!=0)pTXdata->TXkey.nCursorPreLine--;
else pTXdata->TXkey.nCursorPreLine=pTXdata->TXkey.nCursorMaxLine-1;
p=P_Load;
p+=pTXdata->TXkey.nCursorOldLine;
Lcd_G4_Bmp_Rev(p->x,p->y,p->w,p->h,Gray1);
p=P_Load;
p+=pTXdata->TXkey.nCursorPreLine;
Lcd_G4_Bmp_Rev(p->x,p->y,p->w,p->h,Gray1);
pTXdata->TXkey.nCursorOldLine=pTXdata->TXkey.nCursorPreLine;
break;
case KEY_DOWN:
if (pTXdata->TXkey.nCursorPreLine!=(pTXdata->TXkey.nCursorMaxLine-1))pTXdata->TXkey.nCursorPreLine++;
else pTXdata->TXkey.nCursorPreLine=0;
p=P_Load;
p+=pTXdata->TXkey.nCursorOldLine;
Lcd_G4_Bmp_Rev(p->x,p->y,p->w,p->h,Gray1);
p=P_Load;
p+=pTXdata->TXkey.nCursorPreLine;
Lcd_G4_Bmp_Rev(p->x,p->y,p->w,p->h,Gray1);
pTXdata->TXkey.nCursorOldLine=pTXdata->TXkey.nCursorPreLine;
break;
case KEY_OK:
keyd2=0xff;
p=P_Load;
p+=pTXdata->TXkey.nCursorOldLine;
if (pTXdata->TXkey.nCursorOldLine!=pTXdata->TXkey.nCursorPreLine)
{
Lcd_G4_Bmp_Rev(p->x,p->y,p->w,p->h,Gray1);
p=P_Load;
p+=pTXdata->TXkey.nCursorPreLine;
Lcd_G4_Bmp_Rev(p->x,p->y,p->w,p->h,Gray1);
}
else {p=P_Load; p+=pTXdata->TXkey.nCursorOldLine;}
Lcd_G4_Bmp_Rev(p->x,p->y,p->w,p->h,Gray1);
Lcd_G4_Bmp_Rev(p->x,p->y,p->w,p->h,Gray3);
Delay(200);
switch(p->nDataType)
{
case TypePage:
pTXdata->TXkey.nPageNo=p->nPageNo;
pTXdata->xiangbie=p->xiangbie;
if (PageN==p->nPageNo)
{
Lcd_G4_Bmp_Rev(p->x,p->y,p->w,p->h,Gray3);
Lcd_G4_Bmp_Rev(p->x,p->y,p->w,p->h,Gray1);
}
pTXdata->TXkey.nCursorOldLine=pTXdata->TXkey.nCursorPreLine;
return ;//p->nPageNo;
break;
case TypeSave:
RtcGetTime(&SaveD1.Save_time);
if (NumberSave.CunChuNo<1000){NF_Data_SaveD1(NumberSave.CunChuNo,(U8 *)&SaveD1);if(NumberSave.CunChuNoMAX<999)NumberSave.CunChuNoMAX++;}
else {NumberSave.CunChuNo=0;NF_Data_SaveD1(0,(U8 *)&SaveD1);NumberSave.CunChuNoMAX=999;}
NumberSave.CunChuNo++;
if (NumberSave.CunChuNo>=1000){NumberSave.CunChuNo=0;NumberSave.CunChuNoMAX=999;}
NF_Data_SaveNum(1010);
if (NumberSave.CunChuNo>0)CunChuNo1=NumberSave.CunChuNo-1;
else if (NumberSave.CunChuNo==0 && NumberSave.CunChuNoMAX==0)CunChuNo1=0;
else if (NumberSave.CunChuNo==0 && NumberSave.CunChuNoMAX!=0)CunChuNo1=NumberSave.CunChuNoMAX;
if (PageN==p->nPageNo)
{
Lcd_G4_Bmp_Rev(p->x,p->y,p->w,p->h,Gray3);
Lcd_G4_Bmp_Rev(p->x,p->y,p->w,p->h,Gray1);
}
pTXdata->TXkey.nCursorOldLine=pTXdata->TXkey.nCursorPreLine;
return ;//p->nPageNo;
break;
case TypePageDn:
if (CunChuNo1<NumberSave.CunChuNoMAX){CunChuNo1++;NF_Data_GetD1(CunChuNo1,(U8 *)&GetD1);}
else {CunChuNo1=0; NF_Data_GetD1(CunChuNo1,(U8 *)&GetD1);}
pTXdata->TXkey.nCursorOldLine=pTXdata->TXkey.nCursorPreLine;
pTXdata->TXkey.Addr_Page=GetD1.TXd.TXkey.Addr_Page;
change=1;
break;
case TypePageUp:
if (CunChuNo1==0)
{
CunChuNo1=NumberSave.CunChuNoMAX;NF_Data_GetD1(CunChuNo1,(U8 *)&GetD1);
}
else{CunChuNo1--;NF_Data_GetD1(CunChuNo1,(U8 *)&GetD1);}
pTXdata->TXkey.nCursorOldLine=pTXdata->TXkey.nCursorPreLine;
pTXdata->TXkey.Addr_Page=GetD1.TXd.TXkey.Addr_Page;
change=1;
break;
case TypeDel:
if (CunChuNo1<NumberSave.CunChuNoMAX)
{
for (j=CunChuNo1;j<NumberSave.CunChuNoMAX;j++)
{
NF_Data_GetD1(++j,(U8 *)&GetD1);
NF_Data_SaveD1(--j,(U8 *)&GetD1);
}
}
else if (CunChuNo1>0) CunChuNo1--;
if (NumberSave.CunChuNoMAX>0){NumberSave.CunChuNoMAX--;}
if (NumberSave.CunChuNo>0){NumberSave.CunChuNo--;}
else if (NumberSave.CunChuNo==0)NumberSave.CunChuNo=NumberSave.CunChuNoMAX;
NF_Data_SaveNum(1010);
NF_Data_GetD1(CunChuNo1,(U8 *)&GetD1);
pTXdata->TXkey.nCursorOldLine=pTXdata->TXkey.nCursorPreLine;
pTXdata->TXkey.Addr_Page=GetD1.TXd.TXkey.Addr_Page;
change=1;
break;
case TypeDelAll:
for (j=0;j<=NumberSave.CunChuNoMAX;j++)
{
i =NFEraseBlock(j);
}
NumberSave.CunChuNoMAX=0;
NumberSave.CunChuNo=0;
NF_Data_SaveNum(1010);
CunChuNo1=NumberSave.CunChuNo;
pTXdata->TXkey.nCursorOldLine=pTXdata->TXkey.nCursorPreLine;
pTXdata->TXkey.Addr_Page=0;
change=1;
break;
case TypeStr:
GetStr(p);
Lcd_G4_Bmp_All(pTXdata->TXkey.Addr_Page,InvertOFF ) ;
break;
case TypeFloat:
GetFloat(p);
Lcd_G4_Bmp_All(pTXdata->TXkey.Addr_Page,InvertOFF ) ;
break;
case TypeSwitch:
GetSwitch(p);
Lcd_G4_Bmp_All(pTXdata->TXkey.Addr_Page,InvertOFF ) ;
break;
default:
Lcd_G4_Bmp_Rev(p->x,p->y,p->w,p->h,Gray3);
break;
}
Lcd_G4_Bmp_Rev(p->x,p->y,p->w,p->h,Gray1);
pTXdata->TXkey.nCursorOldLine=pTXdata->TXkey.nCursorPreLine;
NF_Data_SaveTXd(0);
break;
case KEY_ESC:
keyd2=0xff;
pTXdata->TXkey.nPageNo=pTXdata->TXkey.nPageFatuer;
return ;
break;
default:break;
}
keyd2=0xff;
}
for (i=0,p=P_Load;i<pTXdata->TXkey.nCursorMaxLine;i++,p++)
{
switch(p->nDataType)
{
case TypeStr:
OutStr(p->Udata.U8_data,p->datax,p->datay,InvertOFF,Gray3,p->nHigh,p->nInputStrLen);
break;
case TypeFloat:
OutFloat(p->Udata.F_data,p->datax,p->datay,InvertOFF,Gray3,p->nHigh,p->nInputStrLen);
break;
case TypeSwitch:
OutStr(&p->Udata.SwitchData.Data[*p->Udata.SwitchData.Number][0],p->datax,p->datay,InvertOFF,Gray3,p->Udata.SwitchData.High,p->Udata.SwitchData.len);
break;
default:
break;
}
if ((Touch_X > p->x)&&(Touch_X < (p->x + p->w) )&&(Touch_Y > p->y)&&(Touch_Y < (p->y+p->h)))
{
p=P_Load+i;
pTXdata->TXkey.nCursorPreLine=i;
pTXdata->TXkey.nSerial++;
pTXdata->TXkey.nkey=KEY_OK;
p=P_Load;
p+=pTXdata->TXkey.nCursorPreLine;
keyd2=KEY_OK;
Touch_X=0;Touch_Y=0;
}
}
}
void Save_Fresh(StructInputData *p,U16 len)
{
int i;
for (i=0;i<len;i++,p++)
{
switch(p->nDataType)
{
case TypeStr:
OutStr(p->Udata.U8_data,p->datax,p->datay,InvertOFF,Gray3,p->nHigh,p->nInputStrLen);
break;
case TypeFloat:
OutFloat(p->Udata.F_data,p->datax,p->datay,InvertOFF,Gray3,p->nHigh,p->nInputStrLen);
break;
case TypeSwitch:
OutStr(&p->Udata.SwitchData.Data[*p->Udata.SwitchData.Number][0],p->datax,p->datay,InvertOFF,Gray3,p->Udata.SwitchData.High,p->Udata.SwitchData.len);
break;
default:
break;
}
}
}
void Re_Flash(StructInputData *p)
{
switch(p->nDataType)
{
case TypeStr:
OutStr(p->Udata.U8_data,p->datax,p->datay,InvertOFF,Gray3,p->nHigh,p->nInputStrLen);
break;
case TypeFloat:
OutFloat(p->Udata.F_data,p->datax,p->datay,InvertOFF,Gray3,p->nHigh,p->nInputStrLen);
break;
case TypeSwitch:
OutStr(&p->Udata.SwitchData.Data[*p->Udata.SwitchData.Number][0],p->datax,p->datay,InvertOFF,Gray3,p->Udata.SwitchData.High,p->Udata.SwitchData.len);
break;
default:
break;
}
}
U8 Page6(void)
{
int i=0,Kk,ttt,xx,yy;
StructInputData INputdata[3],*P_Input=&INputdata[0];
StructInputData XiangBie[2],*P_P=&XiangBie[0];
pTXdata->ptctyz=_Y;
P_Input->x=104;P_Input->y=47;P_Input->w=114;P_Input->h=28;P_Input->nDataType=TypeStr;P_Input->nInputStrLen=0x800;
P_Input->Udata.U8_data=&pTXdata->CeShiRenY[0];
P_Input++;
P_Input->x=312;P_Input->y=47;P_Input->w=114;P_Input->h=28;P_Input->nDataType=TypeStr;P_Input->nInputStrLen=0x800;
P_Input->Udata.U8_data=&pTXdata->CeShiXL[0];
P_Input++;
P_Input->x=469;P_Input->y=412;P_Input->w=119;P_Input->h=36;P_Input->nDataType=TypePage;P_Input->nPageNo=2;
pTXdata->TXkey.nCursorPreLine=0;
pTXdata->TXkey.nCursorOldLine=0;
pTXdata->TXkey.nCursorMaxLine=3;
pTXdata->TXkey.nCursor=0;
pTXdata->TXkey.nTimeDisConst=1;
pTXdata->TXkey.nPageFatuer=2;
pTXdata->TXkey.nPageNo=6;
pTXdata->TXkey.Addr_Page=acpage6;
for (i=0,P_Input=INputdata;i<pTXdata->TXkey.nCursorMaxLine;i++,P_Input++)
{
P_Input->datax=P_Input->x+5;
P_Input->datay=P_Input->y+2;
P_Input->nHigh=HIGH24;
}
P_Input=INputdata;
Lcd_G4_Bmp_All(pTXdata->TXkey.Addr_Page,InvertOFF ) ;
Lcd_G4_Bmp_Rev(P_Input->x,P_Input->y,P_Input->w,P_Input->h,Gray1);
Touch_X=0; Touch_Y=0;
keyd2=0xff;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -