GuiCtrlSetData klappt nicht richtig?

  • Hey,
    hab mir folgendes Tool gebastelt ( nur zu Testzwecken für richtiges Programm ).

    [autoit]


    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Downloader", 170, 172, 193, 125)
    $Label1 = GUICtrlCreateLabel("Wähle ein Programm aus!", 20, 0, 125, 17)
    GUICtrlSetFont(-1, 5, 400, 0, "MS Sans Serif")
    $List1 = GUICtrlCreateList("", 4, 18, 159, 110)
    GUICtrlSetFont(-1, 5, 400, 0, "MS Sans Serif")
    $Button1 = GUICtrlCreateButton("Download", 44, 138, 77, 27, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    GUICtrlSetData ($List1,IniRead( @ScriptDir & "\test.ini","Programme","Programm1","None Found"))
    Sleep (100)
    GUICtrlSetData ($List1,IniRead( @ScriptDir & "\test.ini","Programme","Programm2","None Found"))
    Sleep (100)
    GUICtrlSetData ($List1,IniRead( @ScriptDir & "\test.ini","Programme","Programm3","None Found"))
    Sleep (100)
    GUICtrlSetData ($List1,IniRead( @ScriptDir & "\test.ini","Programme","Programm4","None Found"))

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]

    Ini sieht so aus
    [Programme]
    Programm1=Codierer Ultra »2008«.au3
    Programm2=Codierer Ultra »2008«.exe
    Programm3=Maus-O-Meter.exe
    Programm4=Maus-O-Meter.au3

    Wieso erkennt er das 4. Programm nicht?

  • Versuch das mal ;)

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    Global $test
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Downloader", 170, 172, 193, 125)
    $Label1 = GUICtrlCreateLabel("Wähle ein Programm aus!", 20, 0, 125, 17)
    GUICtrlSetFont(-1, 5, 400, 0, "MS Sans Serif")
    $List1 = GUICtrlCreateList("", 4, 18, 159, 110)
    GUICtrlSetFont(-1, 5, 400, 0, "MS Sans Serif")
    $Button1 = GUICtrlCreateButton("Download", 44, 138, 77, 27, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    For $i = 1 To 4
    $test &= IniRead( @ScriptDir & "\test.ini","Programme","Programm" & $i,"None Found") & "|"
    next
    guictrlsetdata($List1, $test)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]
  • Hi,
    Inireadsection liest direkt alle Daten in einer Ini in ein Array.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    $Form1 = GUICreate("Downloader", 170, 172, 193, 125)
    $Label1 = GUICtrlCreateLabel("Wähle ein Programm aus!", 20, 0, 125, 17)
    GUICtrlSetFont(-1, 5, 400, 0, "MS Sans Serif")
    $List1 = GUICtrlCreateList("", 4, 18, 159, 110)
    GUICtrlSetFont(-1, 5, 400, 0, "MS Sans Serif")
    $Button1 = GUICtrlCreateButton("Download", 44, 138, 77, 27, 0)
    GUISetState(@SW_SHOW)

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

    $var = IniReadSection("test.ini", "Programme")
    for $i = 1 to $var[0][0]
    GUICtrlSetData ($List1,$var[$i][1])
    Next

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]
  • Würdest du uns vielleicht mal sagen was nicht geht?

    Das funzt einwandfrei, vielleicht liegt die ini bei dir ja nicht in dem selben Verzeichnis. Ich kann bis heute noch nicht Hellsehen, aber vielleicht kommt das ja noch, du könntest dich auch mal ein bisschen bemühen dein Script selber zum laufen zu bringen.

  • anno2008 , ich bemühe mich doch!
    Aber ich kann auch nicht Hellsehen also muss ich euch fragen =)

  • Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <GUIConstantsEx.au3>

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

    $Form1 = GUICreate("Downloader", 170, 172, 193, 125)
    $Label1 = GUICtrlCreateLabel("Wähle ein Programm aus!", 20, 0, 125, 17)
    GUICtrlSetFont(-1, 5, 400, 0, "MS Sans Serif")
    $List1 = GUICtrlCreateList("", 4, 18, 159, 110)
    GUICtrlSetFont(-1, 5, 400, 0, "MS Sans Serif")
    $Button1 = GUICtrlCreateButton("Download", 44, 138, 77, 27, 0)
    GUISetState(@SW_SHOW)

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

    $var = IniReadSection("test.ini", "Programme")
    If Not @error Then
    _ArrayDisplay($var) ;stehen in dem Arraydisplay alle Programme drin?
    For $i = 1 To $var[0][0]
    GUICtrlSetData($List1, $var[$i][1])
    Next
    Else
    MsgBox(0, "Error", "Datei konnte nicht eingelesen werden!")
    EndIf

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]

    Probier mal und sag dann was nicht geht. Kommt nix, kommt der Fehler, oder was weiß ich...

  • Komisch , mit diesem klappt es.
    Danke vielmals. Werde gleich das Programm online stellen ( wenn ich es noch schaffe :) )