Private Sub Command1_Click() Dim i As Integer Dim strVar As String Dim AllSize As Long Dim UnitSize As Integer '每位长度 Dim strAry() As String ' Dim AryLen As Long '数组长度
For i = 1 To AryLen strAry(i) = Mid(strVar, (i - 1) * 8 + 1, 8) Debug.Print strAry(i) Next End Sub
Private Sub Command1_Click() Dim i As Integer Dim strVar As String Dim AllSize As Long Dim UnitSize As Integer '每位长度 Dim strAry() As String ' Dim AryLen As Long '数组长度
For i = 1 To AryLen strAry(i) = Mid(strVar, (i - 1) * UnitSize + 1, UnitSize) Debug.Print strAry(i) Next End Sub
楼上的要加个abc干吗呀 我的卡号最大就 16位 单个位的最大值不会大于 F 的 试一试 就结帖
晕,Zygodactyous在Byte数组里放一个字符?那怎么行呢?
Zygodactyous看不懂我的代码吗?费那么大劲搞得这么复杂,还是错的,狂晕~
Dim strAry() As String 我刚才看呢 显示结果是对的 但我要的是字节数组啊 呵呵 木头人的 应该可以 我先试一试 不过你的 显示结果 02 显示为 2了 少个 “0” 啊
Dim str_num As String Dim i As Integer Dim abyte(0 To 7) As Byte str_num = Form1.ListView1.SelectedItem.SubItems(2) ‘取的的卡号 比如 13451FFFC0193002 ’这句报错 类型不匹配 For i = 0 To 7 abyte(i) = CByte("&H" & Mid(str_num, i * 2 + 1, 2)) MsgBox abyte(i) Next下面这个没错嘛 咋回事?? Dim abyte(7) As Byte Dim str As String Dim i As Integer str = "13451FFFC0193002" For i = 0 To 7 abyte(i) = CByte("&H" & Mid(str, i * 2 + 1, 2)) Print Hex(abyte(i)) Next
Dim i As Integer
For i = 0 To 7
abyte(i) = CByte("&H" & Mid("13451FFFC0193002", i * 2 + 1, 2))
Debug.Print abyte(i)
Next
Dim i As Integer
Dim strVar As String
Dim AllSize As Long
Dim UnitSize As Integer '每位长度
Dim strAry() As String '
Dim AryLen As Long '数组长度
UnitSize = 8
strVar = "13451FFFC0193002abc"
AllSize = Len(strVar)
AryLen = AllSize \ UnitSize + 1
ReDim strAry(AryLen)
For i = 1 To AryLen
strAry(i) = Mid(strVar, (i - 1) * 8 + 1, 8)
Debug.Print strAry(i)
Next
End Sub
Dim i As Integer
Dim strVar As String
Dim AllSize As Long
Dim UnitSize As Integer '每位长度
Dim strAry() As String '
Dim AryLen As Long '数组长度
UnitSize = 2
strVar = "13451FFFC0193002abc"
AllSize = Len(strVar)
AryLen = AllSize \ UnitSize + 1
ReDim strAry(AryLen)
For i = 1 To AryLen
strAry(i) = Mid(strVar, (i - 1) * UnitSize + 1, UnitSize)
Debug.Print strAry(i)
Next
End Sub
我的卡号最大就 16位
单个位的最大值不会大于 F 的
试一试
就结帖
我先试一试 不过你的 显示结果 02 显示为 2了 少个 “0” 啊
Dim i As Integer
Dim abyte(0 To 7) As Byte
str_num = Form1.ListView1.SelectedItem.SubItems(2) ‘取的的卡号 比如 13451FFFC0193002
’这句报错 类型不匹配
For i = 0 To 7
abyte(i) = CByte("&H" & Mid(str_num, i * 2 + 1, 2))
MsgBox abyte(i)
Next下面这个没错嘛 咋回事?? Dim abyte(7) As Byte
Dim str As String
Dim i As Integer
str = "13451FFFC0193002"
For i = 0 To 7
abyte(i) = CByte("&H" & Mid(str, i * 2 + 1, 2))
Print Hex(abyte(i))
Next
还有 我转十六进制了 还是 2 不是想要的‘02’
Replace(str1,该空字符,"")