Есть алгоритм декодирования(Function eBASE64)
Я хочу сделать, чтоб:
text1.text=переменная(вводится пользователем), и эта переменная декодируется, выводя значение результат в text2.text.
Но я не могу найти те переменные, которым надо присвоить значения для введеного text1.text и выведенного text2.text.Не поможите?
Option Explicit
Const Base64Table As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
Private b64(63) As String
Private b256(255) As Long
Private Sub Class_Initialize()
Dim i As Long
For i = 0 To 63 Step 1
b64(i) = Mid$(Base64Table, i + 1, 1)
b256(AscB(b64(i))) = i
Next
End Sub
'
Public Function eBASE64(s As String) As String
Dim lenStr, endPos, lastChars, l, i As Long
lenStr = Len(s)
If Right(s, 2) = "==" Then
lenStr = lenStr - 2
Else
If Right(s, 1) = "=" Then lenStr = lenStr - 1
End If
lastChars = lenStr Mod 4
endPos = lenStr - lastChars
For i = 1 To endPos Step 4
l = b256(AscB(Mid$(s, i, 1))) * 262144 + b256(AscB(Mid$(s, i + 1, 1)))_ *4096 + b256(AscB(Mid$(s, i + 2, 1))) * 64 + b256(AscB(Mid$(s, i + 3,_ 1)))
eBASE64 = eBASE64 & Chr(l \ 65536) & Chr((l \ 256) Mod 256) & _
Chr(l Mod 256)
Next
Select Case lastChars
Case 2
l = b256(AscB(Mid$(s, lenStr - 1, 1))) * 1024 + b256(AscB(Mid$(s,_ lenStr, 1))) * 16
eBASE64 = eBASE64 & Chr(l \ 256)
Case 3
l = (b256(AscB(Mid$(s, lenStr - 2, 1))) * 4096 + b256(AscB(Mid$(s,_ lenStr - 1, 1))) * 64 + b256(AscB(Mid$(s, lenStr, 1)))) \ 4
eBASE64 = eBASE64 & Chr(l \ 256) & Chr(l Mod 256)
End Select
End Function