Guten Abend liebe AutoIt-Profis,
ich bin absoluter AutoIt-Anfänger und habe folgendes Problem:
Ich habe soeben meine allererste „User-Form“ gebastelt, mit der ich Textdateien aus dem Ordner "C:\_Test" auslesen (und später löschen) möchte. Also habe ich mir mit der AutoIt-Hilfe aus mehreren Beispielen mein eigenes Script zusammengeschustert. Bin auch soweit stolz, denn das Auslesen von Dateiname und Erstellungszeit klappt für meine beschränkten Kenntnisse prima …
Aber: Wenn ich den Button „die markierte Datei löschen“ drücke kommt nicht wie erwartet der Dateiname, sondern immer die ListView-Auswahl 0, egal ob und welchen Eintrag ich in der Liste ausgewählt habe – wo liegt mein Fehler?
Ideal wäre, wenn ich hier den Dateinamen herausbekommen könnte (wie in Spalte 1 des ListView) – die Löschfunktion schaffe ich dann alleine …
Vielen Dank im Voraus für Eure Hilfe!!! Mit freundlichen Grüßen Michael
[spoiler][#AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include <GuiConstantsEx.au3>
#include <GuiListView.au3>
#include <GuiButton.au3>
#include <WindowsConstants.au3>
#Include <File.au3>
#Include <Array.au3>
Global $RohPfad, $Anzahl, $uchPfad
Opt('MustDeclareVars', 1)
$Debug_LV = False
$RohPfad = "C:\_Test\"
$Anzahl = _FileListToArray($RohPfad,"*.txt",1)
$Anzahl = $Anzahl[0]
$uchPfad = FileFindFirstFile($RohPfad & "*.txt")
_Loeschen_aus_Liste()
Func _Loeschen_aus_Liste()
Local $ListView, $Button, $Name[$Anzahl][2], $Zaehler, $Zeit[6], $TT_MM_JJJJ, $td_Min, $Datei, $msg
; Create GUI
GUICreate(" Datei zum Löschen auswählen", 500, 400)
$Button = GUICtrlCreateButton("die markierte Datei löschen", 150, 220, 200, 30)
$ListView = GUICtrlCreateListView("", 3, 20, 494, 175)
_GUICtrlListView_AddColumn($ListView, "Name der Datei", 300)
_GUICtrlListView_AddColumn($ListView, "Erstellungsdatum", 190)
For $Zaehler = 0 To UBound($Name) - 1
$Name[$Zaehler][0] = FileFindNextFile($uchPfad)
$Datei = $RohPfad & $Name[$Zaehler][0]
$Zeit = FileGetTime($Datei, 1)
$TT_MM_JJJJ = $Zeit[2] & "." & $Zeit[1] & "." & $Zeit[0]
$td_Min = $Zeit[3] & ":" & $Zeit[4] & " Uhr"
$Name[$Zaehler][1] = $TT_MM_JJJJ & " " & $td_Min
Next
_GUICtrlListView_AddArray($ListView, $Name)
GUISetState()
Do
$msg = GUIGetMsg()
If $msg = $Button Then
MsgBox(0, "Name der Datei", GUICtrlRead($ListView,1))
EndIf
Until $msg = $GUI_EVENT_CLOSE
FileClose($uchPfad)
EndFunc]