vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Auflistung von .ini-Dateieinträgen 
Autor: Manfred X
Datum: 07.07.11 21:28

Hallo!

Du könntest eine generische Dictionary (in: System.Collections.Generic)
anlegen, deren Schlüssel die Sektionen sind und deren Werte wiederum
jeweils eine Dictionary ist, die als Schlüssel die Schlüssel der Sektion
verwendet.

Dim Sektions As New Dictionary(Of String, Dictionary(Of String, String))
Eine Funktion zum Lesen und Füllen dieser Dictionary
könnte etwa so aussehen (nur grob getestet!!).
Public Function ReadIni(ByVal Filename As String) As Boolean
 
   Try
       Sektions.Clear()
 
       Dim enc As New System.Text.UTF8Encoding 'Codierung der INI??
       'Zeilenweise Lesen
       Dim lines() As String = IO.File.ReadAllLines(Filename, enc)
       Dim c As Integer = -1
       Dim c1 As Integer, sec, p() As String
 
       Do
          c += 1
          'Sektion ermitteln 
          If lines(c) <> String.Empty AndAlso lines(c)(0) = "[" Then
             sec = lines(c).Trim("["c, "]"c, " "c)
             Dim sk As New Dictionary(Of String, String)
             c1 = c
             Do
                c1 = c1 + 1
                'Zeile mit Schlüssel/Wert aufspalten und eintragen
                p = lines(c1).Split("="c)
                If p.Length = 2 Then
                   sk.Add(p(0).Trim.ToUpper, p(1).Trim)
                End If
             Loop While c1 < lines.Length - 1 AndAlso lines(c1)(0) <> "["
             'Schlüssel-Dictionary in Sektions verzeichnen 
             Sektions.Add(sec.Trim.ToUpper, sk)
             c = c1 - 1
          End If
       Loop While c < lines.Length - 1
       Return True
    Catch ex As Exception
       Return False
    End Try
 End Function
Eine Liste der Sektionen (Abschnitte) erhält man durch "Sektions.Keys"
Eine Liste der Schlüssel einer Sektion liefert "Sektions("X_ABC").Keys"
Einen Schlüsselwert erhält man durch: Sektions("X_ABC")("SCHLÜSSEL1")

Falls nur Sektionen gelesen werden sollen, die einem Teilstring
entsprechen, muss in die Routine eine Filterbedingung eingebaut werden,
z.B. If sec.Contains("x_") Then .....

Es gibt auch APIs, die einen Profilestring lesen/schreiben.
http://www.vbarchiv.net/api/details.php?id=getprivateprofilestring


MfG
Manfred

Beitrag wurde zuletzt am 07.07.11 um 21:52:38 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Auflistung von .ini-Dateieinträgen1.767Elch100007.07.11 16:33
Re: Auflistung von .ini-Dateieinträgen1.432Code_mancer07.07.11 16:41
Re: Auflistung von .ini-Dateieinträgen1.445Manfred X07.07.11 21:28
Re: Auflistung von .ini-Dateieinträgen1.232Elch100003.08.11 17:48
Re: Auflistung von .ini-Dateieinträgen1.407Manfred X03.08.11 18:53
Re: Auflistung von .ini-Dateieinträgen1.240ModeratorDaveS03.08.11 19:36
Re: Auflistung von .ini-Dateieinträgen1.195Preisser03.08.11 19:41
Re: Auflistung von .ini-Dateieinträgen1.218ModeratorDaveS03.08.11 20:03
Re: Auflistung von .ini-Dateieinträgen1.200Preisser03.08.11 20:11
Re: Auflistung von .ini-Dateieinträgen1.301ModeratorDaveS03.08.11 20:20
Re: Auflistung von .ini-Dateieinträgen1.217Preisser03.08.11 20:35
Re: Auflistung von .ini-Dateieinträgen1.302ModeratorDaveS03.08.11 20:50
Re: Auflistung von .ini-Dateieinträgen1.258Manfred X03.08.11 19:44
Re: Auflistung von .ini-Dateieinträgen1.301ModeratorDaveS03.08.11 20:07
Re: Auflistung von .ini-Dateieinträgen1.349Manfred X03.08.11 21:07
Re: Auflistung von .ini-Dateieinträgen1.206ModeratorDaveS03.08.11 21:15
Re: Auflistung von .ini-Dateieinträgen1.211Manfred X03.08.11 21:43
Re: Auflistung von .ini-Dateieinträgen1.338ModeratorDaveS03.08.11 21:57
Re: Auflistung von .ini-Dateieinträgen1.511Pringlos17.08.11 13:23

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel