Visual Basic6编程中的汉字处理(3)
2008-02-23 06:50:30来源:互联网 阅读 ()
Dim rec As Integer
Dim Location As Long '汉字在字库中的位置
Dim Hz(0 To 31) As Byte '转换完的32字节的字模数据
Dim Buf1(0 To 31) As Byte '暂存转换过程中的32字节字模数据
Dim HzAll( ) As Byte '存放全部字模数据的动态数组
Dim LoopAll As Integer
Dim bit, k2, k3 As Byte
Dim i, j, i1, k, k1, k4, k5, k6 As Integer
DestTxt.Text = "" 'DestTxt是目标文本框,存放转换后的16进制数据
Flag = 0
TempDestFile$ = App.Path "\" "TempDest.txt"
If FileExists(TempDestFile$) Then Kill TempDestFile 'FileExists是一个检查文件是否存在的自定义函数
If SrcTxt.Text = "" Then '汉字输入框内无汉字则退出
MsgBox "没有可以转换的字模源文件!"
Exit Sub
End If
HzNum = Len(SrcTxt.Text) '获得汉字的个数
ReDim HzAll(0 To HzNum * 32 - 1) '重新定义动态数组的上界
Open TempFile For Output As #1
Print #1, SrcTxt.Text
Close #1
For LoopAll = 0 To HzNum - 1
Open TempFile For Binary Access Read As #1 '按二进制方式打开
Get #1, 2 * LoopAll 1, p
Close #1
C1 = CStr(p(1)) - &Ha1 '区内码
C2 = CStr(p(2)) - &Ha1 '位内码
rec = C1 * 94 C2
Location = CLng(rec) * 32 1 '该汉字在16*16点阵字库中字模第一个字节的位置
HzFile = App.Path "\" "hzk16"
Open HzFile For Binary Access Read As #1 '读取该汉字在16点阵字库中的原始字模
Get #1, Location, Hz
Close #1
'以下是将UCDOS字库的存储格式调整为HD61202的规范格式
For j = 0 To 3
If j = 0 Then k4 = 14
If j = 1 Then k4 = 15
If j = 2 Then k4 = 30
If j = 3 Then k4 = 31
For k = 0 To 7
bit = &H80
bit = byteRight((bit), (k))
For i = 0 To 7
k2 = byteleft(Buf1(j * 8 k), 1) '整个流程是由低位向高位移动,最后凑成一个字节
k3 = byteRight((Hz(k4 - i * 2) And bit), 7 - k) '将字节中的某位移到最低位
k3 = k3 And &H1 '屏蔽掉其余7位
Buf1(j * 8 k) = k2 Or k3
Next i
Next k
Next j
For i1 = 0 To 31 '将调整后的汉字字模再装入原数组
Hz(i1) = Buf1(i1)
HzAll(LoopAll * 32 i1) = Buf1(i1)
Next
Next LoopAll
Open TempDestFile For Binary Access Write As #1 '转换结果保存到TempDestFile中
Put #1, 1, HzAll
Close #1
MsgBox "OK!"
End Sub
以上程序均在中文VB6专业版上调试通过。
以上程序在实用中取得了很好的效果。此汉字字模转换程序丰富了单片机系统开发工具的功能,是包含液晶显示功能的单片机系统在系统调试和开发过程中不可或缺的功能模块。
上一篇: VB编程经验之谈----打印篇
下一篇: VB编程:Windwos API全攻略
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:在你的应用程序里实现简单的加密
下一篇:FSO对象模型在VB中的应用
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
