Alles rund um - Visual Basic


 Zum vorherigen AbschnittZum nächsten Abschnitt INI-Dateien lesen und schreiben
Eine sehr oft genutzte Speichermöglichkeit sind - neben der Registry - INI-Dateien. Man kann Einträge ganz leicht nach Gruppen sortieren und auch auslesen. Nach dem Löschen der Datei sind im Gegensatz zur Registry alle Daten gelöscht und Deinstallationsroutinen werden somit praktisch überflüssig. Ein großer Vorteil ist außerdem, dass der Benutzer die Datei selbst manuell anpassen kann und somit z.B. eventuelle Fehler verbessert. Mit Hilfe von zwei API-Funktionen erspart man sich sogar noch viel Code.
Ihre Bewertung:
 12345
    

Bewertung dieses Tipps:  (bewertet von insgesamt 105 Besuchern)


 Zum vorherigen AbschnittZum nächsten Abschnitt Deklarationen
Um diese API-Funktionen in eigenen Projekten nutzen zu können, müssen sie zuerst im Kopf der Datei deklariert werden:

'API-Funktionen deklarieren
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationname As String, ByVal lpKeyName As Any, ByVal lsString As Any, ByVal lplFilename As String) As Long
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 Long, ByVal lpFileName As String) As Long


 Zum vorherigen AbschnittZum nächsten Abschnitt Funktionen/Aufrufe
Jetzt fehlen noch ein paar Funktionen. Platzieren Sie diese in der gleichen Form oder dem gleichen Modul wie die API-Deklarationen:

Sub SaveINISetting(ByVal Filename As String, ByVal Key As String, ByVal Setting As String, ByVal Value As Variant)
   Call WritePrivateProfileString(Key, Setting, Value, Filename)
End Sub

Function GetINISetting(ByVal Filename As String, ByVal Key As String, ByVal Setting As String, ByVal Default As Variant) As Variant
   Dim Temp As String * 1024

   Call GetPrivateProfileString(Key, Setting, Default, Temp, Len(Temp), Filename)
   GetINISetting = Mid(Temp, 1, InStr(1, Temp, Chr(0)) - 1)
End Function


Wenn Sie aus INI-Dateien lesen wollen, gehen Sie wie folgt vor:

Variable = GetINISetting("C:\Datei.ini", "Gruppe", "Eintrag", "Vorgabe")

Wenn Sie in eine INI-Datei schreiben möchten, rufen Sie das Ganze folgendermaßen auf:

SaveINISetting "C:\Datei.ini", "Gruppe", "Eintrag", "Wert"


C:\Datei.ini =
Setzen Sie hier die zu lesende bzw. in die zu schreibende Datei ein.
Gruppe       =
Statt diesen Ausdruck müssen Sie natürlich die Gruppe angeben, wobei die eckigen Klammern weggelassen werden.
Eintrag      =
An diese Stelle gehört der Name des Eintrags, also der Teil vor dem Gleichzeichen (Angabe erfolgt ohne ohne Gleichzeichen).
Vorgabe      =
Nur beim Lesen: Falls noch kein solcher Eintrag existiert, wird diese Angabe zurückgegeben.
Wert         =
Nur beim Schreiben: Dieser Wert wird in die INI-Datei geschrieben, also hinter das Gleichzeichen.


 Zum vorherigen AbschnittZum nächsten Abschnitt Hinweis
Die Datei muss nicht die Endung ".ini" besitzen, sondern kann auch völlig andere Endungen vorweisen.



Quellen: SHADOWare.de
Letzte Änderung: 19.07.01
©2001 by SHADOWare, Thomas Bachem