📄 pda.c
字号:
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡*/
const unsigned char Image_Info[398]={0,4,28,0,28,0,
0,0,16,16,1,1,0,0,1,1,11,187,187,187,0,16,0,0,0,0,1,187,187,187,177,
0,0,11,16,0,1,13,221,219,187,0,0,0,0,0,0,27,13,221,221,217,153,144,
0,0,0,1,0,1,0,27,217,153,153,153,153,144,1,1,1,0,0,0,17,27,217,118,
101,67,50,144,0,0,1,36,87,120,96,27,217,34,34,34,33,144,5,121,151,
102,67,33,16,27,217,35,70,101,17,129,2,32,0,1,0,16,17,27,216,37,85,
86,17,112,0,0,2,35,69,102,113,27,215,21,101,86,33,112,5,137,151,102,
100,66,33,27,215,36,86,103,17,96,17,32,1,1,1,17,17,27,215,38,119,
120,34,96,0,0,16,16,18,52,81,27,215,24,135,120,35,97,1,52,102,121,
151,101,65,27,215,40,136,119,70,96,4,101,66,33,17,17,17,27,214,71,
118,103,102,96,16,16,17,17,17,17,17,27,214,102,102,102,102,97,1,16,
17,17,17,17,17,27,214,102,102,102,102,97,16,17,17,17,17,17,17,27,
214,102,102,102,102,96,1,17,17,17,17,17,17,27,214,102,102,102,102,
97,17,17,17,17,17,17,17,27,214,102,102,86,85,81,17,17,17,17,17,17,
17,27,214,101,85,85,85,81,17,17,17,17,17,17,17,27,213,85,85,85,85,
65,17,17,17,17,17,33,187,176,213,85,85,84,68,65,17,17,17,17,187,187,
0,16,213,68,68,68,68,65,17,17,187,187,1,0,0,0,212,84,68,68,68,65,
187,187,1,1,0,0,16,16,212,68,68,68,221,219,16,1,0,0,1,0,0,0,212,68,
221,221,0,0,0,0,0,0,0,0,1,0,221,221,0,0,16,16,1,0,16,16,1,1,0,16,
};
/*≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
□
□ 图象数据数组 generated by 《PdaTools-BmpToGray.exe》
□
□ 图象数据头部(有)长度为6字节的DATAHEAD结构。
□ 扫描模式:0(0:水平 1:垂直 2:字节垂直,数据水平 3:字节水平,数据垂直 4:Nucleus)
□ 灰度: 4(1:单色 2:四灰 4:十六灰 8:256色)
□ 宽度: 18
□ 高度: 32
□
□---2001.10.5--17:18----------------------------------------------------
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡*/
const unsigned char Image_Calc[294]={0,4,18,0,32,0,
0,0,0,16,17,32,254,255,242,1,2,0,15,255,239,84,69,110,0,255,239,245,
103,84,34,67,111,254,149,34,19,70,86,134,85,95,243,54,136,136,118,
120,104,139,95,246,168,135,137,153,169,172,219,94,245,168,170,184,
169,188,155,219,47,246,136,170,169,170,170,203,220,79,245,136,170,
171,170,170,189,207,62,245,135,170,173,189,221,187,200,63,245,134,
251,220,188,153,99,19,47,245,120,219,184,117,65,65,70,47,245,101,
85,99,37,7,114,214,31,245,102,50,114,139,95,132,130,47,245,102,60,
198,248,85,19,17,31,245,101,142,85,66,33,33,70,47,246,85,84,67,37,
6,116,213,15,246,85,67,98,154,95,119,98,30,246,85,59,184,247,85,1,
0,31,246,86,157,83,18,32,33,67,31,246,83,68,34,34,21,98,200,15,246,
68,65,81,135,94,85,81,15,246,66,42,166,245,52,0,0,15,246,66,127,81,
17,1,33,86,47,245,81,34,33,5,21,132,198,31,215,66,32,82,170,111,100,
112,15,247,68,91,216,246,36,1,0,31,245,70,141,83,18,16,1,3,143,246,
82,49,32,0,1,106,255,240,245,80,17,0,41,255,239,0,0,245,66,23,255,
255,0,16,2,1,15,255,255,16,2,0,16,16,1,};
/*≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
□
□ 图象数据数组 generated by 《PdaTools-BmpToGray.exe》
□
□ 图象数据头部(有)长度为6字节的DATAHEAD结构。
□ 扫描模式:0(0:水平 1:垂直 2:字节垂直,数据水平 3:字节水平,数据垂直 4:Nucleus)
□ 灰度: 4(1:单色 2:四灰 4:十六灰 8:256色)
□ 宽度: 32
□ 高度: 31
□
□---2001.10.5--17:20----------------------------------------------------
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡*/
const unsigned char Image_Game[502]={0,4,32,0,31,0,
0,17,221,170,171,161,0,0,0,0,0,32,1,0,0,0,0,10,17,18,33,26,17,16,
0,17,28,186,208,0,1,0,18,177,66,34,34,34,161,26,203,173,161,17,26,
16,0,0,0,209,19,67,51,50,45,161,17,17,34,34,26,17,16,16,44,18,35,
52,83,51,34,34,82,37,51,82,27,17,0,1,11,18,35,67,51,51,51,37,35,51,
51,34,43,17,26,187,42,34,67,51,67,67,67,51,51,51,51,50,186,172,162,
42,28,34,51,51,52,51,51,51,51,51,187,186,17,17,16,11,42,35,52,51,
83,68,67,51,187,187,33,34,20,17,32,192,27,36,85,83,99,54,52,91,34,
18,19,33,37,17,18,176,28,36,85,69,187,186,187,178,33,18,17,34,36,
33,28,32,28,38,85,91,35,34,50,34,17,33,34,34,37,17,42,0,28,53,86,
178,34,34,34,49,50,36,34,34,37,17,194,32,28,54,86,178,34,34,37,34,
34,34,36,34,37,17,160,0,26,71,87,194,82,67,50,53,34,36,34,65,36,29,
18,0,28,69,107,66,66,51,51,50,221,221,221,221,212,42,0,0,28,86,123,
50,51,51,70,45,16,0,29,205,205,188,236,16,27,102,138,35,83,68,67,
45,241,1,176,0,0,16,0,210,28,86,124,67,53,84,70,61,9,154,207,1,0,
16,1,240,27,117,195,52,85,68,68,45,250,240,192,0,16,0,16,240,28,119,
163,85,85,85,84,108,26,0,191,0,31,0,1,241,42,87,196,85,85,85,84,61,
9,175,224,2,207,240,16,241,28,122,68,53,101,85,100,92,44,250,176,
15,255,255,16,241,28,108,37,101,86,100,124,204,12,159,208,30,255,
223,2,240,9,123,51,85,137,204,177,13,13,44,224,0,95,81,0,241,45,161,
76,204,146,17,18,12,27,255,193,5,254,245,16,240,1,188,193,17,32,33,
0,13,12,252,176,0,0,16,15,240,0,17,16,16,0,0,1,12,17,1,192,0,32,0,
2,240,0,2,0,1,0,0,1,44,0,0,208,1,0,1,45,240,1,0,0,0,0,0,32,2,255,
255,192,1,1,16,2,210,0,0,1,0,1,0,16,16,0,0,15,239,239,255,255,32,
};
#include <stdio.h>
#include <memory.h>
#include "pda.h"
#ifdef _PSDE_
/*LCD显示缓冲区*/
unsigned char DisBuffer[12800];
/*ROM首指针*/
unsigned char *RomAddress;
#endif
/*PDA秒中断处理函数。*/
void IntSecond(void)
{
TimeSecondAdd(&SysTime);
if(FuncSecond!=NULL)FuncSecond();
}
/*PDA按键中断处理函数。*/
void IntKey(void)
{
PDAMSG msg;
#ifdef _PSDE_
msg.key=PSDE_GetMsgButton();
#elif
/*PDA获得按键消息代码*/
#endif
if(msg.key!=-1)
{
msg.type=MSG_KEY;
SendMsg(&msg);
}
#ifdef _PSDE_
/*获取键盘的字符输入*/
msg.character=PSDE_GetMsgChar();
if(msg.x!=-1)/*msg.x==msg.character*/
{
msg.type=MSG_CHAR;
SendMsg(&msg);
}
#endif
}
/*PDA触摸屏中断处理函数。*/
void IntTouchPanel(void)
{
PDAMSG msg;
#ifdef _PSDE_
PSDE_GetMsgTouchPanel(&msg.PenStatus,&msg.x,&msg.y);
#elif
/*PDA获得触摸屏消息代码*/
#endif
msg.type=MSG_PEN;
SendMsg(&msg);
}
/*PDA开机初始化函数。*/
void InitPda(void)
{
#ifdef _PSDE_
/*PSDE模拟PDA初始化代码。*/
void GetPcTime(PDATIME *time);
GetPcTime(&SysTime);
SysTime.week=GetWeek(SysTime.year,SysTime.month,SysTime.day);
FuncSecond=NULL;
PSDE_INT_SetSecond();
PSDE_SetFuncSecond(IntSecond);
PSDE_SetFuncKey(IntKey);
PSDE_SetFuncTouchPanel(IntTouchPanel);
#else
/*PDA初始化代码。*/
#endif
}
/*PDA入口函数。*/
void main()
{
short Calc(void);
short MyPda(void);
PDAMSG msg;
RECT rc;
short i,choose;
BUTTON button[9];
const unsigned char str[9][8]={"PDA","电话本","记事本","绘图","游戏","词典","提醒","计算器","时间",};
const unsigned char *bmp[9]={Image_MyPda,Image_Input,Image_Menu,Image_Password,Image_Sound,Image_Time,Image_Info,Image_Calc,Image_Game,};
InitPda();
for(i=0;i<9;i++)
{
InitRect((i%3)*53,(i/3)*53,53+(i%3)*53,53+(i/3)*53,&rc);
InitButton(&button[i],&rc,0);
SetButtonBmp(&button[i],(unsigned char *)bmp[i],(unsigned char *)str[i]);
}
msg.type=MSG_PAINT;
SendMsg(&msg);
while(1)
{
GetMsg(&msg);
TranslateMsg(&msg);
choose=(msg.type>=80&&msg.type<90)?msg.type:0;
switch(msg.type)
{
case MSG_PAINT:
memset(DisBuffer,0,12800);
for(i=0;i<9;i++)DrawButton(&button[i],0);
break;
case MSG_LCD:
for(i=0;i<9;i++)if(GetButton(&button[i],&msg))
{
choose=81+i;
break;
}
break;
}
if(choose)
{
while(choose)switch(choose)
{
case MSG_EXIT:
case MSG_HOME:choose=0;break;/*回到主界面消息*/
case MSG_PDA:choose=MyPda();break;/*PDA*/
case MSG_TEL:choose=0;break;/*电话本*/
case MSG_NOTEPAD:choose=0;break;/*记事本*/
case MSG_DRAW:choose=0;break;/*绘图*/
case MSG_GAME:choose=0;break;/*游戏*/
case MSG_DICT:choose=0;break;/*词典*/
case MSG_REMIND:choose=0;break;/*提醒*/
case MSG_CALC:choose=Calc();break;/*计算器*/
case MSG_TIME:choose=0;break;/*时间*/
}
msg.type=MSG_PAINT;
SendMsg(&msg);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -