主题:不要汉字系统显示汉字的源程序 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
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