Listview Problem

  • Hallo
    Ich habe bei meinem Listview ein kleines Problem.
    Ich kann nicht meine gespeicherten .ini Dateien in der Listview anzeigen lassen.
    Es ist sicher ein Problem die INI-Dateien zu automatisch zu laden.
    Erstellt werden die Dateien und in den Unterordner Database gespeichert, nur möchte
    ich beim starten der Listview, das alle im Ordner befindlichen .ini Dateien angezeigt werden.
    Und wenn ich die ini Datei anklicke in einer GUI der ausgewählte Text der in der ini steht
    angezeigt wird.

    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListView.au3>

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

    $sHeader = "Datum|Verfasst von|Kommentar / Verbesserungsvorschlag"

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

    $Form1 = GUICreate("Kommentar / Verbesserungsvorschlag", 600, 500)
    $Liste1 = GUICtrlCreateListView("Datum|Verfasst von|Thema", 0, 0, 600, 450)
    $hLVHandle = GUICtrlGetHandle($Liste1)
    _GUICtrlListView_SetColumn($hLVHandle, 0, "Datum", 100, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 1, "Verfasst von", 150, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 2, "Thema", 350, 0)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)

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

    $Eintragen = GUICtrlCreateButton("Kommentar / Verbesserungsvorschlag verfassen", 50, 455, 200, 40, $BS_MULTILINE)
    $Lesen = GUICtrlCreateButton("Makierter Beitrag lesen", 350, 455, 200, 40, $BS_MULTILINE)
    $hCMenu = GUICtrlCreateContextMenu($Liste1)
    $hCEintragen = GUICtrlCreateMenuItem("Kommentar / Verbesserungsvorschlag verfassen", $hCMenu)
    $hCLesen = GUICtrlCreateMenuItem("Makierter Beitrag lesen", $hCMenu)

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

    _load_database($Liste1, @ScriptDir & '\Database')
    GUISetState(@SW_SHOW, $Form1)

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

    $Form2 = GUICreate("Kommentar / Verbesserungsvorschlag verfassen", 500, 400)
    $Label1 = GUICtrlCreateLabel("Datum", 20, 20, 80, 20)
    $Input1 = GUICtrlCreateInput("", 20, 40, 80, 20)
    $Label2 = GUICtrlCreateLabel("Verfasser", 110, 20, 100, 20)
    $Input2 = GUICtrlCreateInput("", 110, 40, 100, 20)
    $Label3 = GUICtrlCreateLabel("Thema", 220, 20, 260, 20)
    $Input3 = GUICtrlCreateInput("", 220, 40, 260, 20)
    $Label4 = GUICtrlCreateLabel("Komentar / Verbesserungsvorschlag", 20, 80, 460, 20)
    $Input4 = GUICtrlCreateInput("", 20, 100, 460, 245)
    $Button1 = GUICtrlCreateButton("Eintrag Speichern", 150, 350, 200, 40)

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

    $Form3 = GUICreate("Kommentar / Verbesserungsvorschlag lesen", 500, 400)
    $Label5 = GUICtrlCreateLabel("Datum", 20, 20, 80, 20)
    $Input5 = GUICtrlCreateInput("", 20, 40, 80, 20)
    $Label6 = GUICtrlCreateLabel("Verfasser", 110, 20, 100, 20)
    $Input6 = GUICtrlCreateInput("", 110, 40, 100, 20)
    $Label7 = GUICtrlCreateLabel("Thema", 220, 20, 260, 20)
    $Input7 = GUICtrlCreateInput("", 220, 40, 60, 20)
    $Label8 = GUICtrlCreateLabel("Komentar / Verbesserungsvorschlag", 20, 80, 460, 20)
    $Input8 = GUICtrlCreateInput("", 20, 100, 460, 245)
    $Button2 = GUICtrlCreateButton("OK", 150, 350, 200, 40)

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

    While 1
    $msg = GUIGetMsg(1)
    Switch $msg[1]
    Case $Form1
    Switch $msg[0]
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Eintragen, $hCEintragen
    GUISetState(@SW_DISABLE, $Form1)
    GUISetState(@SW_SHOW, $Form2)
    Case $hCLesen, $Lesen
    $Angeklickt = _GUICtrlListView_SetSelectionMark($Liste1, 0)
    $AngeklicktDatum = _GUICtrlListView_GetItemText($Liste1, $Angeklickt, 0)
    $AngeklicktName = _GUICtrlListView_GetItemText($Liste1, $Angeklickt, 1)
    $AngeklicktThema = _GUICtrlListView_GetItemText($Liste1, $Angeklickt, 2)
    GUICtrlSetData($Input5, IniRead("\Der InstLer\Der Instler\Kommentar Verfassen\Database\" & $AngeklicktDatum & " " & $AngeklicktName & " " & $AngeklicktThema & ".ini", "data", "Datum", ""))
    GUICtrlSetData($Input6, IniRead("\Der InstLer\Der Instler\Kommentar Verfassen\Database\" & $AngeklicktDatum & " " & $AngeklicktName & " " & $AngeklicktThema & ".ini", "data", "Verfasser", ""))
    GUICtrlSetData($Input7, IniRead("\Der InstLer\Der Instler\Kommentar Verfassen\Database\" & $AngeklicktDatum & " " & $AngeklicktName & " " & $AngeklicktThema & ".ini", "data", "Thema", ""))
    GUICtrlSetData($Input8, IniRead("\Der InstLer\Der Instler\Kommentar Verfassen\Database\" & $AngeklicktDatum & " " & $AngeklicktName & " " & $AngeklicktThema & ".ini", "data", "Text", ""))
    GUICtrlSetState($Input5, $GUI_DISABLE)
    GUICtrlSetState($Input6, $GUI_DISABLE)
    GUICtrlSetState($Input7, $GUI_DISABLE)
    GUICtrlSetState($Input8, $GUI_DISABLE)
    GUISetState(@SW_DISABLE, $Form1)
    GUISetState(@SW_SHOW, $Form3)
    EndSwitch
    Case $Form2
    Switch $msg[0]
    Case $Button1
    $Datum = GUICtrlRead($Input1)
    $Verfasser = GUICtrlRead($Input2)
    $Thema = GUICtrlRead($Input3)
    $Text = GUICtrlRead($Input4)
    IniWrite("\Der InstLer\Der Instler\Kommentar Verfassen\Database\" & $Datum & " " & $Verfasser & " " & $Thema & ".ini", "data", "Datum", $Datum)
    IniWrite("\Der InstLer\Der Instler\Kommentar Verfassen\Database\" & $Datum & " " & $Verfasser & " " & $Thema & ".ini", "data", "Verfasser", $Verfasser)
    IniWrite("\Der InstLer\Der Instler\Kommentar Verfassen\Database\" & $Datum & " " & $Verfasser & " " & $Thema & ".ini", "data", "Thema", $Thema)
    IniWrite("\Der InstLer\Der Instler\Kommentar Verfassen\Database\" & $Datum & " " & $Verfasser & " " & $Thema & ".ini", "data", "Text", $Text)
    GUICtrlCreateListViewItem(GUICtrlRead($Input1) & '|' & GUICtrlRead($Input2) & '|' & GUICtrlRead($Input3), $Liste1)
    GUICtrlSetData($Input1, "")
    GUICtrlSetData($Input2, "")
    GUICtrlSetData($Input3, "")
    GUICtrlSetData($Input4, "")
    GUISetState(@SW_ENABLE, $Form1)
    GUISetState(@SW_HIDE, $Form2)
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_ENABLE, $Form1)
    GUISetState(@SW_HIDE, $Form2)
    EndSwitch
    Case $Form3
    Switch $msg[0]
    Case $Button2, $GUI_EVENT_CLOSE
    GUISetState(@SW_ENABLE, $Form1)
    GUISetState(@SW_HIDE, $Form3)
    EndSwitch
    EndSwitch
    WEnd

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

    Func _load_database($hListView, $path_database)
    $search = FileFindNextFile($path_database & "\*.*")
    If $search = -1 Then
    MsgBox(0, "Error", "No files/directories matched the search pattern")
    Return 0
    EndIf

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

    $ID_next =0

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

    While 1
    $file = FileFindNextFile($search)
    If @error Then ExitLoop

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

    $Datum = IniRead($path_database & '\' & $file, 'data', 'Datum', 'error')
    $Verfasser = IniRead($path_database & '\' & $file, 'data', 'Verfasser', 'error')
    $Thema = IniRead($path_database & '\' & $file, 'data', 'Thema', 'error')
    $Text = IniRead($path_database & '\' & $file, 'data', 'Text', 'error')
    $IDN = IniRead($path_database & '\' & $file, 'data', 'ID', 'error')
    $id = StringTrimRight($file, 5)
    GUICtrlCreateListViewItem($Datum & '|' & $Verfasser & '|' & $Thema & '|' & $Text & '|' & $IDN, $hListView)
    $ID_next = $id + 1
    WEnd
    FileClose($search)
    EndFunc

    [/autoit]



    Ich hoffe es kann mir einer weiterhelfen, ich steh total aufn schlauch!

    Einmal editiert, zuletzt von Croco1984 (17. März 2013 um 18:55)