|
'Base64Encode(originalString$)
Public Function Base64Encode(originalString$) deciml = Asc(Left$(originalString$, 1)) For k = 7 To 0 Step -1 If (2 ^ k) <= deciml Then binaryStr$ = binaryStr$ & "1" deciml = deciml - (2 ^ k) Else binaryStr$ = binaryStr$ & "0" End If Next If Len(originalString$) < 3 Then Goto unfpassone deciml = Asc(Mid$(originalString$, 2, 1)) For k = 7 To 0 Step -1 If (2 ^ k) <= deciml Then binaryStr$ = binaryStr$ & "1" deciml = deciml - (2 ^ k) Else binaryStr$ = binaryStr$ & "0" End If Next If Len(originalString$) < 3 Then Goto unfpassone deciml = Asc(Right$(originalString$, 1)) For k = 7 To 0 Step -1 If (2 ^ k) <= deciml Then binaryStr$ = binaryStr$ & "1" deciml = deciml - (2 ^ k) Else binaryStr$ = binaryStr$ & "0" End If Next unfpassone: For k = 1 To 19 Step 6 Select Case Val(Mid$(binaryStr$, k, 6)) Case 0 temp$ = temp$ & "A" Case 1 temp$ = temp$ & "B" Case 10 temp$ = temp$ & "C" Case 11 temp$ = temp$ & "D" Case 100 temp$ = temp$ & "E" Case 101 temp$ = temp$ & "F" Case 110 temp$ = temp$ & "G" Case 111 temp$ = temp$ & "H" Case 1000 temp$ = temp$ & "I" Case 1001 temp$ = temp$ & "J" Case 1010 temp$ = temp$ & "K" Case 1011 temp$ = temp$ & "L" Case 1100 temp$ = temp$ & "M" Case 1101 temp$ = temp$ & "N" Case 1110 temp$ = temp$ & "O" Case 1111 temp$ = temp$ & "P" Case 10000 temp$ = temp$ & "Q" Case 10001 temp$ = temp$ & "R" Case 10010 temp$ = temp$ & "S" Case 10011 temp$ = temp$ & "T" Case 10100 temp$ = temp$ & "U" Case 10101 temp$ = temp$ & "V" Case 10110 temp$ = temp$ & "W" Case 10111 temp$ = temp$ & "X" Case 11000 temp$ = temp$ & "Y" Case 11001 temp$ = temp$ & "Z" Case 11010 temp$ = temp$ & "a" Case 11011 temp$ = temp$ & "b" Case 11100 temp$ = temp$ & "c" Case 11101 temp$ = temp$ & "d" Case 11110 temp$ = temp$ & "e" Case 11111 temp$ = temp$ & "f" Case 100000 temp$ = temp$ & "g" Case 100001 temp$ = temp$ & "h" Case 100010 temp$ = temp$ & "i" Case 100011 temp$ = temp$ & "j" Case 100100 temp$ = temp$ & "k" Case 100101 temp$ = temp$ & "l" Case 100110 temp$ = temp$ & "m" Case 100111 temp$ = temp$ & "n" Case 101000 temp$ = temp$ & "o" Case 101001 temp$ = temp$ & "p" Case 101010 temp$ = temp$ & "q" Case 101011 temp$ = temp$ & "r" Case 101100 temp$ = temp$ & "s" Case 101101 temp$ = temp$ & "t" Case 101110 temp$ = temp$ & "u" Case 101111 temp$ = temp$ & "v" Case 110000 temp$ = temp$ & "w" Case 110001 temp$ = temp$ & "x" Case 110010 temp$ = temp$ & "y" Case 110011 temp$ = temp$ & "z" Case 110100 temp$ = temp$ & "0" Case 110101 temp$ = temp$ & "1" Case 110110 temp$ = temp$ & "2" Case 110111 temp$ = temp$ & "3" Case 111000 temp$ = temp$ & "4" Case 111001 temp$ = temp$ & "5" Case 111010 temp$ = temp$ & "6" Case 111011 temp$ = temp$ & "7" Case 111100 temp$ = temp$ & "8" Case 111101 temp$ = temp$ & "9" Case 111110 temp$ = temp$ & "+" Case 111111 temp$ = temp$ & "/" End Select Next Base64Encode = temp$ End Function Private Sub Command1_Click() Command1.Enabled = False If Text5.Text <> "" Then Base64EncodeFile Text5.Text, RichTextBox1, Text1 End If ConnectToServer "dudley.majordomos.com", Winsock1 End Sub Private Sub Winsock1_Connect() mailSend Text2.Text, Text3.Text, Text4.Text, Text6, Winsock1, Text5.Text, Text1 Command1.Enabled = True End Sub |