-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathmodConfig.bas
50 lines (41 loc) · 2.18 KB
/
modConfig.bas
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
Attribute VB_Name = "modConfig"
'--------for INI file read/write
Private Declare Function GetPrivateProfileSection Lib "kernel32" Alias "GetPrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileSection Lib "kernel32" Alias "WritePrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String, ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
'-------------------
Private Function GetPath() As String
Dim path As String
path = App.path
If Right$(path, 1) = "\" Then ' fix for A:\ path
path = Left(path, Len(path) - 1)
End If
GetPath = path & "\mastodon.ini"
End Function
'reads ini string
Public Function ReadIni(Section As String, Key As String) As String
Dim RetVal As String * 255, v As Long
v = GetPrivateProfileString(Section, Key, "", RetVal, 255, GetPath())
ReadIni = Left(RetVal, v)
End Function
'reads ini section
Public Function ReadIniSection(Section As String) As String
Dim RetVal As String * 255, v As Long
v = GetPrivateProfileSection(Section, RetVal, 255, GetPath())
ReadIniSection = Left(RetVal, v - 1)
End Function
'writes ini
Public Sub WriteIni(Section As String, Key As String, Value As String)
WritePrivateProfileString Section, Key, Value, GetPath()
End Sub
'writes ini section
Public Sub WriteIniSection(Section As String, Value As String)
WritePrivateProfileSection Section, Value, GetPath()
End Sub
Public Function GetInstance() As String
GetInstance = ReadIni("auth", "instance")
End Function
Public Function GetToken() As String
GetToken = ReadIni("auth", "token")
End Function