ListviewItem an run Übergeben

  • Hallo,
    habe folgendes Problem möchte gerne aus einem Listview eintrag parameter an run übergeben.
    so sieht meine Listview aus:

    Hostname|BENUTZERNAME|SITZUNGSNAME|KENNUNG|STATUS|LEERLAUFZEIT|ANMELDEZEIT|

    und das möchte ich ausführen:

    TSDISCON SITZUNGSNAME /SERVER:Hostname

    Wie geht das habe leider kein beispiel für gefunden.

    Danke
    SubZero

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

  • Danke,

    habe es gefunden aus der hilfe aber habe noch ein verständnis problem ??
    kannst du es mir kurz erklätren??

    [autoit]

    #include <GuiConstantsEx.au3>
    #include <GuiListView.au3>

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

    Opt('MustDeclareVars', 1)

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

    $Debug_LV = False ; Check ClassName being passed to ListView functions, set to True and use a handle to another control to see it work

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

    _Main()

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

    Func _Main()
    Local $hListView

    GUICreate("ListView Get Item Text", 400, 300)
    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
    GUISetState()

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

    ; Add columns
    _GUICtrlListView_AddColumn($hListView, "Items", 100)

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

    ; Add items
    _GUICtrlListView_AddItem($hListView, "Item 1")
    _GUICtrlListView_AddItem($hListView, "Item 2")
    _GUICtrlListView_AddItem($hListView, "Item 3")

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

    ; Set item 2 text
    _GUICtrlListView_SetItemText($hListView, 1, "New Item 2")
    MsgBox(4160, "Information", "Item 2 Text: " & _GUICtrlListView_GetItemText($hListView, 1))

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

    ; Loop until user exits
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
    EndFunc

    [/autoit]

    Oder mir ein bespiel geben damit ich es verstehe?

    Danke
    SubZero

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

    • Offizieller Beitrag

    Beispiel:

    Spoiler anzeigen
    [autoit]


    #include <GuiListView.au3>
    #include <GuiConstantsEx.au3>

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

    GUICreate('ListView Get Item Text', 400, 300)
    $hListView = GUICtrlCreateListView('Hostname|BENUTZERNAME|SITZUNGSNAME', 2, 2, 394, 268)
    GUISetState()
    For $i = 0 To 9
    GUICtrlCreateListViewItem(Random(100, 999, 1) & '|' & Random(1000, 9999, 1) & '|' & Random(10000, 99999, 1), $hListView)
    Next
    $hButton = GUICtrlCreateButton('Alle SITZUNGSNAMEN anzeigen', 100, 275, 220, 22)
    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hButton
    For $i = 0 To _GUICtrlListView_GetItemCount($hListview) -1
    MsgBox(0, 'Item ' & $i, _GUICtrlListView_GetItemText($hListView, $i, 2))
    Next
    EndSwitch
    WEnd

    [/autoit]
  • Hi,
    nachdem du die Listview erstellt hast, fügst du mit _GUICtrlListView_AddItem() gewissermaße nur eine neue Zeile ein. Gleichzeitig beschreibst du mit diesem Befehl das erste "Feld" (Spalte) in dieser Zeile.
    Mit _GUICtrlListView_AddSUBItem() füllst du nun die anderen "Felder" (Spalten) in dieser Zeile.
    Um nun ein Item zu lesen, brauchst du die Koordinaten der Zelle die du lesen möchtest, also die Zeile in der Liste und die Spalte. Ich gebe zu, daß die hantiererei mit null- und eins-basierendem Index anfangs etwas überfordert^^
    Die Frage ist nun, auf welche Art und Weise du die Daten aus der Liste herausbekommen willst. Per Mausklick, Doppelklick, Scrollzeile und Enterdrücken, oder mit einem Button...oder oder oder...
    Letztendlich ist es egal, du musst nur irgendwie die Zeile/Spalte bzw die beiden Indexe (Indizes? wohl beides richtig^^) bestimmen und dann mit _GUICtrlListView_GetItemText() den Inhalt dieses Feldes auslesen.
    ciao
    Andy

  • Ok,
    kann mir jemand das ergänzen damit ich das verstehe??
    Danke
    SubZero

    [autoit]

    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <GuiConstantsEx.au3>

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

    GUICreate('ListView Get Item Text', 400, 300)
    $hListView = GUICtrlCreateListView('Hostname|BENUTZERNAME|SITZUNGSNAME', 2, 2, 394, 268, BitOR($LVS_REPORT, $LVS_SINGLESEL));hier erstellst du die Listview
    GUISetState()
    For $i = 0 To 9
    GUICtrlCreateListViewItem(Random(100, 999, 1) & '|' & Random(1000, 9999, 1) & '|' & Random(10000, 99999, 1), $hListView);hier die einträge
    Next
    $hButton = GUICtrlCreateButton('Alle SITZUNGSNAMEN anzeigen', 100, 275, 220, 22);Button ist klar
    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hButton
    For $i = 0 To _GUICtrlListView_GetItemCount($hListview) -1;hier zählst du die einträge
    MsgBox(0, 'Item ' & $i, _GUICtrlListView_GetItemText($hListView, $i, 2));MSG boX
    ;woher weiss er das er die sitzung ausgeben soll?????
    Next
    EndSwitch
    WEnd

    [/autoit]

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

  • Hey,

    ich glaube es langsam zu verstehen aber was mache ich hier falsch ?

    [autoit]

    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <GuiConstantsEx.au3>

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

    GUICreate('ListView Get Item Text', 400, 300)
    $hListView = GUICtrlCreateListView('Hostname|BENUTZERNAME|SITZUNGSNAME', 2, 2, 394, 268, BitOR($LVS_REPORT, $LVS_SINGLESEL));hier erstellst du die Listview
    GUISetState()
    For $i = 0 To 9
    GUICtrlCreateListViewItem(Random(100, 999, 1) & '|' & Random(1000, 9999, 1) & '|' & Random(10000, 99999, 1), $hListView);hier die einträge
    Next
    $hButton = GUICtrlCreateButton('Alle SITZUNGSNAMEN anzeigen', 100, 275, 220, 22);Button ist klar
    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hButton
    ; For $i = 0 To _GUICtrlListView_GetItemCount($hListview) -1;hier zählst du die einträge
    ; MsgBox(0, 'Item ' & $i, _GUICtrlListView_GetItemText($hListView, $i, 0 & 2));MSG boX
    $ListViewText = _GUICtrlListView_GetItemTextArray($hListView)
    $var1 = _GUICtrlListView_GetItemText($ListViewText[1], $i, 0);MSG boX
    $var2 = _GUICtrlListView_GetItemText($ListViewText[1], $i, 2);MSG boX
    MsgBox(0, "", $var1 & @crlf & $var2)


    ;woher weiss er das er die sitzung rausgeben soll?????
    ;Next
    EndSwitch
    WEnd

    [/autoit]


    Danke
    SubZero

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

  • Hab mir zwar nicht allles durchgelesen, aber vllt hilft dir das.

    Spoiler anzeigen
    [autoit]

    #cs **************************************************************************

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

    ListviewItem an run Übergeben

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

    http://www.autoit.de/index.php?page…6830#post106830

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

    #ce **************************************************************************

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

    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <GuiConstantsEx.au3>

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

    GUICreate('ListView Get Item Text', 400, 300)
    $hListView = GUICtrlCreateListView('Hostname|BENUTZERNAME|SITZUNGSNAME', 2, 2, 394, 268, BitOR($LVS_REPORT, $LVS_SINGLESEL));hier erstellst du die Listview
    GUISetState()
    For $i = 0 To 9
    GUICtrlCreateListViewItem(Random(100, 999, 1) & '|' & Random(1000, 9999, 1) & '|' & Random(10000, 99999, 1), $hListView);hier die einträge
    Next
    $hButton = GUICtrlCreateButton('Alle SITZUNGSNAMEN anzeigen', 100, 275, 220, 22);Button ist klar
    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hButton
    $aSel = _GUICtrlListView_GetSelectedIndices($hListView, True)
    For $i = 1 To $aSel[0]
    $var1 = _GUICtrlListView_GetItemText($hListView, $aSel[$i], 0)
    $var2 = _GUICtrlListView_GetItemText($hListView, $aSel[$i], 2)
    MsgBox(0, "", $var1 & @CRLF & $var2)
    Next
    EndSwitch
    WEnd

    [/autoit]
  • Hi,
    du hattest den handle falsch,

    Spoiler anzeigen
    [autoit]

    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <GuiConstantsEx.au3>

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

    GUICreate('ListView Get Item Text', 400, 300)
    $hListView = GUICtrlCreateListView('Hostname|BENUTZERNAME|SITZUNGSNAME', 2, 2, 394, 268, BitOR($LVS_REPORT, $LVS_SINGLESEL));hier erstellst du die Listview
    GUISetState()
    For $i = 0 To 9
    GUICtrlCreateListViewItem(Random(100, 999, 1) & '|' & Random(1000, 9999, 1) & '|' & Random(10000, 99999, 1), $hListView);hier die einträge
    Next
    $hButton = GUICtrlCreateButton('Alle SITZUNGSNAMEN anzeigen', 100, 275, 220, 22);Button ist klar
    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hButton
    For $i = 0 To _GUICtrlListView_GetItemCount($hListview) -1;hier zählst du die einträge
    ; MsgBox(0, 'Item ' & $i, _GUICtrlListView_GetItemText($hListView, $i, 0 & 2));MSG boX
    $ListViewText = _GUICtrlListView_GetItemTextArray($hListView)
    $var1 = _GUICtrlListView_GetItemText($hlistview, $i, 0);MSG boX
    $var2 = _GUICtrlListView_GetItemText($hlistview, $i, 2);MSG boX
    MsgBox(0, "", $var1 & @crlf & $var2)

    ;woher weiss er das er die sitzung rausgeben soll?????
    Next
    EndSwitch
    WEnd

    [/autoit]
    Zitat

    ;woher weiss er das er die sitzung rausgeben soll?????


    Der erste Parameter von _GUICtrlListView_GetItemText() ist der handle der Liste, der 2. Parameter ist die Listen-Zeile, 0=zeile 1, 1=zeile 2 usw. nullbasierend!
    Der 3. Parameter ist die "Spaltenposition" an der du das Item findest, 0=1.spalte, 1= 2.Spalte usw....

    ciao
    Andy


    "Schlechtes Benehmen halten die Leute doch nur deswegen für eine Art Vorrecht, weil keiner ihnen aufs Maul haut." Klaus Kinski
    "Hint: Write comments after each line. So you can (better) see what your program does and what it not does. And we can see what you're thinking what your program does and we can point to the missunderstandings." A-Jay

    Wie man Fragen richtig stellt... Tutorial: Wie man Script-Fehler findet und beseitigt...X-Y-Problem

    Einmal editiert, zuletzt von Andy (6. August 2009 um 13:07)