📄 s_integratemodel.c
字号:
#ifndef VZ328
#define VZ328
#endif
#include <stdlib.h>
#include <stdio.h>
#include <M68328.h>
#include <ppsm.h>
#include <errors.h>
#include <proto.h>
#include "sample.h"
#include "main.h"
#include "tools.h"
#include "Sunray.h"
/*******************************************************
**记录添加、删除、存储演示程序主界面任务
*******************************************************/
void IntegrateModelApp(void)
{
P_U16 inData;
U32 size, id;
S16 xSrc, ySrc, xDest, yDest;
U32 AddRecId,LstRecId,QryRecId,SaveRecId,ReturnBackId;
TEXT AddRecTxt[]={'添','加','记','录',0};
TEXT QryRecTxt[]={'查','询','记','录',0};
TEXT LstRecTxt[]={'显','示','记','录',0};
TEXT SaveRecTxt[]={'保','存','记','录',0};
TEXT ReturnBackTxt[]={'返','回',0};
ReStartFlag:
ClearScreen(WHITE);
if (TextButton(&AddRecId, GB_NORMAL_FONT,(P_TEXT)AddRecTxt, 30, 30, 180, 35, 1)
!= PPSM_OK) rv=PPSM_ERROR;
if (TextButton(&QryRecId, GB_NORMAL_FONT,(P_TEXT)QryRecTxt, 30, 70, 180, 35, 1)
!= PPSM_OK) rv=PPSM_ERROR;
if (TextButton(&LstRecId, GB_NORMAL_FONT,(P_TEXT)LstRecTxt, 30, 110, 180, 35, 1)
!= PPSM_OK) rv=PPSM_ERROR;
if (TextButton(&SaveRecId, GB_NORMAL_FONT,(P_TEXT)SaveRecTxt, 30, 150, 180, 35, 1)
!= PPSM_OK) rv=PPSM_ERROR;
if (TextButton(&ReturnBackId, GB_NORMAL_FONT,(P_TEXT)ReturnBackTxt, 30, 280, 180, 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==AddRecId) {
if (AdvMessageDelete(IntegrateModelAppID, IRPT_ICON, -1)
!= PPSM_OK) rv = PPSM_ERROR;
if (AdvSendMessage(AddRecAppID, NULL, SWAP_TASK)
!= PPSM_OK) rv= PPSM_ERROR;
break;
} else if (id==LstRecId) {
if (AdvMessageDelete(IntegrateModelAppID, IRPT_ICON, -1)
!= PPSM_OK) rv = PPSM_ERROR;
if (AdvSendMessage(LstRecAppID, NULL, SWAP_TASK)
!= PPSM_OK) rv= PPSM_ERROR;
break;
} else if (id==QryRecId) {
if (AdvMessageDelete(IntegrateModelAppID, IRPT_ICON, -1)
!= PPSM_OK) rv = PPSM_ERROR;
if (AdvSendMessage(QryRecAppID, NULL, SWAP_TASK)
!= PPSM_OK) rv= PPSM_ERROR;
break;
} else if (id==SaveRecId) {
if (AdvMessageDelete(IntegrateModelAppID, IRPT_ICON, -1)
!= PPSM_OK) rv = PPSM_ERROR;
if (AdvSendMessage(SaveRecAppID, NULL, SWAP_TASK)
!= PPSM_OK) rv= PPSM_ERROR;
break;
} else if (id==ReturnBackId) {
if (AdvMessageDelete(IntegrateModelAppID, IRPT_ICON, -1)
!= PPSM_OK) rv = PPSM_ERROR;
if (AdvSendMessage(MenuTaskAppID, NULL, SWAP_TASK)
!= PPSM_OK) rv= PPSM_ERROR;
break;
}
}
default:
break;
}
}
}
/********************************************************
**添加记录任务
********************************************************/
void AddRecApp(void)
{
P_U16 inData;
U32 size, id;
S16 xSrc, ySrc, xDest, yDest;
U16 gCursorXPos1,gCursorXPos2;
U16 gCursorYPos1,gCursorYPos2;
U8 KeyVal,StarNum1,StarNum2,ButtonFlag,InputErrorFlag;
U32 ButtonOkId, ButtonCancelId,InputRecNoId,InputRecDataId;
U8 InputRecNo[12],InputRecData[12],i;
TEXT ButtonOkTxt[]={'确','定',0};
TEXT ButtonCancelTxt[]={'取','消',0};
TEXT InputRecNoTxt[]={'编','号',':',0};
TEXT InputRecDataTxt[]={'数','据',':',0};
TEXT InputHintTxt[]={'请','输','入','数','据',':',0};
TEXT InputErrorTxt[]={'输','入','错','误',',','请','重','新','输','入','!',0};
TEXT BlankTxt[]={' ',0};
ClearScreen(WHITE);
for (i=0;i<12;i++) {
InputRecNo[i]=0;
InputRecData[i]=0;
}
KeyVal=0;
StarNum1=0;
StarNum2=0;
InputErrorFlag=0;
ButtonFlag=1;
gCursorXPos1=38;
gCursorYPos1=150;
gCursorXPos2=68;
gCursorYPos2=150;
CursorInit(16,8);
CursorSetStatus(PPSM_CURSOR_REVERSED);
CursorSetBlink(5);
ReStartFlag:
ClearScreen(WHITE);
if (InputErrorFlag==0) {
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 5, 5, (P_U8)InputHintTxt);
} else {
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 5, 5, (P_U8)InputErrorTxt);
}
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 5, 35, (P_U8)InputRecNoTxt);
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 5, 65, (P_U8)InputRecDataTxt);
if (TextButton(&InputRecNoId, GB_NORMAL_FONT,(P_TEXT)BlankTxt, 80, 35, 90, 20, 1)
!= PPSM_OK) rv=PPSM_ERROR;
if (TextButton(&InputRecDataId, GB_NORMAL_FONT,(P_TEXT)BlankTxt, 80, 65, 90, 20, 1)
!= PPSM_OK) rv=PPSM_ERROR;
ClearRec(WHITE,36,71,18,88,REPLACE_STYLE);
ClearRec(WHITE,66,71,18,88,REPLACE_STYLE);
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 82, 38, (P_U8)InputRecNo);
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 82, 68, (P_U8)InputRecData);
//DrawRec(BLACK, 35,80,55,170,0,REPLACE_STYLE);
if (ButtonFlag==1) {
CursorSetPos(gCursorXPos1,gCursorYPos1);
}else{
CursorSetPos(gCursorXPos2,gCursorYPos2);
}
//创建数字软键盘
KeyPadFunction_letter (150);
if (TextButton(&ButtonOkId,GB_NORMAL_FONT,(P_TEXT)ButtonOkTxt,40, 284, 60, 35, 1)
!=PPSM_OK) rv=PPSM_ERROR;
if (TextButton(&ButtonCancelId,GB_NORMAL_FONT,(P_TEXT)ButtonCancelTxt,140, 284, 60, 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==ButtonOkId) {
if (StarNum1==0 || StarNum2==0) {
InputErrorFlag=1;
goto ReStartFlag;
} else {
CursorOff();
AppSwap(FALSE);
if (MessageDelete(-1)!= PPSM_OK) rv= PPSM_ERROR;
AddRec(InputRecNo,InputRecData);
AppSwap(TRUE);
if (AdvMessageDelete(AddRecAppID, IRPT_ICON, -1)
!= PPSM_OK) rv = PPSM_ERROR;
if (AdvSendMessage(IntegrateModelAppID, NULL, SWAP_TASK)
!= PPSM_OK) rv= PPSM_ERROR;
}
break;
} else if (id==ButtonCancelId) {
CursorOff();
if (AdvMessageDelete(AddRecAppID, IRPT_ICON, -1)
!= PPSM_OK) rv = PPSM_ERROR;
if (AdvSendMessage(IntegrateModelAppID, NULL, SWAP_TASK)
!= PPSM_OK) rv= PPSM_ERROR;
break;
} else if (id==InputRecNoId) {
ButtonFlag=1;
CursorSetPos(gCursorXPos1,gCursorYPos1);
break;
} else if (id==InputRecDataId) {
ButtonFlag=2;
CursorSetPos(gCursorXPos2,gCursorYPos2);
break;
} else {
if (ButtonFlag==1) {
KeyVal=GetKeyChar_Letter(id);
if (KeyVal!=0) {
if (KeyVal==11) {
if (StarNum1>0) {
ClearRec(WHITE,36,71,18,88,REPLACE_STYLE);
StarNum1--;
InputRecNo[StarNum1]=0;
gCursorYPos1=gCursorYPos1+8;
CursorSetPos(gCursorXPos1,gCursorYPos1);
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 82, 38, (P_U8)InputRecNo);
}
} else {
if (StarNum1<10) {
InputRecNo[StarNum1]=KeyVal;
StarNum1++;
ClearRec(WHITE,36,71,18,88,REPLACE_STYLE);
gCursorYPos1=gCursorYPos1-8;
CursorSetPos(gCursorXPos1,gCursorYPos1);
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 82, 38, (P_U8)InputRecNo);
}
}
}
break;
} else if (ButtonFlag==2) {
KeyVal=GetKeyChar_Letter(id);
if (KeyVal!=0) {
if (KeyVal==11) {
if (StarNum2>0) {
ClearRec(WHITE,66,71,18,88,REPLACE_STYLE);
StarNum2--;
InputRecData[StarNum2]=0;
gCursorYPos2=gCursorYPos2+8;
CursorSetPos(gCursorXPos2,gCursorYPos2);
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 82, 68, (P_U8)InputRecData);
}
} else {
if (StarNum2<10) {
InputRecData[StarNum2]=KeyVal;
StarNum2++;
ClearRec(WHITE,66,71,18,88,REPLACE_STYLE);
gCursorYPos2=gCursorYPos2-8;
CursorSetPos(gCursorXPos2,gCursorYPos2);
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 82, 68, (P_U8)InputRecData);
}
}
}
break;
}
}
}
default:
break;
}
}
}
/*******************************************************
**删除记录任务
*******************************************************/
void DelRecApp(void)
{
P_U16 inData;
U32 size, id;
S16 xSrc, ySrc, xDest, yDest;
U32 BtnOkId,BtnCancelId;
TEXT BtnOkTxt[]={'确','定',0};
TEXT BtnCancelTxt[]={'取','消',0};
TEXT DelHintTxt[]={'您','确','定','要','删','除','此','记','录','吗','?',0};
ClearScreen(WHITE);
Typing(GB_NORMAL_FONT, REPLACE_STYLE, BLACK, 10, 100, (P_U8)DelHintTxt);
if (TextButton(&BtnOkId, GB_NORMAL_FONT,(P_TEXT)BtnOkTxt, 20, 150, 90, 35, 1)
!= PPSM_OK) rv=PPSM_ERROR;
if (TextButton(&BtnCancelId, GB_NORMAL_FONT,(P_TEXT)BtnCancelTxt, 130, 150, 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;
TestRecData[CurrRecPoint].DelFlag=1;
AppSwap(TRUE);
if (AdvMessageDelete(DelRecAppID, IRPT_ICON, -1)
!= PPSM_OK) rv = PPSM_ERROR;
if (AdvSendMessage(LstRecContentAppID, NULL, SWAP_TASK)
!= PPSM_OK) rv= PPSM_ERROR;
break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -