发信人: 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]
  | 
 
 
 |