主题:汉字字模在QBASIC中如何读出啊
zhouling90
[专家分:40] 发布于 2005-06-16 13:46:00
请各位大侠,帮帮小弟了啊!我最近做一个有意思的程序啊!
谢谢了啊
小弟我感激不尽啊![em10][em14][em15][em65]
回复列表 (共5个回复)
沙发
飞鸟12 [专家分:2830] 发布于 2005-06-17 12:51:00
呵呵:在记事本中输入汉字
OPEN "hz.txt" FOR OUTPUT AS #1
FOR i = 1 TO 94
FOR j = 1 TO 94
PRINT #1, CHR$(160 + i) + CHR$(160 + j);
NEXT j
NEXT i
CLOSE
END
qb45的帖子里不是有吗?
[url]http://www.programfan.com/club/showbbs.asp?id=20545[/url]
另外 所需的汉字库 可以在 qbasic45@163.com(密码:11111111)中获得
板凳
QB71 [专家分:1300] 发布于 2005-06-17 19:41:00
请搜索QB71的帖子:字模提取程序
3 楼
飞鸟12 [专家分:2830] 发布于 2005-06-18 10:49:00
DECLARE SUB hz (x0, y0, hz.word$, hzcol, hzsize)
OPEN "hzk16" FOR BINARY AS #1
OPEN "asc16" FOR BINARY AS #2
OPEN "hzk12" FOR BINARY AS #3
SCREEN 12
hz1$ = "微软专用操作系统安装工具"
hz 1, 100, hz1$, 11, 16
hz 1, 130, hz1$, 11, 12
END
SUB hz (x0, y0, hz.word$, hzcol, hzsize)
savex0 = x0: savey0 = y0
FOR now = 1 TO LEN(hz.word$)
qu = ASC(MID$(hz.word$, now, 1))
IF qu >= 161 THEN
now = now + 1
IF now > LEN(hz.word$) THEN EXIT FOR
wei = ASC(MID$(hz.word$, now, 1))
ps& = ((qu - 161) * 94& + wei - 161) * 2 * hzsize + 1
IF hzsize = 16 THEN
SEEK #1, ps&
zimo$ = INPUT$(2 * hzsize, #1)
ELSEIF hzsize = 12 THEN
SEEK #3, ps&
zimo$ = INPUT$(2 * hzsize, #3)
END IF
FOR y = 1 TO hzsize
hzchr$ = MID$(zimo$, 2 * y, 1) + MID$(zimo$, 2 * y - 1, 1)
LINE (x0, y0 + y - 1)-STEP(15, 0), hzcol, , CVI(hzchr$)
NEXT y
x0 = x0 + hzsize + 1
ELSE
SEEK #2, qu * 16
zimo$ = INPUT$(16, #2)
FOR y = 1 TO 16
zmchr$ = CHR$(0) + MID$(zimo$, y, 1)
LINE (x0, y0 + y)-STEP(7, 0), hzcol, , CVI(zmchr$)
NEXT y
x0 = x0 + 8
END IF
NEXT now
x0 = savex0: y0 = savey0
END SUB
注:以上是在qb45的程序的基础上加上少许修改,使之能显示12*12点阵的汉字
4 楼
54BB [专家分:380] 发布于 2005-06-20 16:53:00
为什么我输入了以后只是说没有汉字库?
5 楼
飞鸟12 [专家分:2830] 发布于 2005-06-22 16:37:00
[em10][em10][em10]
“所需的汉字库 可以在 qbasic45@163.com(密码:11111111)中获得”
我来回复