![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-10-31 13:37 |
共 47,815 主题排行 / 349,930 发帖 / 今日 0 篇 / 48,290 会员排行 |
| DOS开发编程 & 发展交流 (开发室) » 中文显示输出的问题 |
| 可打印版本 987 / 0 |
| 第1楼 xuejin | 发表于 2004-06-29 00:00 |
| 初级用户 发帖 1 积分 106 | |
|
中文显示输出的问题 各位大虾,
我有一个问题请教各位大虾,如何局部显示中文信息,不作全屏图形化的情况下局部显示中文提示信息,我写了一个全屏显示的程序程序,但不能满足我的项目要求,附上我的程序如下: #include #include #include #include #include #include #include #include #define ROW 2 #define COL 2 void main(void) { int x,y,keyx; char *tape="请把相应的磁带装入磁带机中作测试之用然后按任意键继续"; char *cd="请把测试光盘装入光驱中作测试之用然后按任意键继续"; char *fd="请随意插入一张软盘到软驱中作测试之用然后按任意键继续"; char *cyclops="请把白色的小回路插入面板上的独眼龙中作测试之用然后按任意键继续"; char *fpnllcd="请检查面板上的液晶屏显示是否正常字符是否正常有无错误记录按任意键后回答是或否"; char *cmdline=getenv("ITEST" ;char *s="ABCD"; FILE *fp; char buffer; register m,n,i,j,k; unsigned char qh,wh; unsigned long offset; int gd=DETECT,gm; registerbgidriver(EGAVGA_driver); initgraph(&gd,&gm,"" ;while(bioskey(1)!=0) { keyx=bioskey(0); if(isalnum(keyx & 0xFF)) printf("%c\n",keyx); else printf("%#02x\n",keyx); } if ((fp=fopen("hzk16","rb" )==NULL){ printf("Can't open hzk16,Please add it" ;getch(); closegraph(); exit(0); } x=20; y=100; if(strcmp(cmdline,"TAPE" ==0) strcpy(s,tape);if(strcmp(cmdline,"CD" ==0) strcpy(s,cd);if(strcmp(cmdline,"FD" ==0) strcpy(s,fd);if(strcmp(cmdline,"CYCLOPS" ==0) strcpy(s,cyclops);if(strcmp(cmdline,"FPNLLCD" ==0) strcpy(s,fpnllcd);while(*s) { qh=*(s)-0xa0; wh=*(s+1)-0xa0; offset=(94*(qh-1)+(wh-1))*32L; fseek(fp,offset,SEEK_SET); fread(buffer,32,1,fp); for (i=0;i<16;i++) for(n=0;n<ROW;n++) for(j=0;j<2;j++) for(k=0;k<8;k++) for(m=0;m>(7-k))&0x1)!=NULL) putpixel(x+8*j*COL+k*COL+m,y+i*ROW+n,WHITE); s+=2; x+=30; if(x>540){ y+=100; x=20; } } beep: sound(800);delay(4000); if(!getch()) goto beep; nosound(); fclose(fp); closegraph(); } 哪位大虾能帮我看一看。 不知可否改成象Windows 编程里的对话框一样, 或象消息框一样。 谢谢! |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |