分享

VB异或和

 共同成长888 2015-07-13

VB异或和 

VB异或和



现在想实现这样一个功能,在TEXT1,text2中各输入一任意长度字符串(16进制双字节)
现在想求出2个字符串,每一位依次异或的结果,以一个双字节16进制数存在TEXT3中。
比如上图中要求出 82 Xor fb Xor 20 Xor 50 Xor 01 Xor 01 Xor 20 Xor dc Xor 4b
结果返回给TEXT3。

********************************************************************************
Private Sub Command1_Click()
Dim s1 As String
Dim s2 As String, i As Integer
Dim sok As String
Dim sa As String
Dim sb As String
Dim sc() As String
Dim sd As Byte
s1 = Text1.Text   '文本框1内容
s2 = Text2.Text   '文本框2内容
sa = Trim(Trim(s1) + " " + Trim(s2)) '文本框1内容+文本框2内容(去头尾空格)(之间加空格--作数组分隔符)
'sb = Replace(sa, " ", "")
sc = Split(sa, " ") '将文本框1,2里的字符串拆成数组
For i = 0 To UBound(sc)
If Len(sc(i)) <> 2 Then MsgBox "输入的数据不对!超过2位": Exit Sub '判断拆出的数组值是否为2位(免溢出)
Next i
sd = Val("&h" & sc(0)) '参与异或的第一个值

For i = 1 To UBound(sc) '循环异或
   sd = sd Xor Val("&h" & sc(i))
   sok = Hex(sd)
   If Len(sok) = 1 Then
    sok = "0" + Hex(sd)
    Else
    sok = Hex(sd)
    End If

   Next i
   'sok = Hex(sd)
   Text3 = sok

End Sub
*******************************************************************************

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多