-
Notifications
You must be signed in to change notification settings - Fork 2
/
modUtilities.xojo_code
89 lines (77 loc) · 1.87 KB
/
modUtilities.xojo_code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#tag Module
Protected Module modUtilities
#tag Method, Flags = &h0
Function generateMD5HASH(key As string, data As string) As string
Dim result, bytes, hex as String
Dim hexResult as String
Dim i as Integer
// We do this in ASCII because the well known test vectors come in ASCII
key = ConvertEncoding(key,Encodings.ASCII)
data = ConvertEncoding(data,Encodings.ASCII)
bytes = key
hex = encodeHex(data)
// Convert to HEX
For i = 1 to 16
hexResult = hexResult + Right("0"+Hex(Asc(Mid(result,i,1))),2)
next
return hexResult
End Function
#tag EndMethod
#tag Method, Flags = &h0
Sub writeIMAPLog(log As string)
dim f As FolderItem
dim output As TextOutputStream
dim theDate As new date
theDate = new date
f = GetFolderItem("Logs")
if f = nil or not f.Exists then
f.CreateAsFolder
end if
f = f.Child("indieMAP Log.txt")
if f = nil or not f.Exists then
output = f.CreateTextFile
output.Close
else
output = f.AppendToTextFile
output.Write theDate.ShortDate+" "+theDate.ShortTime+" - "+log+EndOfLine+EndOfLine
output.Close
end if
End Sub
#tag EndMethod
#tag ViewBehavior
#tag ViewProperty
Name="Index"
Visible=true
Group="ID"
InitialValue="-2147483648"
Type="Integer"
#tag EndViewProperty
#tag ViewProperty
Name="Left"
Visible=true
Group="Position"
InitialValue="0"
Type="Integer"
#tag EndViewProperty
#tag ViewProperty
Name="Name"
Visible=true
Group="ID"
Type="String"
#tag EndViewProperty
#tag ViewProperty
Name="Super"
Visible=true
Group="ID"
Type="String"
#tag EndViewProperty
#tag ViewProperty
Name="Top"
Visible=true
Group="Position"
InitialValue="0"
Type="Integer"
#tag EndViewProperty
#tag EndViewBehavior
End Module
#tag EndModule