Array & combobox

  • Ich habe folgendes Problem ich hoffe ihr könnt mir dabei helfen. Und zwar würde ich gerne ein array in eine Combobox schrieben jedoch ist der array immer unterschiedlich viele werte wie mache ich das?

  • Hallo marsoo,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee

    und jetzt zu deinem Problem: hier einmal ein kleines Beispielkript mit Array und 2 ComboBoxen:

    Spoiler anzeigen
    [autoit]

    #Include <GuiComboBox.au3>
    #include <GUIConstantsEx.au3>
    #include <array.au3>
    #include <File.au3>

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

    Const $sCSV = @ScriptDir & "\2cbo.TXT"
    Const $sElect = "bitte auswählen"
    Dim $a_sCSV, $aSplit, $scboChr = ""
    _FileReadToArray($sCSV,$a_sCSV)
    Dim $aCSV[$a_sCSV[0]][2]
    for $i = 1 to UBound($a_sCSV) - 1
    ConsoleWrite($i & $a_sCSV[$i] & @CRLF)
    $aSplit = StringSplit($a_sCSV[$i],";")
    if not StringInStr($scboChr,$aSplit[1]) Then $scboChr &= $aSplit[1] & "|"
    $aCSV[$i-1][0] = $aSplit[1]
    $aCSV[$i-1][1] = $aSplit[2]
    Next
    ConsoleWrite($scboChr & @CRLF)

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

    $hGui = GUICreate("2 Comboboxen aus 1er CSV", 250, 120, 302, 218)
    $hcboChr = GUICtrlCreateCombo($sElect, 8, 8, 200, 25)
    GUICtrlSetData(-1,$scboChr)
    $hcboChrNr = GUICtrlCreateCombo("",8,35,200,25)
    $hbtnExit = GUICtrlCreateButton("Be&enden", 8, 65)

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

    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE, $hbtnExit
    Exit
    Case $hcboChr
    $sVal = GUICtrlRead($hcboChr)
    GUICtrlSetData($hcboChrNr,"")
    if $sVal <> $sElect Then
    $aSplit = _ArrayFindAll($aCSV,$sVal,0,0,True,True,0)
    $scboChr = ""
    for $i = 0 to UBound($aSplit) - 1
    $scboChr &= $aCSV[$aSplit[$i]][1] & "|"
    Next
    ConsoleWrite($scboChr & @CRLF)
    GUICtrlSetData($hcboChrNr,$scboChr)
    _GUICtrlComboBox_SetCurSel($hcboChrNr, 0)
    EndIf
    EndSwitch
    WEnd

    [/autoit]


    Hier noch die dazugehörige autoit.de/wcf/attachment/12195/ , viel Spass damit,

    mfg autoBert

    mfg autoBert