Füge folgende Funktion in Deinem Form ein:
#Region " INI "
' ############################################
' ### INI-Datei Funktionen
' ############################################
Public Declare Function WritePrivateProfileString Lib "kernel32" Alias _
"WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal _
lpKeyName As String, ByVal lpString As String, ByVal lpFileName As _
String) As Integer
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias _
"GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal _
lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As _
String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
'
' INI-Dateien lesen / schreiben (Declares)
'
' Text (String) in INI-Datei schreiben
Public Function IniWriteString(ByVal Sektion As String, ByVal Titel As _
String, ByVal Inhalt As String, ByVal Datei As String) As Integer
If Dir(Datei, FileAttribute.Normal) = "" Then
IniWriteMsgDoNotEdit(Datei)
End If
IniWriteString = WritePrivateProfileString(Sektion, Titel, Inhalt, _
Datei)
End Function
'
Public Sub IniWriteMsgDoNotEdit(ByVal Datei As String)
Dim F As Short
F = FreeFile()
FileOpen(F, Datei, OpenMode.Output)
PrintLine(F, ";")
PrintLine(F, "; ###############################")
PrintLine(F, "; # #")
PrintLine(F, "; # Do not work on this file! #")
PrintLine(F, "; # #")
PrintLine(F, "; ###############################")
PrintLine(F, ";")
FileClose(F)
End Sub
'
'
' INI String löschen
Public Function IniDeleteString(ByVal Sektion As String, ByVal Titel As _
String, ByVal Datei As String) As Integer
IniDeleteString = WritePrivateProfileString(Sektion, Titel, _
vbNullString, Datei)
End Function
'
' INI Abschnitt löschen
Public Function IniDeleteArray(ByVal Sektion As String, ByVal Datei As _
String) As Integer
IniDeleteArray = WritePrivateProfileString(Sektion, vbNullString, "", _
Datei)
End Function
'
' INI Abschnitte löschen
Public Function IniDeleteAllArray(ByVal Datei As String) As Integer
IniDeleteAllArray = WritePrivateProfileString(vbNullString, "", "", _
Datei)
End Function
'
' Text (String) aus INI-Datei lesen
Public Function IniReadString(ByVal Sektion As String, ByVal Titel As _
String, ByVal Vorgabe As String, ByVal Laenge As Short, ByVal Datei As _
String) As String
Dim Result As Integer
Dim Dummy As String
Dummy = Space(Laenge + 1)
Result = GetPrivateProfileString(Sektion, Titel, Vorgabe, Dummy, _
Laenge, Datei)
'IniReadString = Left(Dummy, Result)
IniReadString = Dummy.Substring(0, Result)
End Function
'
' Eintrag aus INI-Datei lesen
Public Function IniReadStringGet(ByVal Sektion As String, ByVal Titel As _
String, ByVal Vorgabe As String, ByVal Datei As String, Optional ByVal _
nSize As Short = 256) As String
Dim lResult As Integer
Dim sValue As String
sValue = Space(nSize)
lResult = GetPrivateProfileString(Sektion, Titel, Vorgabe, sValue, _
nSize, Datei)
'IniReadStringGet = Left(sValue, lResult)
IniReadStringGet = sValue.Substring(0, lResult)
End Function
'
' alle Abschnittsnamen ermitteln
Public Function IniGetArrays(ByVal Datei As String) As String 'Split(
' IniGetArrays, vbNullChar)
IniGetArrays = IniReadStringGet(vbNullString, "", "", Datei, 32767)
' BSP
'Dim Data As String
'Data = IniGetArrays(Programm_INI)
'Dim Data2() As String
'Data2 = Split(Data, vbNullChar)
'Data2(0-x) = Abschnittsnamen
End Function
'
' alle Schlüsselnamen ermitteln
Public Function IniGetStrings(ByVal Sektion As String, ByVal Datei As _
String) As String 'Split(IniGetArrays, vbNullChar)
IniGetStrings = IniReadStringGet(Sektion, vbNullString, "", Datei, _
32767)
' BSP
'Dim Data As String
'Data = IniGetStrings("Sektion", Programm_INI)
'Dim Data2() As String
'Data2 = Split(Data, vbNullChar)
'Data2(0-x) = Schlüsselnamen
End Function
'
#End Region Post war zu Groß, weiter geht es in Antwort 2 |