Liste von Daten (LiestView)->auf einen bestimmten Eintrag zugreifen

  • Ich versuche Datenimport zu automatisieren.
    Ich habe eine Liste von Daten (LiestView). Bsp:
    Patient1
    Patient2
    :
    Patient3
    Wie kann Ich mit dem AutoIt Programm auf einen bestimmten Eintrag zugreifen.
    Danke.

    Einmal editiert, zuletzt von oxi (25. Mai 2011 um 11:57)

  • Spoiler anzeigen
    [autoit]

    #region - Timestamp
    ;2011-05-24 14:31:19
    #endregion - Timestamp

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

    #include <GUIConstants.au3>
    #include <GuiListView.au3>
    #region - GUI Create
    GUICreate('', 400, 400)
    ;~ Listview erstellen und füllen
    $hListView = GUICtrlCreateListView("", 4, 4, 300, 300, $LVS_SHOWSELALWAYS)
    _GUICtrlListView_InsertColumn($hListView, 0, "Spalte 1", 100)
    For $i = 0 To 9
    _GUICtrlListView_AddItem($hListView, Random(100, 999, 1))
    Next
    _GUICtrlListView_InsertColumn($hListView, 0, "Spalte 2", 100)
    For $i = 0 To 9
    _GUICtrlListView_AddSubItem($hListView, $i, Random(100, 999, 1), 1)
    Next
    GUISetState()
    #endregion - GUI Create

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

    ; markiert das Item mit dem Index 5
    _GUICtrlListView_SetItemSelected($hListView, 5)

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

    #region - GUI SelectLoop
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    WEnd
    #endregion - GUI SelectLoop

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
  • Vielen Dank!!!!
    Mit dem Script hast Du mir viel erklärt.
    Listview habe ich, musste nicht erstellen( aber Vielen, Vielen Dank). Mein Problem war,dass ich nicht wusste wie ich das Item markieren soll (oder auswählen ;) ).
    Ich habe folgendes ausprobiert: was mache ich falsch?

    [autoit]


    WinWaitActive("Programm","")
    Send("{F2}") ; DatenImport gestartet
    Send("{ENTER}") ; bestätigt
    ;dann kam WindowsForm->Control mit ListView
    _GUICtrlListView_SetItemSelected(0x00050A4C, 0) ; Handle des Controls mit dem Index 0 (1 Element)

    [/autoit]
  • Hallo oxi,

    wenn es eine

    • eigene erstellte Gui ist, warum arbeitest du dann mit send.
    • fremde Gui ist, teste den Befehl [autoit]ControlListView [/autoit] evtl. auch [autoit]ControlCommand [/autoit] und anstelle von Send [autoit]Controlsend[/autoit]

    mfg autoBert

  • Hallo autoBert,
    vielen Dank für deine Hilfe, habe jetzt gleich ausprobiert.

    [autoit]


    ControlListView("Patientenauswahl","","[CLASS:ListView20WndClass; INSTANCE:1]","Select",0,0) ;es funktioniert wunderbar, ich will aber nicht nur markieren, sondern aktivieren(durch click) -> wie kann ich es lösen?

    [/autoit]


    Nochmals Vielen Dank.

  • Hi autoBert,

    das Ptoblem habe ich gelöst. Ich Danke Dir seeeeeeeeeeeeeehhhhhhhhhhhhhhr ;) Deine Tipps waren super-hilfreich!!!

    Gruß Oxi