'***************************************************************
'CIni
Option Explicit
'API
Private Declare Function GetPrivateProfileInt Lib "kernel32.dll" _
Alias "GetPrivateProfileIntA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal nDefault As Long, _
ByVal lpFileName As String _
) As Long
Private Declare Function GetPrivateProfileString Lib "kernel32.dll" _
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 WritePrivateProfileString Lib "kernel32.dll" _
Alias "WritePrivateProfileStringA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, _
ByVal lpString As Any, _
ByVal lpFileName As String _
) As Long
Private sFile As String
Public Sub Create(sFile_ As String)
sFile = sFile_
End Sub
Public Property Get Data(sSection_ As String, sKey_ As String) As
Integer
Data = GetPrivateProfileInt(sSection_, sKey_, -1, sFile)
End Property
Public Property Let Data(sSection_ As String, sKey_ As String, iData_
As Integer)
Dim sData As String
sData = iData_
WritePrivateProfileString sSection_, sKey_, sData, sFile
End Property
Public Property Get Text(sSection_ As String, sKey_ As String) As String
Dim sText As String
Dim lResult As Long
sText = String$(255, 0)
lResult = GetPrivateProfileString(sSection_, sKey_, "",
sText, Len(sText), sFile)
If lResult = 0 Then
Text = ""
Else
Text = Left(sText, InStr(sText, Chr(0)) - 1)
End If
End Property
Public Property Let Text(sSection_ As String, sKey_ As String, sText_
As String)
WritePrivateProfileString sSection_, sKey_, sText_, sFile
End Property
'***************************************************************** |