Ini Sektionsnamen in Listbox

  • Wie man schon sieht, nur eine kleine Frage.
    Habs gerade so:

    [autoit]

    $Servers = inireadsectionnames("Beispiel.ini")
    guictrlsetdata($List1,$Servers)

    [/autoit]


    Geht aber nich...
    Bitte helfen!

  • IniReadSectionNames gibt ein Array zurück. D.h ich würde es so machen:

    [autoit]

    $Servers = inireadsectionnames("Beispiel.ini")
    for $i = 0 to Ubound($Servers)-1
    GuiCtrlSetData($List1,GuiCtrlRead($List)&$Servers[$i]&@CRLF)
    Next

    [/autoit]



    Sorry das es nicht im Autoit code ist aber mein browser macht da immer probleme ^^


    Gruß Everkosus

    Einmal editiert, zuletzt von Everkosus (18. August 2011 um 20:39)

  • Naja, also die SektionNames heißen dann z.B. "LOL[]" und so sollte das ja nicht sein xD

    Edit: Wenn ich

    [autoit]

    $Servers = inireadsectionnames("Fiload.ini")
    for $i = 0 to Ubound($Servers)-1
    GuiCtrlSetData($List_Servers,$Servers[$i])
    Next

    [/autoit]


    mache geht es, aber oben in der ListBox steht dann immer noch ne 3, und ich habe keine Gruppe, die 3 heißt xD

    Einmal editiert, zuletzt von Hugbert (18. August 2011 um 20:43)

  • Mir fällt grad auf das im index 0 des Array die anzahl der sektionen stehen also:

    [autoit]

    $Servers = inireadsectionnames("Beispiel.ini")
    for $i = 1 to $Servers[0]
    GuiCtrlSetData($List1,GuiCtrlRead($List)&$Servers[$i]&@CRLF)
    Next

    [/autoit]

    Wie Lol[]? Ist $List dann ein Edit feld wenn ja, Was soll den nacher im Edit feld stehen ? Die namen aller Sektionen untereinander oder ?

  • Error:
    for $i = 1 to $Servers[0]
    for $i = 1 to $Servers^ ERROR

    Edit: AAh geht xD habs jetzt so gemacht:

    [autoit]

    for $i = 1 to $Servers[0]
    GuiCtrlSetData($List_Servers,$Servers[$i])
    Next

    [/autoit]

    Edit: Könnt ihr mir noch sagen, wo hier der Error liegt?Er sagt immer bei dem EndFunc Oo

    [autoit]

    Func _RefreshServerList()
    GuiCtrlSetData($Label_Status,"Status: Server aktualisieren...")
    if FileExists("Fiload.ini") then
    $Servers = IniReadSectionNames("Fiload.ini")
    for $i = 1 to $Servers[0]
    GuiCtrlSetData($List_Servers,$Servers[$i])
    Next
    GuiCtrlSetData($Label_Status,"Status: Warten auf Verbindung...")
    Else
    FileInstall("Fiload.ini","Fiload.ini")
    _RefreshServerList()
    EndIf
    EndFunc _RefreshServerList()

    [/autoit]

    Edit: hier der Error:
    (54) : ==> Illegal text at the end of statement (one statement per line).:
    EndFunc _RefreshServerList()

    3 Mal editiert, zuletzt von Hugbert (18. August 2011 um 21:18)

  • [autoit]

    EndFunc _RefreshServerList()

    [/autoit]


    Du beendest die FUnktion und rufst in der selben Zeile die Funktion auf.
    Einfach nur

    [autoit]

    EndFunc

    [/autoit]

    und der Error sollte weg sein ;)

  • ich würde das Array sofern es eins ist mit

    [autoit]

    _ArrayToString(Const ByRef $avArray, $sDelim = "|", $iStart = 0, $iEnd = 0)

    [/autoit]

    umwandeln, dann hat man auch gleich die Pipes als Trenner :)

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

  • Aaah ja, hab vergessen dass hinter das EndFunc garnicht der Name muss xD Dumm.

    Edit: Nächste Frage, kann man auch eine komplette Sektion aus einer Ini löschen? Einen passenden Befehl gibt es dazu ja nicht.

    Edit: Ich muss mich korrigieren:

    [autoit]

    IniDelete

    [/autoit]

    2 Mal editiert, zuletzt von Hugbert (19. August 2011 um 13:33)