| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 757 人关注过本帖
标题:[求助]VB6的N源码如何转换到c#?
只看楼主 加入收藏
redcar
Rank: 2
等 级:论坛游民
帖 子:210
专家分:60
注 册:2006-9-13
结帖率:100%
收藏
 问题点数:0 回复次数:2 
[求助]VB6的N源码如何转换到c#?

源码如下,通过串口写汉字到LED显示屏
有个VB的列子,可以通过读取HZK16和ASC16这2个UCDOS下的文件,再通过MSCOMM控件写入LED显示屏,来显示点阵汉字,请问要如何修改到C#上使用呢?

Function CALL_LED(ledstring As String) As String
Dim zw(1 To 32) As Byte
Dim zc(1 To 32) As Byte
Dim zimo As Integer
For I = 1 To Len(ledstring) Step 1
If Asc(Mid$(ledstring, I, 1)) < 0 Then
'写入的是汉字
If zimo = 1 Then MSComLED.Output = zc: zimo = 0
AA = Hex(Asc(Mid(ledstring, I, 1)))
bb = (94 * (CLng("&H" & Mid(AA, 1, 2)) - &HA1) + (CLng("&H" & Mid(AA, 3, 2)) - &HA1)) * 32 + 1
HzFile = App.Path + "\" + "hzk16"
Open HzFile For Binary Access Read As #1 '读取该汉字在16*16点阵字库中的原始字模
Get #1, bb, zw
Close #1
MSComLED.Output = zw
Else
'写入的不是汉字
If zimo = 0 Then
AA = Hex(Asc(Mid(ledstring, I, 1)))
bb = (CLng("&H" & Mid(AA, 1, 2))) * 16 + 1
HzFile = App.Path + "\" + "ASC16"
Open HzFile For Binary Access Read As #2 '读取该汉字在8*16点阵字库中的原始字模
Get #2, bb, zw
Close #2
zc(1) = zw(1): zc(3) = zw(2): zc(5) = zw(3): zc(7) = zw(4): zc(9) = zw(5): zc(11) = zw(6)
zc(13) = zw(7): zc(15) = zw(8): zc(17) = zw(9): zc(19) = zw(10): zc(21) = zw(11): zc(23) = zw(12)
zc(25) = zw(13): zc(27) = zw(14): zc(29) = zw(15): zc(31) = zw(16): zimo = 1
zc(2) = 0: zc(4) = 0: zc(6) = 0: zc(8) = 0: zc(10) = 0: zc(12) = 0: zc(14) = 0: zc(16) = 0
zc(18) = 0: zc(20) = 0: zc(22) = 0: zc(24) = 0: zc(26) = 0: zc(28) = 0: zc(30) = 0: zc(32) = 0
Else
AA = Hex(Asc(Mid(ledstring, I, 1)))
bb = (CLng("&H" & Mid(AA, 1, 2))) * 16 + 1
HzFile = App.Path + "\" + "ASC16"
Open HzFile For Binary Access Read As #3 '读取该汉字在8*16点阵字库中的原始字模
Get #3, bb, zw
Close #3
zc(2) = zw(1): zc(4) = zw(2): zc(6) = zw(3): zc(8) = zw(4): zc(10) = zw(5): zc(12) = zw(6)
zc(14) = zw(7): zc(16) = zw(8): zc(18) = zw(9): zc(20) = zw(10): zc(22) = zw(11): zc(24) = zw(12)
zc(26) = zw(13): zc(28) = zw(14): zc(30) = zw(15): zc(32) = zw(16): zimo = 0

MSComLED.Output = zc
End If
End If
Next
If zimo = 1 Then MSComLED.Output = zc: zimo = 0
End Function

搜索更多相关主题的帖子: 源码 
2006-10-31 22:29
redcar
Rank: 2
等 级:论坛游民
帖 子:210
专家分:60
注 册:2006-9-13
收藏
得分:0 

AA = Hex(Asc(Mid(ledstring, I, 1)))
bb = (94 * (CLng("&H" & Mid(AA, 1, 2)) - &HA1) + (CLng("&H" & Mid(AA, 3, 2)) - &HA1)) * 32 + 1

这个应该是VB的关键算法吧?如果换成c#要怎么弄呢?

2006-10-31 22:29
学习VB才2天
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1653
专家分:0
注 册:2006-5-4
收藏
得分:0 
  这个  你最好还是准备用C#重新做把  这样弄是弄不出来的  

[GLOW=255,DeepPink,3]我的免费网盘[/GLOW]
2006-11-01 08:29
快速回复:[求助]VB6的N源码如何转换到c#?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019222 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved