GUICtrlSetData

  • wie kann ich in einem GuiSetData 3 variabeln reinpacken, welche keine zahlen sind??
    das soll nacher nämlich ausgelesen werden:
    ich habs so versucht

    [autoit]


    GUICtrlCreateCombo ("",75, 160, 80)
    $test = GUICtrlSetData(-1,$a|& $b|& $c|, 1)
    $Value = GUICtrlRead($test)

    [/autoit]


    danke schonmal im vorraus

  • Ungetestet:

    Spoiler anzeigen
    [autoit]

    GUICtrlCreateCombo ("",75, 160, 80)
    $test = GUICtrlSetData(-1,$a & "|" & $b & "|" & $c, 1)
    $Value = GUICtrlRead($test)

    [/autoit]

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • danke funktioniert


    €: aber jetzt liest er alle 3 aus und nicht das was gewählt wurde oder? liege ich da falsch?

  • Du kannst die Auswahl der Combobox überhaupt nicht auslesen, wenn du keine Variable zuweist.
    $test ist nicht deine Combobox, also kann der Befehl zum auslesen nix brauchbares liefern.

    [autoit]


    $mycombo1 = GUICtrlCreateCombo ("",75, 160, 80)
    $test = GUICtrlSetData(-1,$a & "|" & $b & "|" & $c, 1)
    $Value = GUICtrlRead($mycombo1)
    msgbox(0,"",$Value)

    [/autoit]

    Edit: In deinem Fall würde hier nun vermutlich $a als ergebnis erscheinen, da dies der erste Eintrag ist und du noch keine andere Auswahl getroffen hast.

    Einmal editiert, zuletzt von misterspeed (19. November 2010 um 18:19)

  • €: aber jetzt liest er alle 3 aus und nicht das was gewählt wurde oder? liege ich da falsch?


    Jein:

    • Ja, weil deine 3 Code-Zeilen so nicht funktionieren
    • nein, weil beim korrekten benutzen von GuiCtrlRead, nämlich innerhalb der MsgLoop-Schleife bzw. im OnEventModus innerhalb einer func die mir GuiCtrlSetOnEvent gesetzt wurde es funktioniert

    Hier das leicht modifizierte Beispiel aus der Hilfe zu GuiCtrlCreateCombo:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Opt('MustDeclareVars', 1)

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

    Example()

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

    Func Example()
    Local $msg
    GUICreate("Meine GUI combo") ; Erstellt ein GUI-Fenster welches mittig ausgerichtet wird

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

    Local $Combo = GUICtrlCreateCombo("item1", 10, 10) ; Erstellt das erste Item
    GUICtrlSetData(-1, "item2|item3", "item3") ; Fügt andere Items hinzu und setzt einen neuen Standard
    GUISetState()

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

    ; Die Schleife wiederholt sich, bis der Benutzer eine Beenden-Aktion auslöst
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $Combo
    MsgBox(0,"",GUICtrlRead($Combo))
    EndSwitch
    WEnd
    EndFunc ;==>Example

    [/autoit]

    Edit: so wie du GuiCtrlSetData benutzt hat $Test den Wert 1 weil es geklappt hat,

    mfg autoBert