索引数少于索引数组的维数

一笔画冬 2017-08-26 01:08:10
Public Function CRC(ByVal Brr() As Byte) As Long ''''CRC校验核,全部数据进行校验  Brr按地址传递!!!
Dim i As Integer, j As Integer
Dim TempVal As Long
Dim YWval As Long
Dim LSB As Integer

TempVal = &HFFFF& '最后的&

For i = 0 To UBound(Brr())
TempVal = TempVal Xor Brr(i)
For j = 1 To 8
YWval = Int(TempVal / 2) 'Int,返回不大于x的最大整数
LSB = TempVal Mod 2
If LSB = 1 Then
YWval = YWval Xor &HA001& '?????
End If
TempVal = YWval
Next j
Next i
CRC = TempVal Mod 65536

End Function



VS2008 红色部分,老提示这个 ,我大概查了下 说是这是VB的老方法了 VB.NET不支持这个 我想问下 怎么改才能对
...全文
639 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
123工艺品 2017-10-26
  • 打赏
  • 举报
回复
UBound函数是一个函数,返回一个 Long 型数据,其值为指定的数组维可用的最大下标。 例: Dim a(5, 7) As Integer MsgBox(UBound(a).ToString) 显示5 MsgBox(UBound(a,1).ToString) 显示5 MsgBox(UBound(a,2).ToString) 显示7
VB.Net 2017-10-25
  • 打赏
  • 举报
回复
For i = 0 To Brr.Length-1
im战术 2017-10-03
  • 打赏
  • 举报
回复
UBound(Brr()) 这里的UBound(里面应该放数组名) 而不是你认为的放Brr()整个数组! UBound是求数组下标的,意思就是这个数组里有几个byte数据 &HFFFF& , &HA001& 这里后面的&是多余的,正常VB.net中表示16进制只要&H12345678这样就行了 这些都是基础呀~基础没人会藏着不教给你. 爱看书,你看书学基础去. 爱上网,你百度搜VB.net UBound和VB.net 16进制,我就不信没有人有讲过这些?
一笔画冬 2017-08-26
  • 打赏
  • 举报
回复
Public Function CRC(ByVal Brr() As Byte) As Long ''''CRC校验核,全部数据进行校验  Brr按地址传递!!!
        Dim i As Integer, j As Integer
        Dim TempVal As Long
        Dim YWval As Long
        Dim LSB As Integer

        TempVal = &HFFFF& '最后的&

        For i = 0 To UBound(Brr())
            TempVal = TempVal Xor Brr(i)
            For j = 1 To 8
                YWval = Int(TempVal / 2) 'Int,返回不大于x的最大整数
                LSB = TempVal Mod 2
                If LSB = 1 Then
                    YWval = YWval Xor &HA001& '?????
                End If
                TempVal = YWval
            Next j
        Next i
        CRC = TempVal Mod 65536

    End Function
格式给内嵌了 不好意思 我指的红色部分就是(Brr())

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧