钻石会员
![Rank: 7](static/image/common/star_level3.gif) ![Rank: 7](static/image/common/star_level2.gif) ![Rank: 7](static/image/common/star_level1.gif)
主题
帖子
积分22773
阅读权限50
注册时间2009-6-9
最后登录1970-1-1
在线时间 小时
|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2014-5-27 16:25
|
显示全部楼层
本帖最后由 HGQ21102 于 2014-5-27 16:28 编辑
各位不好意思,都不记得回答大字的贴了,我参考网上自己写了个,大家看看怎么样,感觉不太好(当然俺的水平就这样了)
void Integer_show (u16 x, u16 y, u16 fc, u16 bc, unsigned long num, u16 num_bit)//整数显示: X, y, 字体颜色, 背景颜色, 显示数据, 数据位数
{
unsigned char dat_1[10],dat_2[10];
unsigned char ii=0,k=0,u=0,m=0;
signed char i=0;
for (i = 0; i < 10; i++)//初始化数据
{
dat_1 = 0;dat_2 = 0;
}
i = 0;
while (num / 10) //拆位
{
dat_1 = num % 10; //最高位
num /= 10; //除后赋值,减去最高位数后赋值给num
i++;
}
dat_1 = num; //最高位
ii = i+1; //保存dat的位数
u = i+1;
for (k = 0; k < u ; k++)//字符串返转,如“12345”变成“54321”
{
dat_2[k] = dat_1[ii-1];
ii--;
}
for (; i >= 0; i--) //转化成ASCII
{
dat_2 += 48;
}
for (i=x;i<(x+(8*num_bit));i++) //清显示区域
{
for (m=y;m<(y+16);m++)
{
Gui_DrawPoint(i,m,bc);
}
}
Gui_DrawFont_GBK16(x, y, fc, bc, dat_2 ); //显示数据(字符串)
}
|
|