Mehrer Sections auslesen

  • Hey ich bins nochmal, mit einem neuen Problem, was wahrscheinlich eine total einfache Lösung hat, aber auf die ich nicht komme =)
    (Brett vorm Kopf)

    Also: ich habe eine Ini-Datei aus der ich mehrere Sectionen auslesen möchte.
    Bisher hatte ich immer nur eine EINZIGE Section in einer Ini-Datei weswegen ich bisher immer

    [autoit]

    IniReadSection

    [/autoit]

    verwendet habe.

    Die INI-Datei sieht z.B. So aus:

    [1234]
    1=abc
    2=def
    3= ghi
    [123456]
    1=abc
    2=def
    3= ghijk
    [1234231]
    1=abc
    2=dghu
    3= ghi

    Da die Sectionsnamen varrieren weis ich nicht wie ich das machen soll ?(?(


    Der Quellcode sollte hierfür eigentlich ziemlich unwichtig sein =)

  • Mit IniReadSectionNames() kannst du die einzelnen Sektionsnamen auslesen.
    So kannst du dann später auf die Sektionen via IniReadSection() oder IniRead() zugreifen.

  • Wie gesagt, mit IniReadSectionNames() kannst du alle Sektionsnamen in der INI Datei auslesen.
    Aber ich frage mich woher weißt du dann weißt welche Sektion du dann benötigst...

    Am einfachsten wäre es, wenn du einmal schilderst was du genau vor hast.
    Eventuell gibt es alternativen welche einen einfacheren Lösungsweg versprechen.

  • Geht klar:

    Also ich will eine Ini Datei auslesen, die durch ein anderes bereits fertig gestelltes Tool, mit Daten gespeist wird, dabei wird immer eine Nummer eingegeben z.b 1234 oder 123456. Diese Nummer dient als Section. Alle Sections werden in dieser Datei gespeichert.


    Ich will nun diese Ini Datei einträge in eine ListView einbinden, wie das geht weis ich schon ;), ich weis halt nur nicht wie verschiedene Sectionsnamen auslesen kann, ohne vorher zuwissen, wie der Sectionsname ist, da der für das Auslesetool für die ListView zuspeißen "Random" ist.

    Verstehst du was ich meine? Oder brauchst du doch Code einblicke?

  • Sollen alle Sektionen in das ListView eingebunden werden oder nur bestimmte?
    Wenn alle Sektionen eingebunden werden sollen, siehe Post #2.

    Wenn nur bestimmte, dann wird's schon schwieriger.
    Dann wäre vielleicht einige INI's die das Tool erstellt interessant.
    Vielleicht gibt es da möglichkeiten die einzelnen Sektionen zu unterscheiden.

    [autoit]

    #include <Array.au3>

    [/autoit][autoit][/autoit][autoit]

    $sINI = 'example.ini'

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $asSection = IniReadSectionNames($sINI)
    _ArrayDisplay($asSection)

    [/autoit][autoit][/autoit][autoit]

    For $i = 1 To $asSection[0]
    $asElement = IniReadSection($sINI, $asSection[$i])
    _ArrayDisplay($asElement)
    Next

    [/autoit]