Ini Datei Section Namen lesen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Ini Datei Section Namen lesen

    Hi ich habe folgendes Problem:

    Ich möchte ein Errinerungs Programm die Errinerungsdaten in einer INI Datei ablegen un später wieder laden lassen. Die Section soll jeweils immer den Namen der Errinerung bekommen und alle anderen daten werden dann über die Keys verarbeitet.

    Beim Laden soll das programm aus der Ini datei die namen der Sections auslesen und in einem Temporären Wert zur Splittung ablegen - da diese namen ja die namen von den Errinerungen sind.

    Weis jemand wie man sowas macht?
    Ne das meinte ich nicht. Als ich bei meinen Programmen mit Ini Datein anfing hatte ich geadcht dass das arbeiten mit diesen Datein so einfach ging so wie es dein code macht, aber denkste! Später fand ich dann diese Function:

    VB.NET-Quellcode

    1. Private Declare Auto Function GetPrivateProfileString Lib "Kernel32" (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

    Damit Organisierte ich bei einem Programm den Win-Stand By. Verwirrend was? Und damit es noch verwirrender wird giebts da noch ne ähnliche wariante:
    Wariante2:

    VB.NET-Quellcode

    1. Private Declare Ansi Function GetPrivateProfileString Lib "kernel32.dll" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Int32, ByVal lpFileName As String) As Int32


    Nun jetzt suchte ich nach der Möglichkeit die Section Namen in der INI Datei heraus zu bekommen. Und da tauchte dann noch ne spezial Function Wariante auf die mit einer der vorgänger irgendwie zusammen hängt:

    VB.NET-Quellcode

    1. Public Function GetIniString(ByVal Sektion As String, ByVal Titel As String, ByVal Vorgabe As String, ByVal INIFile As String, Optional ByVal nSize As Integer = 256) As String
    2. Dim lResult As Long
    3. Dim sValue As String
    4. sValue = Space$(nSize)
    5. lResult = GetPrivateProfileString(Sektion, Titel, Vorgabe, sValue, nSize, INIFile)
    6. GetIniString = Left$(sValue, lResult)
    7. End Function

    Alle verwirrt? ?(
    Nun Mein Ziel: Am Ende Sollen die Namen der Sections in der Ini in einem String (bereit zur Splittung) ausgegeben werden. Ungefär so:
    "Name1;Name2;Name3"
    habe vom 2. link den code ausprobiert. zum testen habe ich mir die "herrausgefundenen Sections" in einer MsgBox ausgeben lassen. Das doofe ist nur das die Namen der Sections immmer als eingene MsgBox angezeigt wurden und nicht in einer, so wie es hätte laut code sein sollen.
    Was ich meine ist, dass in der MsgBox als Prompt nich "Section1 Section2 Section3" stand sondern erst eine MsgBox mit dem Prmpt "Section1" kam und dann mit 2 und 3.

    jemand ne idee?