精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>电脑技术>>○ DOS>>工具箱>>不调汉字系统在DOS下显示汉字的BASIC

主题:不调汉字系统在DOS下显示汉字的BASIC
发信人: justice()
整理人: yangcs(2000-02-14 09:31:38), 站内信件
【 在 near125 (离你不远) 的大作中提到: 】
: 我不想用汉字系统支持,请教我如何使用点阵字库. 
: 谢谢 

我以前用QB写过一个在西文下显示汉字的程序,也供大家参考

DECLARE FUNCTION bin2binstr$ (b%)
'name:HZ demo program
'by  :CyberCowBoy
'note:please copy Tway font "HZK16" to runtime directory
 
DIM a%(16)
DIM bstr1$(16)
DIM bstr$(16)
SCREEN 12
CLS


OPEN "HZK16" FOR BINARY AS #1

FOR offs = 1 TO 500000 STEP 32
'offs = 45120
LOCATE 1, 1
w = INT(offs / 32) MOD 94
q = INT(INT(offs / 32) / 94)
PRINT q, w

SEEK #1, offs
FOR rec = 1 TO 16
  GET #1, , a%(rec)
'  PRINT HEX$(a%(rec))
NEXT rec
FOR i = 1 TO 16
  bstr1$(i) = bin2binstr$(a%(i))
  bstr$(i) = RIGHT$(bstr1$(i), 8) + LEFT$(bstr1$(i), 8)

'  PRINT bstr$(i)
NEXT i
'INPUT aa
x = 200

FOR i = 1 TO 16
  FOR j = 1 TO 16
      IF MID$(bstr$(i), j, 1) = "1" THEN
         PSET (j + x, i + 60), 2
      ELSE
         PRESET (j + x, i + 60)
      END IF
      IF MID$(bstr$(i), j, 1) = "1" THEN
         PSET (j + x - 1, i + 59), 13
      END IF
  NEXT j
NEXT i
'NPUT aa
FOR delay = 1 TO 80000: NEXT delay
CLS
NEXT offs

FUNCTION bin2binstr$ (b%) STATIC
t$ = STRING$(16, "0")
IF b% THEN
  IF b% < 0 THEN
MID$(t$, 1, 1) = "1"
END IF
mask% = &H4000
FOR i% = 2 TO 16
IF b% AND mask% THEN
MID$(t$, i%, 1) = "1"
END IF
mask% = mask% / 2
NEXT i%
END IF
bin2binstr$ = t$
END FUNCTION

--
横眉冷对千夫指,俯首甘为孺子牛

----CyberCowBoy

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.103.160.26]

[关闭][返回]