Visual Basic 6
INI-Dateien auslesen
Zugriff auf Konfigurationsdateien per API
Es ist ein alter Hut, aber auch bei alten Hüten vergisst man oft wie sie
aussehen: das Auslesen einer INI-Datei über die API-Funktionen GetPrivateProfileString.
Das gleiche gilt natürlich auch für den umgekehrten Weg WritePrivateProfileString,
um Daten in eine INI zu schreiben.
Der Einfachheit halber mit zwei kleinen Wrapper-Funktionen, um die Arbeit
während des Kodierens zu erleichtern:
Die API-Deklarationen
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 WritePrivateProfileString Lib "kernel32" _
Alias "WritePrivateProfileStringA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, _
ByVal lpString As Any, _
ByVal lpFileName As String) As Long
Die Hilfsfunktionen
Public Function GetINIString( _
ByVal strINIFile As String, _
ByVal strSection As String, _
ByVal strItem As String) As String
On Error GoTo error_handler
Dim intLen As Integer
Dim strBuffer As String * 1024
intLen = GetPrivateProfileString( _
strSection, strItem, "", strBuffer, 1024, strINIFile)
If intLen > 0 Then
GetINIString = Left$(strBuffer, intLen)
End If
error_handler:
End Function
Public Function SetINIString( _
strINIFile As String, _
strSection As String, _
strItem As String, _
strValue As String) As String
On Error GoTo error_handler
Dim lngRet As Long
lngRet = WritePrivateProfileString( _
strSection, strItem, strValue, strINIFile)
error_handler:
End Function