ListItems als variable?

  • Hallo!
    Könnt ihr mir bitte mal einen Skript schicken, wo ListItems ohne Button zum hinzufügen.
    Also man startet das Skript, es öffnet sich ne GUI, mit einer ListBox. Die Items die darin sind, möchte ich als variable haben. Der Skript:

    Spoiler anzeigen
    [autoit]


    ;KodaGUI
    $Form = GUICreate("Form", 200, 200, 400, 400)
    $ListBox = GUICtrlCreateList("", 100, 100, 300, 300, $WS_BORDER)
    GUICtrlSetData(-1, "|Item1 |Item2 |Item3");Da möchte ich Item1, Item2 und Item3 als Variable haben.

    [/autoit]


    Geht das?

    MfG button421

    Meine fertigen Projekte:
    VirtualCash
    Monopoly Digital

    Daran arbeite ich gerade:
    Einem Skript, womit man ohne Programmierkentisse eigene Programme machen kann (habe ich selber früher gesucht :D ) Stand: ||||||||||||||||||||||||| 6%

  • [autoit]


    GUICreate("", 180, 235, 192, 124)
    $List = GUICtrlCreateList("", 16, 16, 153, 201)
    GUICtrlSetData(-1, "Item1|Item2|Item3|Item4|Item5|Item6")
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case -3
    Exit
    Case $List
    TrayTip("Eintrag",GUICtrlRead($List),5,1)
    EndSwitch
    WEnd

    [/autoit]

    Sowas in der Art??

    21 is only half the truth.

    • Offizieller Beitrag

    button421, wenn du dich mal klar ausdrücken würdest, müßte man nicht raten was du willst.

    Zitat

    Könnt ihr mir bitte mal einen Skript schicken, wo ListItems ohne Button zum hinzufügen.

    Sollwas heißen? Bitte genauer formulieren, das hat nicht mit verständliches Deutsch.

    Zitat

    Also man startet das Skript, es öffnet sich ne GUI, mit einer ListBox. Die Items die darin sind, möchte ich als variable haben

    Willst du alle Items als Variable haben? Nur das Ausgewählte? Was genau?

  • Alle ListItems sollen eine eigene Variable haben.
    Etwa so:

    [autoit]


    $Form1 = GUICreate("",200,200,400,400, -1)
    $List1 = GUICtrlCreateList("", 100,100,300,300, $WS_GROUP)
    GUICtrlSetData(-1, "Item1 | Item2 | Item3") ;Ich möchte Item1, Item2 und Item3 als Var haben.
    GUISetState(@SW_SHOW)

    [/autoit]


    Müsste es dann vieleicht so heißen?:

    [autoit]


    $Item1 = GUICtrlRead($List1)
    While 1
    Case -3
    Exit
    Case $Item1
    MsgBox(0,"","")

    [/autoit]

    MfG button421

    Meine fertigen Projekte:
    VirtualCash
    Monopoly Digital

    Daran arbeite ich gerade:
    Einem Skript, womit man ohne Programmierkentisse eigene Programme machen kann (habe ich selber früher gesucht :D ) Stand: ||||||||||||||||||||||||| 6%

  • Im Prinzip ja (habs nicht getestet) bis auf das Case Item1, aber schau dir nochmal mein Script an, das funzt ;)

    21 is only half the truth.

  • Willst du uns verar***en?!
    Ließt du dir eigentlich Beiträge durch?

  • nein, ich will euch nicht verar***en! Aber kann ich nicht statt:

    [autoit]


    TrayTip("Eintrag",GUICtrlRead($List),5,1)

    [/autoit]


    irgendetwas anderes nehmen (z.B. MsgBox?)

    Meine fertigen Projekte:
    VirtualCash
    Monopoly Digital

    Daran arbeite ich gerade:
    Einem Skript, womit man ohne Programmierkentisse eigene Programme machen kann (habe ich selber früher gesucht :D ) Stand: ||||||||||||||||||||||||| 6%

  • [autoit]

    GUICreate("", 180, 235, 192, 124)
    $List = GUICtrlCreateList("", 16, 16, 153, 201)
    GUICtrlSetData(-1, "Item1|Item2|Item3|Item4|Item5|Item6")
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case -3
    Exit
    Case $List
    MsgBox(0,"Eintrag",GUICtrlRead($List))
    EndSwitch
    WEnd

    [/autoit]

    Also das hättest du doch hinbekommen können oder ?

    21 is only half the truth.

  • stimmt, aber kann ich das jetzt auch mit

    [autoit]


    $Form1 = ;GUI1
    $Form2 = ;GUI2
    GUISetState(@SW_SHOW, $Form1)

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

    Case $List
    ;Hier soll GUISetState(@SW_HIDE, $Form1) und GUISetState(@SW_SHOW, $Form2) hin.

    [/autoit]

    Meine fertigen Projekte:
    VirtualCash
    Monopoly Digital

    Daran arbeite ich gerade:
    Einem Skript, womit man ohne Programmierkentisse eigene Programme machen kann (habe ich selber früher gesucht :D ) Stand: ||||||||||||||||||||||||| 6%

  • Da reicht doch dann eine einfache If Abfrage...

    [autoit]

    GUICreate("", 180, 235, 192, 124)
    $List = GUICtrlCreateList("", 16, 16, 153, 201)
    GUICtrlSetData(-1, "Item1|Item2|Item3|Item4|Item5|Item6")
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case -3
    Exit
    Case $List
    If GUICtrlRead($List) = "Item1" Then GUISetState(@SW_HIDE, $Form1)
    If GUICtrlRead($List) = "Item2" Then GUISetState(@SW_SHOW, $Form2)
    EndSwitch
    WEnd

    [/autoit]

    21 is only half the truth.

    • Offizieller Beitrag

    Omg, das Beschreiben was man haben will ist ja so Schwer.

    Warum hast du nicht gleich gesagt, du willst bei einem Klck auf ein bestimmtes ListItem eine Aktion ausführen.
    Das geht z.B. so:

    [autoit]

    #include <GuiListBox.au3>
    GUICreate("", 180, 235, 192, 124)
    $List = GUICtrlCreateList("", 16, 16, 153, 201)
    GUICtrlSetData(-1, "Item1|Item2|Item3|Item4|Item5|Item6")
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case -3
    Exit
    Case $List
    Switch (_GUICtrlListBox_GetCurSel($List))
    Case 0 ; Auswahl 0 weil das 1. ListElement den Index 0 hat.
    MsgBox(0, "Info", "Diese Mesagebox wird bei Auswahl des 1. Listeintrages angesteuert")
    Case 1
    MsgBox(0, "Info", "Diese Mesagebox wird bei Auswahl des 2. Listeintrages angesteuert")
    Case 2
    MsgBox(0, "Info", "Diese Mesagebox wird bei Auswahl des 3. Listeintrages angesteuert")
    Case 3
    MsgBox(0, "Info", "Diese Mesagebox wird bei Auswahl des 4. Listeintrages angesteuert")
    Case 4
    MsgBox(0, "Info", "Diese Mesagebox wird bei Auswahl des 5. Listeintrages angesteuert")
    Case 5
    MsgBox(0, "Info", "Diese Mesagebox wird bei Auswahl des 6. Listeintrages angesteuert")
    EndSwitch
    EndSwitch
    WEnd

    [/autoit]
  • Ich finde, dass Mahagons Skript etwas einfacher zu verstehen ist.
    Blöd dass ich immer immer um 20:00Uhr ins Bett muss :(
    So kann ich Posts nach 20:00Uhr nicht mehr lesen.

    MfG button421 :P

    Meine fertigen Projekte:
    VirtualCash
    Monopoly Digital

    Daran arbeite ich gerade:
    Einem Skript, womit man ohne Programmierkentisse eigene Programme machen kann (habe ich selber früher gesucht :D ) Stand: ||||||||||||||||||||||||| 6%

  • Was ist daran so schwer zu verstehen?
    Du hast doch selber in Post #13 geschrieben das du es kapiert hast.
    Nochmal: Ich möchte das wenn auf ein ListItem klickt, sich eine Aktion ausführt.

    Meine fertigen Projekte:
    VirtualCash
    Monopoly Digital

    Daran arbeite ich gerade:
    Einem Skript, womit man ohne Programmierkentisse eigene Programme machen kann (habe ich selber früher gesucht :D ) Stand: ||||||||||||||||||||||||| 6%

  • also button421, wenn ich jetzt nicht schon fast 4 monate hier registriert wäre, würde ich sagen:

    Jeder Neuling ist so...

    Aber du bist ja NOCH lernresistenter als ICH ?!?, und ICH dachte das gibt es nicht
    Ok, nach 3 3/4 Monaten habe ich begriffen was "Hilfe" heisst !!!

    Raupi hat dir doch alles gepostet ?
    Schreibe doch einfach in CASE $List was er ausführen soll !!!


    Also sogar ich wusste das Case $Button1 --> ZEile Drunter das jeweilige ausführt !!!

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

    • Offizieller Beitrag
    Zitat

    Was ist daran so schwer zu verstehen?
    Du hast doch selber in Post #13 geschrieben das du es kapiert hast.
    Nochmal: Ich möchte das wenn auf ein ListItem klickt, sich eine Aktion ausführt.

    Noch mal zum langsam lesen.... es gibt 2 Möglichkeiten.

    1. Du willst nach dem Inhalt also dem Text eine Aktion ausführen. D.H. Wenn dich der Inhalt des Listviews ändert muß sich auch die Auswahl verändern.
    2. Du willst nach der Position des Eintrages eine Aktion ausführen. Bei dieser Variante ist es egal was überhaupt in der Liste steht. Einzig die Anzahl der Einträge sollte sich bei einer festen Zuordnung nicht ändern.

    Hast ja jetzt beide Varianten und kannst die Vor- und Nachteile abwägen.


    @ElliteMattthias, halt den Ball flach. Deine dummen Komentare kannst du dir vollkommen sparen. Faß dir erstmal an die eigene Nase.