| 
钻石会员 主题
回帖0
积分22987
阅读权限50
注册时间2009-6-9
最后登录1970-1-1
在线时间 小时
 
 | 
 
 楼主|
发表于 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 );        //显示数据(字符串)
 }
 
 
 | 
 |