回 帖 发 新 帖 刷新版面

主题:汉字字模在QBASIC中如何读出啊

请各位大侠,帮帮小弟了啊!我最近做一个有意思的程序啊!
谢谢了啊
小弟我感激不尽啊![em10][em14][em15][em65]

回复列表 (共5个回复)

沙发

呵呵:在记事本中输入汉字
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的帖子:字模提取程序

3 楼

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 楼

为什么我输入了以后只是说没有汉字库?

5 楼

[em10][em10][em10]
“所需的汉字库 可以在 qbasic45@163.com(密码:11111111)中获得”

我来回复

您尚未登录,请登录后再回复。点此登录或注册