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.
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListView.au3>
$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)
$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)
_load_database($Liste1, @ScriptDir & '\Database')
GUISetState(@SW_SHOW, $Form1)
$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)
$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)
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
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
$ID_next =0
[/autoit][autoit][/autoit][autoit]While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
$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
Ich hoffe es kann mir einer weiterhelfen, ich steh total aufn schlauch!