Dropdown mit ID irgendwie möglich?

  • Moin moin Leute.

    Folgendes anliegen.

    Ich bin hier dezent am verzweifeln mit den Dropdowns.

    Und zwar:

    Problem:
    Ich habe 2 Dropdowns für Endpunkte.
    Die Namen der Endpunkte sind nicht Unique (Einzigartig).
    Es kann 2 oder mehr Endpunkte mit dem selben Namen geben.

    Folgende weitere Anforderungen:

    • Das Programm soll später prüfen, ob in beiden Dropdowns die selben Endpunkte ausgewählt sind.
    • Das Programm soll später die IP zu dem Endpunkt raussuchen.
    • Es soll nur der Endpunktname im Dropdown zu lesen sein für den User.


    Wenn der User nun auf dem Server 2 Endpunkte mit dem Namen Hamburg angegeben hat gäbe es Komplikationen bisher bei:
    1. Hamburg (ID 1) hat den selben Namen wie Hamburg (ID 5)
    2. Er würde bisher das Array durchsuchen und das erste Hamburg nehmen, was er findet
    3. Es soll "Hamburg" im Dropdown stehen. Nicht "Endpunkt 5: Hamburg"


    In HTML/PHP wüsste ich sofort wie ich dieses Problem lösen könnte. Dort kann man ja einfach die ID direkt mit angeben.
    Nur leider in AutoIT nicht...

    Oder ist es möglich, dass man auslesen kann, der wievielte Eintrag ausgewählt wurde?
    Oder eine UDF?
    Mir ist vieles/alles recht. Hauptsache es läuft und die User kriegen nichts von dem Chaos dahinter mit =D

    Danke schon einmal für die Anstrengung eurer Grauen Zellen.

    Mit freundlichen Grüßen
    lachi

    2 Mal editiert, zuletzt von lachi (11. Januar 2013 um 12:03)

    • Offizieller Beitrag

    Verstehe dein Problem nicht.
    So?
    Erste Auswahlbox c auswählen Button drücken dann siehst du welches c!

    Spoiler anzeigen
    [autoit]

    #Region ;************ Includes ************
    #Include <GuiComboBox.au3>
    #include <GUIConstantsEx.au3>
    ;~ #include <GUIConstantsEx.au3>;~~~
    #EndRegion ;************ Includes ************

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

    ; Here is the array
    Global $aArray[5] = ["A", "B", "C", "D", "C"]
    Global $aArray1[5] = ["G", "B", "M", "N", "R"]

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

    ; And here we get the elements into a list
    $sList = ""
    For $i = 0 To UBound($aArray) - 1
    $sList &= "|" & $aArray[$i]
    Next
    $sList1 = ""
    For $i = 0 To UBound($aArray1) - 1
    $sList1 &= "|" & $aArray1[$i]
    Next

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

    ; Create a GUI

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

    $hGUI = GUICreate("Test", 500, 500)

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

    ; Create the combo
    $hCombo = GUICtrlCreateCombo("", 10, 10, 200, 20)
    $hCombo1 = GUICtrlCreateCombo("", 250, 10, 200, 20)
    ; And fill it
    GUICtrlSetData($hCombo, $sList)
    GUICtrlSetData($hCombo1, $sList1)

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

    $check_B = GUICtrlCreateButton('Check', 10, 200, 100, 20)

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

    GUISetState()

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    case $check_B
    ConsoleWrite(GUICtrlRead($hCombo) & @LF)
    ConsoleWrite(_GUICtrlComboBox_GetCurSel($hCombo) & @LF) ; fängt bei 0 an!
    EndSwitch
    WEnd

    [/autoit]