HeP028 发表于 2012-5-30 14:32:54

VB.net汉字取摸的问题!

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文件的内容这么获取对吗?
页: [1]
查看完整版本: VB.net汉字取摸的问题!