回 帖 发 新 帖 刷新版面

主题:不要汉字系统显示汉字的源程序 hzk12

'根据QB45的不要汉字系统显示汉字的源程序改写需要ucdos下hzk12 和asc12 文件
DECLARE SUB hz (x0!, y0!, hz.word$, hzcol!)
OPEN "hzk12" FOR BINARY AS #1
 OPEN "asc12" FOR BINARY AS #2
SCREEN 12
hz1$ = "欢迎使用佳信弹簧数控系统 V2008  MY QQ:517613761"
  hz 130, 50, hz1$, 10

'
'
SUB hz (x0, y0, hz.word$, hzcol)
REM 这是显示汉字的子程序
savex0 = x0: savey0 = y0
FOR now1 = 1 TO LEN(hz.word$)
    qu = ASC(MID$(hz.word$, now1, 1))
    IF qu >= 161 THEN  '显示汉字
         now1 = now1 + 1
         IF now1 > LEN(hz.word$) THEN EXIT FOR
         wei = ASC(MID$(hz.word$, now1, 1))
         ps& = ((qu - 161) * 94& + wei - 161) * 24& + 1
         SEEK #1, ps&
         zimo$ = INPUT$(24, 1)
         num = 1
         FOR y = 0 TO 11
            chr1$ = MID$(zimo$, num, 1)
            num = num + 1
            chr2$ = MID$(zimo$, num, 1)
            num = num + 1
            chr3$ = chr2$ + chr1$
            LINE (x0, y0 + y + 2)-STEP(11, 0), hzcol, , CVI(chr3$)
         NEXT y
         x0 = x0 + 12   '汉字宽度
 ELSE      '显示英文字母和数字
       IF qu < 33 THEN 9090     '32=" " 空格
       IF qu >= 33 THEN qu = (qu - 33) * 12 + 10

      SEEK #2, qu'qu * 5
      zimo$ = INPUT$(16, 2)
      FOR y = 4 TO 16

          zmchr$ = CHR$(0) + MID$(zimo$, y, 1)
          LINE (x0, y0 + y)-STEP(11, 0), hzcol, , CVI(zmchr$)
      NEXT y
9090      x0 = x0 + 6    '宽度
   END IF
NEXT now1
x0 = savex0: y0 = savey0

END SUB

回复列表 (共3个回复)

沙发

阿黑化石复活?

板凳

阿黑复活ing.....?

3 楼

我可是到处在找在QB中输入汉字的方法,可上面的能否教一下怎么用啊,复制下来考到什么地方啊,拜托啊

我来回复

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