ListView Items speichern

  • Hallo zusammen,

    weiß jemand wie man ListView Items speichert, z.B. in einer belibiegen Datei?
    Ich habe schon alles versucht und gesucht, hatt aber bis jetzt nichts gebracht.

    Würde mich auf eure Hilfe freuen, danke!

    MfG

    MehmeX

  • Also in meinem Web-Helfer hab ichs so gemaht:

    [autoit]

    FileOpen (@ScriptDir & "\Data\SiteList\SiteList.dat", 2)
    $List1Count = _GUICtrlListBox_GetCount ($List1)
    For $i = 0 To $List1Count -1
    FileWrite (@ScriptDir & "\Data\SiteList\SiteList.dat", _GUICtrlListBox_GetText ($List1, $i) & "|")
    Next

    [/autoit]

    Is aber für ne normale Liste, net für ne ListView.
    Musst mal gucken obs geht.
    ( Die Variable $List1 ist dabei GUICtrlCreateList )

    PS: Such mal in der Hilfe unter "Index" nach den ganzen _GUICtrlListView... befehlen. Gibts ne ganze reie von.

  • Spoiler anzeigen
    [autoit]


    #include <GuiComboBoxEx.au3>
    #include <GuiImageList.au3>
    #include <GuiConstantsEx.au3>

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

    Opt('MustDeclareVars', 1)

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

    $Debug_CB = False ; Check ClassName being passed to ComboBox/ComboBoxEx functions, set to True and use a handle to another control to see it work

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

    Global $iMemo

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

    _Main()

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

    Func _Main()
    Local $hGUI, $hImage, $hCombo

    $hGUI = GUICreate("ComboBoxEx Set Image List", 400, 300)
    $hCombo = _GUICtrlComboBoxEx_Create ($hGUI, "", 2, 2, 394, 100)
    $iMemo = GUICtrlCreateEdit("", 2, 32, 396, 266, 0)
    GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
    GUISetState()

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

    $hImage = _GUIImageList_Create (16, 16, 5, 3)
    _GUIImageList_AddIcon ($hImage, @ScriptDir & "\images\flags\de.ico")
    _GUIImageList_AddIcon ($hImage, @ScriptDir & "\images\flags\us.ico")
    ;@SystemDir & "\shell32.dll", 110)
    _GUIImageList_AddIcon ($hImage, @SystemDir & "\shell32.dll", 131)
    _GUIImageList_AddIcon ($hImage, @SystemDir & "\shell32.dll", 165)
    _GUIImageList_AddIcon ($hImage, @SystemDir & "\shell32.dll", 168)
    _GUIImageList_AddIcon ($hImage, @SystemDir & "\shell32.dll", 137)
    _GUIImageList_AddIcon ($hImage, @SystemDir & "\shell32.dll", 146)
    _GUIImageList_Add ($hImage, _GUICtrlComboBoxEx_CreateSolidBitMap ($hCombo, 0xFF0000, 16, 16))
    _GUIImageList_Add ($hImage, _GUICtrlComboBoxEx_CreateSolidBitMap ($hCombo, 0x00FF00, 16, 16))
    _GUIImageList_Add ($hImage, _GUICtrlComboBoxEx_CreateSolidBitMap ($hCombo, 0x0000FF, 16, 16))
    ;Set Image List
    _GUICtrlComboBoxEx_SetImageList ($hCombo, $hImage)
    _GUICtrlComboBoxEx_AddString ($hCombo, StringFormat("01 : Deutsch", Random(1, 100, 1)), 0)
    _GUICtrlComboBoxEx_AddString ($hCombo, StringFormat("02 : Englich", Random(2, 100, 2)), 1)

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

    ;Get Image List
    MemoWrite("ImageList Handle: " & _GUICtrlComboBoxEx_GetImageList($hCombo))

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

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    EndFunc ;==>_Main

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

    ; Write a line to the memo control
    Func MemoWrite($sMessage)
    GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
    EndFunc ;==>MemoWrite

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Wie schon gesagt, ich habe schon überall gesucht.
    Und das mit der ListBox/ImageList-Funktion hat nichts mit ListView zu tun, denke ich mal oder?

    Ich möchte die Items in eine Datei speichern, damit man sie später wieder aufrufen kann.
    Bsp. wenn 2 Items in einer ListView sind, sollen diese in eine datei gespeichert werden.

    Test|Test2|Test3
    Data|Data2|Data3
    ...

    Anscheinent kann man es mit "_GUICtrlListView_GetItemTextArray" machen, aber wie mache ich es, damit der alle in der ListView abspeichert (z.B. nach der Reihe). Geht das vielleicht mit For und Next?

    3 Mal editiert, zuletzt von MehmeX (3. April 2009 um 17:45)

  • DANKE für das Datenbank-Beispiel, jetzt habe ich es hinbekommen, so wie ich es wollte. :thumbup: