TA的每日心情 | 慵懒 2018-2-11 09:23 |
---|
签到天数: 8 天 [LV.3]偶尔看看II
|
本帖最后由 冰糖 于 2010-11-9 21:22 编辑
当时学C时候抄袭来的代码,不保证能运行 /:017- #include <graphics.h>
- #include <stdio.h>
- #include <fcntl.h>
- #include <alloc.h>
- #include <stdlib.h>
- #include <string.h>
- #include "Conio.h"
- #include "graphics.h"
- #define closegr closegraph
- void initgr(void) /* BGI初始化 */
- {int gd=DETECT,gm=0; /* 和gd=VGA,gm=VGAHI是同样效果 */
- registerbgidriver(EGAVGA_driver);/* 注册BGI驱动后可以不需要.BGI文件的支持运行 */
- initgraph(&gd,&gm,"");
- }
- void drawmat(char *mat,int matsize,int x,int y,int color)
- /*依次:字模指针、点阵大小、起始坐标(x,y)、颜色*/
- {int i,j,k,n;
- n=(matsize-1)/8+1;
- for(j=0;j<matsize;j++)
- for(i=0;i<n;i++)
- for(k=0;k<8;k++)
- if(mat[j*n+i]&(0x80>>k)) /*测试为1的位则显示*/
- putpixel(x+i*8+k,y+j,color);
- }
- char shi64[]={
- /* 以下是 '师' 的 64点阵黑体 字模,512 byte */
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x7C,0x3F,0xFF,0xFF,0xFF,0xF0,
- 0x00,0x00,0x7C,0x3F,0xFF,0xFF,0xFF,0xF0,
- 0x00,0x00,0x7C,0x3F,0xFF,0xFF,0xFF,0xF0,
- 0x03,0xF0,0x7C,0x3F,0xFF,0xFF,0xFF,0xF0,
- 0x03,0xE0,0x7C,0x00,0x00,0xF8,0x00,0x00,
- 0x03,0xE0,0x7C,0x00,0x00,0xF8,0x00,0x00,
- 0x03,0xE0,0x7C,0x00,0x00,0xF8,0x00,0x00,
- 0x03,0xE0,0x7C,0x00,0x00,0xF8,0x00,0x00,
- 0x03,0xE0,0x7C,0x00,0x00,0xF8,0x00,0x00,
- 0x03,0xE0,0x7C,0x00,0x00,0xF8,0x00,0x00,
- 0x03,0xE0,0x7C,0x00,0x00,0xF8,0x00,0x00,
- 0x03,0xE0,0x7C,0x00,0x00,0xF8,0x00,0x00,
- 0x03,0xE0,0x7C,0x00,0x00,0xF8,0x00,0x00,
- 0x03,0xE0,0x7C,0x00,0x00,0xF8,0x00,0x00,
- 0x03,0xE0,0x7C,0x0F,0xFF,0xFF,0xFF,0xC0,
- 0x03,0xE0,0x7C,0x0F,0xFF,0xFF,0xFF,0xC0,
- 0x03,0xE0,0x7C,0x0F,0xFF,0xFF,0xFF,0xC0,
- 0x03,0xE0,0x7C,0x0F,0xFF,0xFF,0xFF,0xC0,
- 0x03,0xE0,0x7C,0x0F,0x80,0xF8,0x07,0xC0,
- 0x03,0xE0,0x7C,0x0F,0x80,0xF8,0x07,0xC0,
- 0x03,0xE0,0x7C,0x0F,0x80,0xF8,0x07,0xC0,
- 0x03,0xE0,0x7C,0x0F,0x80,0xF8,0x07,0xC0,
- 0x03,0xE0,0x7C,0x0F,0x80,0xF8,0x07,0xC0,
- 0x03,0xE0,0x7C,0x0F,0x80,0xF8,0x07,0xC0,
- 0x03,0xE0,0x7C,0x0F,0x80,0xF8,0x07,0xC0,
- 0x03,0xE0,0x7C,0x0F,0x80,0xF8,0x07,0xC0,
- 0x03,0xE0,0x7C,0x0F,0x80,0xF8,0x07,0xC0,
- 0x03,0xE0,0x7C,0x0F,0x80,0xF8,0x07,0xC0,
- 0x03,0xE0,0x7C,0x0F,0x80,0xF8,0x07,0xC0,
- 0x03,0xE0,0x7C,0x0F,0x80,0xF8,0x07,0xC0,
- 0x03,0xE0,0x7C,0x0F,0x80,0xF8,0x07,0xC0,
- 0x03,0xE0,0x7C,0x0F,0x80,0xF8,0x07,0xC0,
- 0x03,0xE0,0x7C,0x0F,0x80,0xF8,0x07,0xC0,
- 0x03,0xE0,0x7C,0x0F,0x80,0xF8,0x07,0xC0,
- 0x03,0xE0,0x7C,0x0F,0x80,0xF8,0x07,0xC0,
- 0x03,0xE0,0x78,0x0F,0x80,0xF8,0x07,0xC0,
- 0x03,0xE0,0xF8,0x0F,0x80,0xF8,0x07,0xC0,
- 0x03,0xE0,0xF8,0x0F,0x80,0xF8,0x07,0xC0,
- 0x03,0xE0,0xF8,0x0F,0x80,0xF8,0x07,0x80,
- 0x03,0xE1,0xF0,0x0F,0x80,0xF8,0xFF,0x80,
- 0x00,0x01,0xF0,0x0F,0x80,0xF8,0xFF,0x80,
- 0x00,0x03,0xF0,0x0F,0x80,0xF8,0x7F,0x80,
- 0x00,0x03,0xE0,0x0F,0x80,0xF8,0x7F,0x00,
- 0x00,0x07,0xE0,0x0F,0x80,0xF8,0x7C,0x00,
- 0x00,0x0F,0xC0,0x0F,0x80,0xF8,0x60,0x00,
- 0x00,0x1F,0xC0,0x0F,0x80,0xF8,0x00,0x00,
- 0x00,0x3F,0x80,0x00,0x00,0xF8,0x00,0x00,
- 0x00,0x7F,0x00,0x00,0x00,0xF8,0x00,0x00,
- 0x00,0xFE,0x00,0x00,0x00,0xF8,0x00,0x00,
- 0x01,0xFC,0x00,0x00,0x00,0xF8,0x00,0x00,
- 0x07,0xF8,0x00,0x00,0x00,0xF8,0x00,0x00,
- 0x07,0xF0,0x00,0x00,0x00,0xF8,0x00,0x00,
- 0x01,0xE0,0x00,0x00,0x00,0xF8,0x00,0x00,
- 0x00,0xC0,0x00,0x00,0x00,0xF8,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- };
- char da64[]={
- /* 以下是 '大' 的 64点阵黑体 字模,512 byte */
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x07,0xE0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x07,0xE0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x07,0xE0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x07,0xE0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x07,0xC0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x07,0xC0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x07,0xC0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x07,0xC0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x07,0xC0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x07,0xC0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x07,0xC0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x07,0xC0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x07,0xC0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x07,0xC0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x07,0xC0,0x00,0x00,0x00,
- 0x01,0xE0,0x00,0x07,0xC0,0x00,0x07,0xC0,
- 0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,
- 0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,
- 0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,
- 0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,
- 0x00,0x00,0x00,0x07,0xC0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x07,0xC0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x07,0xE0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x07,0xE0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x0F,0xE0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x0F,0xE0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x0F,0xE0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x0F,0xF0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x1F,0xF0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x1F,0xF0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x1F,0xF8,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x3E,0x78,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x3E,0x7C,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x7C,0x3E,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xFC,0x3E,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xF8,0x1F,0x00,0x00,0x00,
- 0x00,0x00,0x01,0xF8,0x1F,0x80,0x00,0x00,
- 0x00,0x00,0x03,0xF0,0x0F,0xC0,0x00,0x00,
- 0x00,0x00,0x03,0xF0,0x07,0xE0,0x00,0x00,
- 0x00,0x00,0x07,0xE0,0x07,0xF0,0x00,0x00,
- 0x00,0x00,0x0F,0xC0,0x03,0xF8,0x00,0x00,
- 0x00,0x00,0x1F,0xC0,0x01,0xFC,0x00,0x00,
- 0x00,0x00,0x3F,0x80,0x00,0xFE,0x00,0x00,
- 0x00,0x00,0xFF,0x00,0x00,0xFF,0x80,0x00,
- 0x00,0x01,0xFE,0x00,0x00,0x7F,0xC0,0x00,
- 0x00,0x03,0xFC,0x00,0x00,0x3F,0xE0,0x00,
- 0x00,0x0F,0xF8,0x00,0x00,0x1F,0xF8,0x00,
- 0x00,0x3F,0xF0,0x00,0x00,0x0F,0xFE,0x00,
- 0x00,0xFF,0xC0,0x00,0x00,0x07,0xFF,0x80,
- 0x03,0xFF,0x80,0x00,0x00,0x01,0xFF,0xE0,
- 0x0F,0xFF,0x00,0x00,0x00,0x00,0xFF,0xC0,
- 0x07,0xFC,0x00,0x00,0x00,0x00,0x7F,0x80,
- 0x03,0xF8,0x00,0x00,0x00,0x00,0x1F,0x00,
- 0x01,0xE0,0x00,0x00,0x00,0x00,0x0E,0x00,
- 0x01,0xC0,0x00,0x00,0x00,0x00,0x02,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- };
- char matarray16k[]={
- /* 以下是 '2' 的 16点阵宋体 字模,32 byte */
- 0x00,0x00,0x07,0xC0,0x08,0x20,0x10,0x10,
- 0x10,0x10,0x00,0x10,0x00,0x10,0x00,0xE0,
- 0x03,0x00,0x04,0x00,0x08,0x00,0x10,0x00,
- 0x10,0x10,0x10,0x10,0x1F,0xF0,0x00,0x00,
- /* 以下是 '0' 的 16点阵宋体 字模,32 byte */
- 0x00,0x00,0x07,0xC0,0x08,0x20,0x10,0x10,
- 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
- 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
- 0x10,0x10,0x08,0x20,0x07,0xC0,0x00,0x00,
- /* 以下是 '0' 的 16点阵宋体 字模,32 byte */
- 0x00,0x00,0x07,0xC0,0x08,0x20,0x10,0x10,
- 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
- 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
- 0x10,0x10,0x08,0x20,0x07,0xC0,0x00,0x00,
- /* 以下是 '2' 的 16点阵宋体 字模,32 byte */
- 0x00,0x00,0x07,0xC0,0x08,0x20,0x10,0x10,
- 0x10,0x10,0x00,0x10,0x00,0x10,0x00,0xE0,
- 0x03,0x00,0x04,0x00,0x08,0x00,0x10,0x00,
- 0x10,0x10,0x10,0x10,0x1F,0xF0,0x00,0x00,
- /* 以下是 '0' 的 16点阵宋体 字模,32 byte */
- 0x00,0x00,0x07,0xC0,0x08,0x20,0x10,0x10,
- 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
- 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
- 0x10,0x10,0x08,0x20,0x07,0xC0,0x00,0x00,
- /* 以下是 '6' 的 16点阵宋体 字模,32 byte */
- 0x00,0x00,0x07,0xC0,0x08,0x20,0x10,0x10,
- 0x10,0x10,0x10,0x00,0x10,0x00,0x17,0xC0,
- 0x18,0x20,0x10,0x10,0x10,0x10,0x10,0x10,
- 0x10,0x10,0x08,0x20,0x07,0xC0,0x00,0x00,
- /* 以下是 '1' 的 16点阵宋体 字模,32 byte */
- 0x00,0x00,0x01,0x00,0x03,0x00,0x05,0x00,
- 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
- 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
- 0x01,0x00,0x01,0x00,0x07,0xC0,0x00,0x00,
- /* 以下是 '6' 的 16点阵宋体 字模,32 byte */
- 0x00,0x00,0x07,0xC0,0x08,0x20,0x10,0x10,
- 0x10,0x10,0x10,0x00,0x10,0x00,0x17,0xC0,
- 0x18,0x20,0x10,0x10,0x10,0x10,0x10,0x10,
- 0x10,0x10,0x08,0x20,0x07,0xC0,0x00,0x00,
- };
- int puthz16(int,int,int,int,char *);
- int puthz24(int,int,int,int,int,int,char *);
- int getbit(unsigned char,int);
- int handle,test1,test2,test3,test4,test5;
- main()
- {
- int gdriver,gmode;
- int i,j;
- gdriver=DETECT;
- /* registerbgidriver(EGAVGA_driver);*/
- initgraph(&gdriver,&gmode,"c:\\ccdos\\program\\tc");/*修改以适应*/
- setbkcolor(7);
- setcolor(LIGHTBLUE);
- cleardevice();
- ReadIcon(100,100,"C:\\fnt\\about.dat",0);
- initgr(); /* BGI初始化 */
- drawmat(shi64,64,200,125,WHITE);
- drawmat(da64,64,300,125,WHITE);
- for(i=0;i<8;i++)
- drawmat(matarray16k+i*32,16,300+i*16,250,RED);
- cleardevice();
- mainmenu();
- closegraph();
- exit(0);
- getch(); /* 暂停一下,看看前面绘图代码的运行结果 */
- closegr(); /* 恢复TEXT屏幕模式 */
- }
- int openhzk(char c)
- { if (c=='s')
- handle=open("c:\\ucdos\\fnt\\hzk24s",O_RDONLY|O_BINARY);
- if (c=='f')
- handle=open("c:\\ucdos\\fnt\\hzk24f",O_RDONLY|O_BINARY);
- if (c=='k')
- handle=open("c:\\ucdos\\fnt\\hzk24k",O_RDONLY|O_BINARY);
- if (c=='h')
- handle=open("c:\\ucdos\\fnt\\hzk24h",O_RDONLY|O_BINARY);
- if (c=='o')
- handle=open("c:\\ucdos\\hzk16",O_RDONLY|O_BINARY);
- if(handle==-1)
- {
- cputs("Error on open hzk");
- getch();
- closegraph();
- exit(1);
- }
- }
- int puthz16(int x,int y,int z,int color,char *p)
- {
- unsigned int i,c1,c2,f=0;
- int i1,i2,i3,rec;
- long l;
- char by[32];
- while((i=*p++)!=0)
- {
- if(i>0xa1)
- if(f==0)
- {
- c1=(i-0xa1)&0x7f;
- f=1;
- }
- else
- {
- c2=(i-0xa1)&0x7f;
- f=0;
- rec=c1*94+c2;
- l=rec*32L;
- lseek(handle,l,SEEK_SET);
- read(handle,by,32);
- for(i1=0;i1<16;i1++)
- for(i2=0;i2<2;i2++)
- for(i3=0;i3<8;i3++)
- if(getbit(by[i1*2+i2],7-i3))
- putpixel(x+i2*8+i3,y+i1,color);
- x=x+16+z;
- }
- }
- return(x);
- }
- int puthz24(int x,int y,int z,int color,int xm,int ym,char *p)
- {
- unsigned int i,c1,c2,f=0;
- int i1,i2,i3,i4,i5,rec;
- long l;
- char by[72];
- while((i=*p++)!=0)
- {
- if(i>0xa1)
- if(f==0)
- {
- c1=(i-0xa1-15)&0x07f;
- f=1;
- }
- else
- {
- c2=(i-0xa1)&0x07f;
- f=0;
- rec=c1*94+c2;
- l=rec*72L;
- lseek(handle,l,SEEK_SET);
- read(handle,by,72);
- for(i1=0;i1<24*xm;i1=i1+xm)
- for(i4=0;i4<xm;i4++)
- for(i2=0;i2<3;i2++)
- for(i3=0;i3<8;i3++)
- if(getbit(by[i1/xm*3+i2],7-i3))
- for(i5=0;i5<ym;i5++)
- putpixel(x+i1+i4,y+i2*8*ym+i3*ym+i5,color);
- x=x+24*ym+z;
- }
- }
- return(x);
- }
- int getbit(unsigned char c, int n)
- {
- return((c>>n)&1);
- }
- int mainmenu()
- {
- unsigned char *f[]={"数据输入","数据检查","数据修改","统计记录",
- "报表打印","退出系统"};
- int i,x,key1,key2,test,size;
- char c;void *buffer;
- setcolor(12);
- rectangle(1,0,637,33);
- setfillstyle(1,3);
- floodfill(200,20,12);
- setcolor(LIGHTRED);
- setlinestyle(0,0,2);
- rectangle(1,0,637,479);
- openhzk('s');
- x=-3;
- for(i=0;i<=5;i++)
- x=puthz24(10+x,6,0,1,1,1,f[i]);
- close(handle);
- setcolor(12);
- line(1,33,637,33);
- line(107,0,107,33);
- line(213,0,213,33);
- line(319,0,319,33);
- line(425,0,425,33);
- line(531,0,531,33);
- size=imagesize(3,2,105,31);
- buffer=malloc(size);
- getimage(3,2,105,31,buffer);
- putimage(3,2,buffer,NOT_PUT);
- x=3;
- while(1)
- {
- while(key1!=13)
- {
- while(biOSkey(1)==0);
- key1=key2=bioskey(0);
- key1=key1&0xff;
- key2=key2&0xff?0:key2>>8;
- if(key2==75||key2==77)
- {
- putimage(x,2,buffer,COPY_PUT);
- if(key2==77) x=x>=533?3:x+106;
- if(key2==75) x=x<=3?533:x-106;
- getimage(x,2,x+102,31,buffer);
- putimage(x,2,buffer,NOT_PUT);
- }
- }
- test=(x-3)/106+1;
- switch(test)
- {
- case 1:menu11();
- break;
- case 2:menu12();
- break;
- case 3:menu13();
- break;
- case 4:menu14();
- break;
- case 5:menu15();
- break;
- case 6:closegraph();
- exit(0);
- }
- key1=0;
- }
- free(buffer);
- }
- int menu11()
- {
- unsigned char *f[]={"单个录入","连续录入"};
- int x0=1,y0=35,h=2;
- menu0(x0,y0,h,f);
- switch(test1)
- {case 1:do1();
- break;
- case 2:break;
- }
- mainmenu();
- }
- int do1()
- {setviewport(1,0,638,479,1);
- clearviewport();
- outtextxy(50,50,"name");
- outtextxy(50,60,"number");
- getch();
- clearviewport();
- }
- int menu12()
- {
- unsigned char *f[]={"单个录入","连续录入"};
- int x0=107,y0=35,h=2;
- menu0(x0,y0,h,f);
- }
- int menu13()
- {
- unsigned char *f[]={"单个录入","连续录入"};
- int x0=213,y0=35,h=2;
- menu0(x0,y0,h,f);
- }
- int menu14()
- {
- unsigned char *f[]={"单个录入","连续录入"};
- int x0=319,y0=35,h=2;
- menu0(x0,y0,h,f);
- }
- int menu15()
- {
- unsigned char *f[]={"单个录入","连续录入"};
- int x0=425,y0=35,h=2;
- menu0(x0,y0,h,f);
- }
- int menu0(int x0,int y0,int h,unsigned char *f[])
- {
- int i,y,key1,key2,size0,size1;
- void *buf0,*buf1;
- char c;
- int j,k,len;
- k=0;
- for(j=1;j<h;j++)
- if(strlen(f[k])<strlen(f[j])) k=j;
- len=strlen(f[k])*8+2;
- if((x0+len)>637) x0=637-len;
- size0=imagesize(x0,y0,x0+len,y0+20*h);
- buf0=malloc(size0);
- getimage(x0,y0,x0+len,y0+20*h,buf0);
- setcolor(12);
- rectangle(x0,y0,x0+len,y0+20*h);
- setfillstyle(1,3);
- floodfill(x0+10,y0+10,12);
- setcolor(12);
- setlinestyle(SOLID_LINE,0,1);
- rectangle(x0,y0,x0+len,y0+20*h);
- openhzk('o');
- for(i=0;i<h;i++)
- puthz16(x0+2,i*20+y0+2,0,1,f[i]);
- close(handle);
- size1=imagesize(x0+2,y0,x0+len-2,y0+20);
- buf1=malloc(size1);
- getimage(x0+2,y0,x0+len-2,y0+20,buf1);
- putimage(x0+2,y0,buf1,NOT_PUT);
- y=y0;
- key1=0;
- while(key1!=13&&key1!=27)
- {
- while(bioskey(1)==0);
- key1=key2=bioskey(0);
- key1=key1&0xff;
- key2=key2&0xff?0:key2>>8;
- if(key2==72||key2==80)
- {
- putimage(x0+2,y,buf1,COPY_PUT);
- if(key2==72) y=y==y0?(y0+20*(h-1)):y-20;
- if(key2==80) y=y==(y0+20*(h-1))?y0:y+20;
- getimage(x0+2,y,x0+len-2,y+20,buf1);
- putimage(x0+2,y,buf1,NOT_PUT);
- }
- }
- free(buf1);
- if(key1==13) test1=(y-y0)/20+1;
- if(key1==27) test1=0;
- putimage(x0,y0,buf0,COPY_PUT);
- free(buf0);
- }
- ReadIcon(int x,int y,char *filename,int mode)
- {
- void *buf;
- long size;
- int fp;
- fp=open(filename,O_CREAT|O_BINARY);
- if(fp==-1) return 0;
- size=filelength(fp);
- buf=malloc(size);
- read(fp,buf,size);
- putimage(x,y,buf,mode);
- free(buf);
- close(fp);
- }
复制代码 |
|