|
- Private Sub Button_SendData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_SendData.Click
- Dim Count As Byte '字符数量,1个汉字作2位处理
- Dim Number As Byte '字符数量,一个汉字做1位处理
- Dim StartAddrss As String '起始地址,
- Dim sendASdata(63) As Byte 'ASSIC字符数组
- Dim SendHZdata(127) As Byte '汉字数组
- FileOpen(1, "C:\Users\Mr.ZHang\Desktop\LED3232DipslaySystem\HZK32", OpenMode.Binary, OpenAccess.Read, OpenShare.LockRead)
- FileOpen(2, "C:\Users\Mr.ZHang\Desktop\LED3232DipslaySystem\ASC32", OpenMode.Binary, OpenAccess.Read, OpenShare.LockRead)
- Count = Lenx(TextBox_EditHZ.Text) '获取字符数量,一个汉字拆为2个字符
- If Count < 1 Then '输入的字符为1则退出函数
- FileClose(1) '关闭已打开的文件1
- FileClose(2) '关闭已打开的文件2
- MsgBox("不能发送空内容,请输入节目内容!", vbExclamation, "警告 ") '提示警告信息
- Exit Sub '退出函数
- End If
- Number = 0 '把字数归0
- While Number < Len(TextBox_EditHZ.Text) '判断字符是否传输完毕
- StartAddrss = Hex(Asc(Mid(TextBox_EditHZ.Text, 1 + Number, 1))) '获取字符在文件中的地址信息
- Dim I As Integer, J As Integer '循环计数用变量Dat
- Dim BUFF(0) As Byte
- If (("&H" + StartAddrss) < 255) Then '输入的为数字
- StartAddrss = StartAddrss * 64 '取得字符的起始地址
- For I = 0 To 63 Step 1
- FileGet(2, BUFF, StartAddrss + 1 + I)
- sendASdata(I) = BUFF(0)
- MsgBox(Hex(BUFF(0)) & "+" & I)
- Next
- Else '输入的为汉字
- Dim N As Integer
- StartAddrss = 128 * ("&H" + Mid(StartAddrss, 5, 2) - 161) * 94 + ("&h" + Mid(StartAddrss, 7, 2) - 161) '取汉字的起始字节地址
- ' MsgBox(StartAddrss)
- BUFF(0) = 0
- N = 0
- For I = 0 To 3 '分4次做
- For J = 0 To 127 Step 4
- FileGet(1, BUFF, StartAddrss + 1 + I + J)
- SendHZdata(N) = BUFF(0)
- MsgBox(SendHZdata(I) & "+" & I + J)
- N = N + 1
- Next
- Next
- End If
- Number = Number + 1 '传送下个汉字
- End While '完毕则退出循环
- FileClose(1) '关闭文件1
- FileClose(2) '关闭文件2
- End Sub
复制代码 取模感觉不对,老是提示些许错误,请大侠指教一下,因为不懂,一遇到问题就是百度一下,一点一点的写到了这里,但总发现里面有些语法错误,只说汉字部分,就是ELSE的部分 。另外fileget文件的内容这么获取对吗?
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|