📄 s_integratemodel.c
字号:
**查询相应记录编号是否存在
******************************************************/
U16 SearchRec(U8 SearchRecNo[12])
{
U8 tmpLen,tmpDataLen,FoundRecFlag;
U16 i,j,ReturnBackNo;
TEXT NowSearchingTxt[]={'正','在','查','找',',','请','稍','候','..','. ',0};
ClearScreen(WHITE);
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 5, 120, (P_U8)NowSearchingTxt);
tmpDataLen=U8len(SearchRecNo);
if (TestRecCount==0) {
ReturnBackNo=0xFFFF;
}
for (i=0;i<TestRecCount;i++) {
FoundRecFlag=1;
tmpLen=U8len(TestRecData[i].RecNo);
if (tmpLen==tmpDataLen) {
for (j=0;j<tmpLen;j++) {
if (SearchRecNo[j]!=TestRecData[i].RecNo[j]) {
FoundRecFlag=0;
break;
}
}
} else {
FoundRecFlag=0;
}
if (FoundRecFlag==1) {
ReturnBackNo=i;
break;
} else {
ReturnBackNo=0xFFFF;
}
}
return ReturnBackNo;
}
/******************************************************
**添加到内存记录中
******************************************************/
void AddRec(U8 AddRecNo[12],U8 AddRecData[12])
{
U8 tmpLen,i;
for (i=0;i<12;i++) {
TestRecData[TestRecCount].RecNo[i]=0;
TestRecData[TestRecCount].RecData[i]=0;
}
tmpLen=U8len(AddRecNo);
for (i=0;i<tmpLen;i++) {
TestRecData[TestRecCount].RecNo[i]=AddRecNo[i];
}
tmpLen=U8len(AddRecData);
for (i=0;i<tmpLen;i++) {
TestRecData[TestRecCount].RecData[i]=AddRecData[i];
}
if (TestRecCount<MAXRECCOUNT) {
TestRecCount++;
}
}
/******************************************************
**列表记录任务
******************************************************/
void LstRecApp(void)
{
P_U16 inData;
U32 size, id;
S16 xSrc, ySrc, xDest, yDest;
U16 PageNum,i;
U32 UpPageId,NextPageId,DeleteRecId,ReturnBackId,RecItemId[MENUNUM];
TEXT ReturnBackTxt[]={'返','回',0};
TEXT UpPageTxt[]={'上','页',0};
TEXT NextPageTxt[]={'下','页',0};
TEXT RecNoTitleTxt[]={'编','号',0};
TEXT RecDataTitleTxt[]={'数','据',0};
TEXT RecStatusTxt[]={'状','态',0};
TEXT RecDeletedTxt[]={'删','除',0};
TEXT RecNormalTxt[]={'正','常',0};
PageNum=0;
ReDisPlay:
ClearScreen(WHITE);
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 5, 5, (P_U8)RecNoTitleTxt);
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 85, 5, (P_U8)RecDataTitleTxt);
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 200, 5, (P_U8)RecStatusTxt);
for (i=0;i<(TestRecCount>=(PageNum+1)*10 ? MENUNUM:(TestRecCount-PageNum*10));i++) {
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 2, 30+i*25, (P_U8)TestRecData[i].RecNo);
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 82, 30+i*25, (P_U8)TestRecData[i].RecData);
if (TestRecData[i].DelFlag) {
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 200, 30+i*25, (P_U8)RecDeletedTxt);
} else {
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 200, 30+i*25, (P_U8)RecNormalTxt);
}
if (ActiveAreaEnable((P_U32)&RecItemId[i],ICON_AREA,CONTINUOUS_MODE, i*25+25, 2, (i+1)*25+25, 237)!=PPSM_OK) rv=PPSM_ERROR;
}
if (TextButton(&UpPageId, GB_NORMAL_FONT,(P_TEXT)UpPageTxt, 2, 280, 78, 35, 1)
!= PPSM_OK) rv=PPSM_ERROR;
if (TextButton(&NextPageId, GB_NORMAL_FONT,(P_TEXT)NextPageTxt, 82, 280, 78, 35, 1)
!= PPSM_OK) rv=PPSM_ERROR;
if (TextButton(&ReturnBackId, GB_NORMAL_FONT,(P_TEXT)ReturnBackTxt, 162, 280, 78, 35, 1)
!= PPSM_OK) rv=PPSM_ERROR;
CkeckCutButtonFlag=0;
ElWorkCount=0;
SetPeriod(RTC_PERI_SECOND);
while (1) {
switch (IrptGetData((P_U32)&id, (P_U32*)&inData, (P_U32)&size)) {
case IRPT_RTC:
Elcheck();
CutDownCheck();
break;
case IRPT_ICON:
if (ActiveAreaRead(id,&xSrc,&ySrc,&xDest,&yDest)
!= PPSM_OK) rv = PPSM_ERROR;
if (InvRec(xSrc+1,ySrc+1,(xDest-(xSrc+1)),(yDest-(ySrc+1)))
!= PPSM_OK) rv = PPSM_ERROR;
if (*inData == PPSM_ICON_PEN_UP) {
EL_Open();
BUZZER_ON();
if (id==UpPageId) {
if (PageNum>0) {
for (i=0;i<MENUNUM;i++) {
ActiveAreaDisable(RecItemId[i]);
}
PageNum--;
goto ReDisPlay;
}
break;
} else if (id==NextPageId) {
if ((PageNum+1)*10<TestRecCount){
for (i=0;i<MENUNUM;i++) {
ActiveAreaDisable(RecItemId[i]);
}
PageNum++;
goto ReDisPlay;
}
break;
} else if (id==ReturnBackId) {
if (AdvMessageDelete(LstRecAppID, IRPT_ICON, -1)
!= PPSM_OK) rv = PPSM_ERROR;
if (AdvSendMessage(IntegrateModelAppID, NULL, SWAP_TASK)
!= PPSM_OK) rv= PPSM_ERROR;
break;
} else {
for (i=0;i<MENUNUM;i++) {
if (id==RecItemId[i]) {
CurrRecPoint=PageNum*10+i;
if (AdvMessageDelete(LstRecAppID, IRPT_ICON, -1)
!= PPSM_OK) rv = PPSM_ERROR;
if (AdvSendMessage(LstRecContentAppID, NULL, SWAP_TASK)
!= PPSM_OK) rv= PPSM_ERROR;
}
}
break;
}
}
default:
break;
}
}
}
void LstRecContentApp(void)
{
P_U16 inData;
U32 size, id;
S16 xSrc, ySrc, xDest, yDest;
U32 ReturnBackId,DeleteRecId,TurnBackId;
TEXT ReturnBackTxt[]={'返','回',0};
TEXT TurnBackTxt[]={'还','原',0};
TEXT DeleteRecTxt[]={'删','除',0};
TEXT TitleHintTxt[]={'当','前','记','录','信','息',':',0};
TEXT RecNoTitleTxt[]={'编','号',':',0};
TEXT RecDataTitleTxt[]={'数','据',':',0};
TEXT RecStatusTxt[]={'状','态',':',0};
TEXT RecDeletedTxt[]={'删','除',0};
TEXT RecNormalTxt[]={'正','常',0};
ReStartFlag:
ClearScreen(WHITE);
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 5, 5, (P_U8)TitleHintTxt);
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 20, 60, (P_U8)RecNoTitleTxt);
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 60, 60, (P_U8)TestRecData[CurrRecPoint].RecNo);
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 20, 120, (P_U8)RecDataTitleTxt);
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 60, 120, (P_U8)TestRecData[CurrRecPoint].RecData);
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 20, 180, (P_U8)RecStatusTxt);
if (TestRecData[CurrRecPoint].DelFlag) {
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 60, 180, (P_U8)RecDeletedTxt);
} else {
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 60, 180, (P_U8)RecNormalTxt);
}
if (TextButton(&DeleteRecId, GB_NORMAL_FONT,(P_TEXT)DeleteRecTxt, 2, 280, 78, 35, 1)
!= PPSM_OK) rv=PPSM_ERROR;
if (TextButton(&TurnBackId, GB_NORMAL_FONT,(P_TEXT)TurnBackTxt, 82, 280, 78, 35, 1)
!= PPSM_OK) rv=PPSM_ERROR;
if (TextButton(&ReturnBackId, GB_NORMAL_FONT,(P_TEXT)ReturnBackTxt, 162, 280, 78, 35, 1)
!= PPSM_OK) rv=PPSM_ERROR;
CkeckCutButtonFlag=0;
ElWorkCount=0;
SetPeriod(RTC_PERI_SECOND);
while (1) {
switch (IrptGetData((P_U32)&id, (P_U32*)&inData, (P_U32)&size)) {
case IRPT_RTC:
Elcheck();
CutDownCheck();
break;
case IRPT_ICON:
if (ActiveAreaRead(id,&xSrc,&ySrc,&xDest,&yDest)
!= PPSM_OK) rv = PPSM_ERROR;
if (InvRec(xSrc+1,ySrc+1,(xDest-(xSrc+1)),(yDest-(ySrc+1)))
!= PPSM_OK) rv = PPSM_ERROR;
if (*inData == PPSM_ICON_PEN_UP) {
EL_Open();
BUZZER_ON();
if (id==DeleteRecId) {
/**
if (AdvMessageDelete(LstRecContentAppID, IRPT_ICON, -1)
!= PPSM_OK) rv = PPSM_ERROR;
if (AdvSendMessage(DelRecAppID, NULL, SWAP_TASK)
!= PPSM_OK) rv= PPSM_ERROR;
break;
**/
AppSwap(FALSE);
if (MessageDelete(-1)!= PPSM_OK) rv= PPSM_ERROR;
TestRecData[CurrRecPoint].DelFlag=1;
AppSwap(TRUE);
goto ReStartFlag;
} else if (id==TurnBackId) {
AppSwap(FALSE);
if (MessageDelete(-1)!= PPSM_OK) rv= PPSM_ERROR;
TestRecData[CurrRecPoint].DelFlag=0;
AppSwap(TRUE);
goto ReStartFlag;
} else if (id==ReturnBackId) {
if (AdvMessageDelete(LstRecContentAppID, IRPT_ICON, -1)
!= PPSM_OK) rv = PPSM_ERROR;
if (AdvSendMessage(LstRecAppID, NULL, SWAP_TASK)
!= PPSM_OK) rv= PPSM_ERROR;
break;
}
}
default:
break;
}
}
}
/****************************************************************
**
****************************************************************/
void SaveRecApp(void)
{
P_U16 inData;
U32 size, id;
S16 xSrc, ySrc, xDest, yDest;
U32 BtnOkId,BtnCancelId;
TEXT BtnOkTxt[]={'确','定',0};
TEXT BtnCancelTxt[]={'取','消',0};
TEXT LostHintTxt[]={'当','前','删','除','记','录','将','彻','底','删','除','!',0};
TEXT SaveHintTxt[]={'您','确','定','要','保','存','记','录','吗','?',0};
TEXT ReStartHintTxt[]={'系','统','将','重','新','启','动','来','加','载','信','息',0};
ClearScreen(WHITE);
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 10, 80, (P_U8)SaveHintTxt);
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 10, 120, (P_U8)LostHintTxt);
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 10, 160, (P_U8)ReStartHintTxt);
if (TextButton(&BtnOkId, GB_NORMAL_FONT,(P_TEXT)BtnOkTxt, 20, 200, 90, 35, 1)
!= PPSM_OK) rv=PPSM_ERROR;
if (TextButton(&BtnCancelId, GB_NORMAL_FONT,(P_TEXT)BtnCancelTxt, 130, 200, 90, 35, 1)
!= PPSM_OK) rv=PPSM_ERROR;
CkeckCutButtonFlag=0;
ElWorkCount=0;
SetPeriod(RTC_PERI_SECOND);
while (1) {
switch (IrptGetData((P_U32)&id, (P_U32*)&inData, (P_U32)&size)) {
case IRPT_RTC:
Elcheck();
CutDownCheck();
break;
case IRPT_ICON:
if (ActiveAreaRead(id,&xSrc,&ySrc,&xDest,&yDest)
!= PPSM_OK) rv = PPSM_ERROR;
if (InvRec(xSrc+1,ySrc+1,(xDest-(xSrc+1)),(yDest-(ySrc+1)))
!= PPSM_OK) rv = PPSM_ERROR;
if (*inData == PPSM_ICON_PEN_UP) {
EL_Open();
BUZZER_ON();
if (id==BtnOkId) {
AppSwap(FALSE);
if (MessageDelete(-1)!= PPSM_OK) rv= PPSM_ERROR;
SaveData();
AppSwap(TRUE);
/**
if (AdvMessageDelete(SaveRecAppID, IRPT_ICON, -1)
!= PPSM_OK) rv = PPSM_ERROR;
if (AdvSendMessage(IntegrateModelAppID, NULL, SWAP_TASK)
!= PPSM_OK) rv= PPSM_ERROR;
**/
asm(" JSR START");
break;
} else if (id==BtnCancelId) {
if (AdvMessageDelete(SaveRecAppID, IRPT_ICON, -1)
!= PPSM_OK) rv = PPSM_ERROR;
if (AdvSendMessage(IntegrateModelAppID, NULL, SWAP_TASK)
!= PPSM_OK) rv= PPSM_ERROR;
break;
}
}
default:
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -