求vb代码
vb吧
全部回复
仅看楼主
level 1
求vb代码
2020年07月02日 14点07分 1
level 9
‘设明文文本框的Name为Text1,密文文本框的Name为Text2
’手貌似 have a little 累,第一次写这么长的函数
Private Sub Command1_Click()
'加密按钮的单击事件过程
Text2.Text = JiaMi(Text1.Text)
End Sub
Private Sub Command2_Click()
'退出按钮的单击事件过程
Unload Me
End
End Sub
'######
# 加密函数的代码,最好新建个模块然后放到这个模块里 #
######
Public Function JiaMi(ByVal OldStr As String) As String
Dim NumberList,UpperWordList,LowerWordList
NumberList = array("0","1","2","3","4","5","6","7","8","9")
LowerWordList = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z")
UpperWordList = array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z")
Dim OprStrAsc%,OprStrNew$,OprRptNum%,OprResult$,OprChkRst%,FinalStr$
For OprRptNum = 1 To Len(OldStr)
OprStrNew = Mid(OldStr,OprRptNum,1) '让OldStr一个字符一个字符进行判断
OprStrAsc = Asc(OprRptNum) '获取截取的字符的Ascii码
If OprStrAsc >= Asc("0") And OprStrAsc <= Asc("9") Then '如果是数字
OprStrAsc = OprStrAsc - Asc("0") '获取对应数组中截取字符的位置
OprChkRst = OprStrAsc + 3 '数字向后移动三位
If OprStrAsc > 9 Then '如果移动后的位置超出在数组中的位置
OprChkRst = OprStrAsc - 9 '则加密后字符对应在数组中的位置从左向右数3位
OprResult = NumberList(OprChkRst) '获取数组中对应位置的字符
Else '如果移动后的位置没超出在数组中的位置
OprChkRst = OprStrAsc '则加密后字符对应在数组中的位置不变
OprResult = NumberList(OprChkRst) ’'获取数组中对应位置的字符
End If
ElseIf OprStrAsc >= Asc("A") And OprStrAsc <= Asc("Z") Then '如果是大写字母
OprStrAsc = OprStrAsc - Asc("A") '获取对应数组中截取字符的位置
OprChkRst = OprStrAsc - 3 '字母向前移动三位
If Sgn(OprStrAsc) = -1 Then '如果移动后的位置超出在数组中的位置
OprChkRst = UBound(UpperWordList) - OprStrAsc '则加密后字符对应在数组中的位置从右向左数3位
OprResult = UpperWordList(OprChkRst) ’'获取数组中对应位置的字符
Else '如果移动后的位置没超出在数组中的位置
OprChkRst = OprStrAsc '则加密后字符对应在数组中的位置不变
OprResult = UpperWordList(OprChkRst) ’'获取数组中对应位置的字符
End If
ElseIf OprStrAsc >= Asc("a") And OprStrAsc <= Asc("z") Then '如果是小写字母
OprStrAsc = OprStrAsc - Asc("a") '获取对应数组中截取字符的位置
OprChkRst = OprStrAsc - 3 '字母向前移动三位
If Sgn(OprStrAsc) = -1 Then '如果移动后的位置超出在数组中的位置
OprChkRst = UBound(LowerWordList) - OprStrAsc '则加密后字符对应在数组中的位置从右向左数3位
OprResult = LowerWordList(OprChkRst) ’'获取数组中对应位置的字符
Else '如果移动后的位置没超出在数组中的位置
OprChkRst = OprStrAsc '则加密后字符对应在数组中的位置不变
OprResult = LowerWordList(OprChkRst) ’'获取数组中对应位置的字符
End If
End If
FinalStr = FinalStr & OprResult '将加密后的字符一个个连接起来
Next
JiaMi = FinalStr '当拼接完成后(循环体结束后)将加密后的字符串返回给函数
End Function
2020年07月02日 16点07分 3
2020年07月02日 16点07分
这个函数似乎把简单问题复杂化了……你既然会用Asc函数,难道不知道还有Chr函数么
2020年07月03日 00点07分
@初音✨七奈 我当时没这么想。
2020年07月03日 03点07分
1