LGM's WORLD
 SCWlib: clsINI

SCWlib: clsINI

Visual Basic Klasse für den Zugriff auf INI-Dateien.

Autor:Tim Gerundt
Homepage:www.lgmsworld.de
E-Mail:lgm@lgmsworld.de

Lizenz

Der Autor übernimmt KEINE HAFTUNG für Schäden jeglicher Art an Dateien oder Hardware,
die durch dieses Programm verursacht werden könnten.

Installationen und Benutzung der Software sind kostenlos sowohl im privaten als auch im kommerziellen Umfeld.
Wenn die das Projekt finanziell unterstützen wollen, dann wenden Sie sich bitte direkt an den Autor.
Die private nichtkommerzielle Weitergabe des Programms auf Datenträgern ist gestattet.
Die nichtkommerzielle Spiegelung auf www- und ftp-Servern von Schulen, Hochschulen, Vereinen
und gemeinnützigen Organisationen ist gestattet.
Die Spiegelung des Programms auf Homepages von Privatpersonen oder Gewerbe ist vorher vom Autor genehmigen zu lassen.
Die kommerzielle Verwertung und Verteilung des Programms ist nur mit ausdrücklicher Erlaubnis des Autors gestattet.

Anleitung

Zum Benutzen der Klasse muß man die Datei clsINI.cls dem Visual-Basic Projekt hinzufügen.

Die Klasse unterstützt folgende Methoden:

  • File = String
    Pfad der INI-Datei.

  • FileExists() As Boolean
    Überprüfen, ob die INI-Datei existiert.


  • ReadKeyValueInt(Abschnitt As String, Schlüssel As String, Optional Standardwert As Long) As Long
    Liest einen Integer-Wert aus der INI-Datei.

  • ReadKeyValueBool(Abschnitt As String, Schlüssel As String, Optional Standardwert As Boolean) As Boolean
    Liest einen Boolean-Wert aus der INI-Datei.

  • ReadKeyValueStr(Abschnitt As String, Schlüssel As String, Optional Standardwert As String) As String
    Liest einen String-Wert aus der INI-Datei.

  • ReadKeyValue(Abschnitt As String, Schlüssel As String, Optional Standardwert As String) As String
    Liest einen String-Wert aus der INI-Datei.


  • WriteKeyValueInt(Abschnitt As String, Schlüssel As String, Wert As Long) As Boolean
    Schreibt einen Integer-Wert in die INI-Datei.

  • WriteKeyValueBool(Abschnitt As String, Schlüssel As String, Wert As Boolean) As Boolean
    Schreibt einen Boolean-Wert in die INI-Datei.

  • WriteKeyValueStr(Abschnitt As String, Schlüssel As String, Wert As String) As Boolean
    Schreibt einen String-Wert in die INI-Datei.

  • WriteKeyValue(Abschnitt As String, Schlüssel As String, Wert As String) As Boolean
    Schreibt einen String-Wert in die INI-Datei.


  • GetSectionNames(ByRef Abschnitte() As String) As Integer
    Liefert die Anzahl der Namen aller Abschnitte zurück.
    Die Namen selber werden über das Datenfeld "Abschnitte" zurück gegeben.

  • GetKeyNames(Abschnitt As String, ByRef Schlüssel() As String) As Integer
    Liefert die Anzahl der Namen aller Schlüssel von einem Abschnitt zurück.
    Die Namen selber werden über das Datenfeld "Schlüssel" zurück gegeben.


  • DeleteSection(Abschnitt As String) As Boolean
    Löscht einen Abschnitt aus der INI-Datei.

  • DeleteKey(Abschnitt As String, Schlüssel As String) As Boolean
    Löscht einen Schlüssel aus der INI-Datei.


Eine INI-Datei ist immer folgendermaßen aufgebaut:

 INI-Datei 
[Abschnitt]
Schlüssel=Wert

[Abschnitt-2]
Schlüssel-1=Wert-1
Schlüssel-2=Wert-2

[Abschnitt-3]
Schlüssel-1=Wert-1
Schlüssel-2=Wert-2


Der folgende Code zeigt, wie man die Klasse verwenden muss, um eine INI-Datei zu bearbeiten:

 Beispielcode 
Dim INI As New clsINI
Dim i As Integer, j As Integer, s As String
Dim sArray() As String

INI.File = "C:\Datei.ini" 'Pfad der INI-Datei.
If (INI.FileExists = True) Then 'Wenn die INI-Datei vorhanden ist...
  s = INI.ReadKeyValueInt("Test", "Integer") 'Integer-Wert auslesen.
  i = INI.ReadKeyValueStr("Test", "String") 'String-Wert auslesen.

  INI.WriteKeyValueBool "Test", "Boolean", True 'Boolean-Wert schreiben.

  i = INI.GetKeyNames("Test", sArray)
  For j = 0 To (i - 1) 'Für alle Schlüssel...
    Debug.Print sArray(j)
  Next j

  INI.DeleteKey "Test", "Alt" 'Schlüssel löschen.
  INI.DeleteSection "Alt" 'Abschnitt löschen.
End If


Bekannte Probleme:

  • Die Klasse kann nur Schlüssel lesen und schreiben, die innerhalb eines Abschnittes sind.


Viel Spaß mit der Klasse

Tim Gerundt

Version

0.9.0 » Funktion GetSectionNames eingebaut.
  » Funktion GetKeyNames eingebaut.
  » Versionsschema geändert.
0.0.8 » Erste offizielle Version.

 Copyright © 2001 - Tim "LGm" Gerundt