Vorschaubild anzeigen

  • Hi, wie kann ich in einer GUI ein Vorschaubild anzeigen lassen.

    Ich wähle aus einem ListView eine oder mehrere Dateien aus.
    Dann soll die erste Datei das Vorschaubild der jpg-Datei anzeigen.

    Wenn ich einen anderen Eintrag der ListeView anklicke, soll dieses Bild angezeigt werden.

    Ist dies möglich?

    Danke ;)

  • kann ich 2 GUI parallel offen haben?
    Wenn ich eine zweite erstelle, sehe ich nur diese.

    Habs mal so probiert

    [autoit]

    Case $msg = $GUI_EVENT_PRIMARYDOWN
    $pos = GUIGetCursorInfo()
    If ($pos[4] == $listview) Then
    $wo = _GUICtrlListViewGetItemText($listview, _GUICtrlListViewGetSelectedIndices($listview), 0)
    GUICtrlCreatePic ($pfad & $wo, 300, 10)
    EndIf

    [/autoit]

    Leider stimmt die Vorschau nicht immer mit dem richtigen Bild überein.
    Manchmal muß ich mehrmals auf den Eintrag klicken, damit das richtige Bild kommt.

    Es wäre mir am liebsten, wenn ich mit den Pfeiltasten die Liste durchfahren könnte und dann das richtige Bild kommt, doch leider passiert dabei nichts :weinen:

  • Hi,
    danke, dass du mir hilfst

    Hier ist der ganze Code

    Spoiler anzeigen
    [autoit]

    #include <GuiListView.au3>
    #include <GuiList.au3>
    #include <GUIConstants.au3>
    #Include <File.au3>
    #Include <Array.au3>
    #include <_ArrayDisplay2D.au3>
    #include <_ArraySort_2ary.au3>
    #include "image_get_info.au3"

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

    Dim $Fehler1, $Fehler2, $Fehler3, $Pfad

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

    ;Standardpfad hier auswählen
    $Standard = "D:\Test\"
    $Standard2 = "D:\Ziel\"

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

    ;------------------------------------------------------------------------------------------------
    ;umbenennen
    $ersetzen1 = "IMG" ;Quellfotos "IMG"
    $Dateiart1 = "JPG" ;Quellfotos Typ "JPG"
    $ersetzen2 = "MVI" ;Quellvideos "MVI"
    $Dateiart2 = "AVI" ;Quellvideos Typ "AVI"
    $Dateiart3 = "THM" ;Quellvideos Typ "THM"
    ;------------------------------------------------------------------------------------------------

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

    ;------------------------
    ;GUI
    ;------------------------
    ;GUI erzeugen
    GUICreate("Fotos übertragen", 500, 900,$WS_EX_ACCEPTFILES)

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

    ;Buttons
    $Quellordner = GUICtrlCreateButton("Quellordner auswählen", 300, 300)
    $kopieren = GUICtrlCreateButton("Kopieren", 300, 350)
    $umbenennen = GUICtrlCreateButton("umbenennen", 300, 400)
    $Kategorien = GUICtrlCreateButton("Kategorien vergeben", 300, 450)
    $datum = GUICtrlCreateButton("Datum zurücksetzen", 300, 500)
    $beenden = GUICtrlCreateButton("Beenden", 300, 550)

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

    ;Beschriftung
    GUICtrlCreateLabel("aktueller Quellpfad:", 300, 10)
    GUICtrlCreateLabel("aktueller Zielpfad:", 300, 30)

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

    ;Liste mit Dateien
    $listview = GuiCtrlCreateListView ("Bild|Datum",10,10,230,850, $LVS_SORTASCENDING);$LVS_SORTDESCENDING ;$LVS_SORTASCENDING

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

    ;?????????????
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT)

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

    ;Klappliste für das Umbenennen der Dateien
    $Klappen = GUICtrlCreateCombo ("FH", 300, 250, 50); erster Eintrag
    GUICtrlSetData(-1,"DF", "FH") ;weitere Einträge, getrennt durch | , zweiter Eintrag ist der Standard

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

    ;Spaltenbreite für die erste Spalte festlegen
    _GUICtrlListViewSetColumnWidth ($listview, 0, 100)

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

    ;------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;------------------------
    ;sonstiges
    ;------------------------
    ;Quellordner öffnen
    _Quellordner()

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

    ;Größe des Arrays anhand von vorhandenen Dateien einstellen
    $anzahl = DirGetSize($Pfad, 3)
    DIM $neu[$anzahl[1]+1][2]

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

    ;Array ($Filelist) erzeugen (nur Dateinamen)
    $FileList = _FileListToArray($Pfad)

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

    ;Array ($neu) erzeugen (Dateinamen von $Filelist und Datum)
    For $i = 1 To UBound($FileList)-1
    $neu[$i][0] = $FileList[$i]
    $time2 = FileGetTime($Pfad & $FileList[$i], 0)
    $neu[$i][1] = $time2[0]& $time2[1] & $time2[2] & $time2[3] & $time2[4] & $time2[5]
    Next

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

    ;Array sortieren nach Datum
    _ArraySort_2ary($neu,1,0)
    ;_ArrayDisplay2D($neu,"$neu")

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

    ;GUI anzeigen
    GUISetState()

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

    ;Einträge für ListView vornehmen (Datei und Datum)
    For $i = 1 To UBound($FileList)-1
    $time2 = FileGetTime($Pfad & $FileList[$i], 0)
    $video2 = $time2[0] & "." & $time2[1] & "." & $time2[2] & " " & $time2[3] & "." & $time2[4] & "." & $time2[5]
    GUICtrlCreateListViewItem($FileList[$i] & "|" & $video2, $listview)
    Next

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

    ;Einträge vom ListView sortieren
    Dim $B_DESCENDING[_GUICtrlListViewGetSubItemsCount ($listview) ];$B_DESCENDING
    _GUICtrlListViewSort($listview, $B_DESCENDING, 1); $B_DESCENDING

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

    ;------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;------------------------
    ;Drücken eines Buttons
    ;------------------------
    While 1
    $msg = GUIGetMsg()
    Select
    ;Button Quellordner
    Case $msg = $Quellordner
    _Quellordner()

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

    ;Button Umbenennen
    Case $msg = $umbenennen
    SplashTextOn("Start des Umbenennens", "Die Foto und Videodateien werden umbenannt", 350, 30, -1, -1)
    $neu1 = GUICtrlRead($Klappen)
    _Foto()
    _Video1()
    _Video2()
    _Pruefung()

    ;Button Kopieren
    Case $msg = $kopieren
    $Zielordner = FileSelectFolder("Bitte den Pfad auswählen", "" ,"", $Standard2) & "\"

    ;Zielordner anzeigen
    GUICtrlCreateLabel($Zielordner, 400, 30)

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

    Local $test = _GUICtrlListViewGetSelectedIndices($listview,1)
    If(IsArray($test))Then
    Local $i
    ;_ArrayDisplay($test,"$test")
    ;_ArrayDisplay2D($neu,"$neu")
    For $i = 1 To $test[0]
    FileCopy($Pfad & $neu[$test[$i]+1][0], $Zielordner, 1)
    Next
    Else
    EndIf

    ;Button Datum ändern
    Case $msg = $datum
    _exif()

    ;Button Beenden
    Case $msg = $beenden
    Exit

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

    ;~ Case $msg = $listview
    ;~ ; sort the list by the column header clicked on
    ;~ _GUICtrlListViewSort($listview, $B_DESCENDING, GUICtrlGetState($listview))

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

    ;Bildvorschau anzeigen
    Case $msg = $GUI_EVENT_PRIMARYDOWN
    $pos = GUIGetCursorInfo()
    If ($pos[4] == $listview) Then
    $wo = _GUICtrlListViewGetItemText($listview, _GUICtrlListViewGetSelectedIndices($listview), 0)
    GUICtrlCreatePic ($pfad & $wo, 300, 80)
    EndIf
    EndSelect
    Wend
    ;------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;------------------------
    ;Funktionenen
    ;------------------------

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

    ;Quellordner auswählen
    Func _Quellordner()
    $Pfad = FileSelectFolder("Bitte den Pfad auswählen", "" ,"", $Standard) & "\"
    GUICtrlCreateLabel(" ", 400, 10)
    GUICtrlCreateLabel($Pfad, 400, 10)
    EndFunc

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

    ;umbenennen
    ;Teil1 Prüfung, Fotofiles umbenennen
    Func _Foto()
    $Fehler1 = 0
    $FileList1 = _FileListToArray($Zielordner, $ersetzen1 & "_*." & $Dateiart1, 1)
    If @Error=1 Then
    MsgBox (0,"Ordner nicht vorhanden","Bitte überprüfen")
    Exit
    EndIf
    If @Error=4 Then
    $Fehler1 = 1
    Return
    EndIf

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

    For $i = 1 To UBound($FileList1)-1
    $Foto1 = StringReplace($FileList1[$i], $ersetzen1, $neu1)
    FileMove($Zielordner & $FileList1[$i], $Zielordner & $Foto1)
    Next
    EndFunc

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

    ;Teil2 Prüfung, Videofiles umbenennen
    Func _Video1()
    $Fehler2 = 0
    $FileList2 = _FileListToArray($Zielordner, $ersetzen2 & "_*." & $Dateiart2, 1)
    If @Error=4 Then
    $Fehler2 = 1
    Return
    EndIf

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

    For $i = 1 To UBound($FileList2)-1
    $time2 = FileGetTime($Zielordner & $FileList2[$i], 0)
    $video2 = $time2[0] & "." & $time2[1] & "." & $time2[2] & " " & $time2[3] & "." & $time2[4] & "." & $time2[5] & "_" & $neu1
    FileMove($Zielordner & $FileList2[$i], $Zielordner & $video2 & "." & $Dateiart2)
    Next
    EndFunc

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

    ;Teil3 Prüfung, Videofiles umbenennen
    Func _Video2()
    $Fehler3 = 0
    $FileList3 = _FileListToArray($Zielordner, $ersetzen2 & "_*." & $Dateiart3, 1)
    If @Error=4 Then
    $Fehler3 = 1
    Return
    Else
    EndIf

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

    For $i = 1 To UBound($FileList3)-1
    $time3 = FileGetTime($Zielordner & $FileList3[$i], 0)
    $video3 = $time3[0] & "." & $time3[1] & "." & $time3[2] & " " & $time3[3] & "." & $time3[4] & "." & $time3[5] & "_" & $neu1
    FileMove($Zielordner & $FileList3[$i], $Zielordner & $video3 & "." & $Dateiart3)
    Next
    EndFunc

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

    ;Teil4 Prüfung, ob überhaupt Dateien existieren
    Func _Pruefung()
    SplashOff()
    If ($Fehler1 + $Fehler2 + $Fehler3 = 3) Then
    MsgBox (0,"Keine Dateien vorhanden","Bitte überprüfen")
    Else
    EndIf
    EndFunc

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

    ;Exif-Datum als Dateidatum setzen
    Func _exif()
    $jpg = _FileListToArray($Zielordner, "*.jpg")

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

    SplashTextOn("Datum der .jpg Dateien wird korrigiert", "Bitte warten", 250, 30, -1, -1)

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

    If @Error=4 Then
    MsgBox (0,"falscher Ordner?","Keine Dateien vorhanden")
    Exit
    EndIf

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

    For $i = 1 To UBound($jpg)-1
    $aInfo = _ImageGetInfo($Zielordner & $jpg[$i])
    $exif = _ImageGetParam($aInfo, "DateTimeDigitized")

    $jahr = StringMid ($exif, 1, 4)
    $monat = StringMid ($exif, 6, 2)
    $tag = StringMid ($exif, 9, 2)
    $stunde = StringMid ($exif, 12, 2)
    $minute = StringMid ($exif, 15, 2)
    $sekunde = StringMid ($exif, 18, 2)
    $datum = $jahr & $monat & $tag & $stunde & $minute & $sekunde

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

    FileSetTime($Zielordner & $jpg[$i], $datum, 0)
    FileSetTime($Zielordner & $jpg[$i], $datum, 1)
    Next

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

    SplashOff()
    EndFunc

    [/autoit]
  • Ups, gar nicht dran gedacht.

    image_get_info.au3
    http://www.autoitscript.com/fileman/users/Lazycat/udfs.html

    _ArrayDisplay2D.au3
    _ArraySort_2ary.au3
    sind von BugFix, hast du die?


    EDIT: @th.meger
    falls es dir nichts ausmacht und du Zeit hast, kannst du bitte noch folgendes schauen: wie ich es schaffe, das die Einträge in der Filelist nach Datum sortieren kann, allerdings andersrum wie jetzt.
    Die Einträge für das Sortieren habe ich drinnen, nur funktioniert das Sortieren eben nur in eine Richtung :hammer:.

  • Oh, man, hab das die ganze Zeit mit $B_ASCENDING rumprobiert.
    Aber scheinbar gibt es dies nicht :irre:

    ne 2. GUI hab ich nun hinbekommen, aber leider nicht das aktuell angeklickte Bild :weinen:

    • Offizieller Beitrag

    Hi,

    das hätte ich ungefähr so gemacht:

    Spoiler anzeigen
    [autoit]

    #include <GuiListView.au3>
    #include <GuiList.au3>
    #include <GUIConstants.au3>
    #Include <File.au3>
    #Include <Array.au3>
    #include <_ArrayDisplay2D.au3>
    ;#include <_ArraySort_2ary.au3>
    #include<image_get_info.au3>

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

    Dim $Fehler1, $Fehler2, $Fehler3, $Pfad

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

    ;Standardpfad hier auswählen
    $Standard = "D:\Test\"
    $Standard2 = "D:\Ziel\"

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

    ;------------------------------------------------------------------------------------------------
    ;umbenennen
    $ersetzen1 = "IMG" ;Quellfotos "IMG"
    $Dateiart1 = "JPG" ;Quellfotos Typ "JPG"
    $ersetzen2 = "MVI" ;Quellvideos "MVI"
    $Dateiart2 = "AVI" ;Quellvideos Typ "AVI"
    $Dateiart3 = "THM" ;Quellvideos Typ "THM"
    ;------------------------------------------------------------------------------------------------

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

    ;------------------------
    ;GUI
    ;------------------------
    ;GUI erzeugen
    GUICreate("Fotos übertragen", 500, 700, $WS_EX_ACCEPTFILES)

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

    ;Buttons
    $Quellordner = GUICtrlCreateButton("Quellordner auswählen", 300, 300)
    $kopieren = GUICtrlCreateButton("Kopieren", 300, 350)
    $umbenennen = GUICtrlCreateButton("umbenennen", 300, 400)
    $Kategorien = GUICtrlCreateButton("Kategorien vergeben", 300, 450)
    $datum = GUICtrlCreateButton("Datum zurücksetzen", 300, 500)
    $beenden = GUICtrlCreateButton("Beenden", 300, 550)

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

    ;Beschriftung
    GUICtrlCreateLabel("aktueller Quellpfad:", 300, 10)
    GUICtrlCreateLabel("aktueller Zielpfad:", 300, 30)

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

    ;Liste mit Dateien
    $listview = GUICtrlCreateListView("Bild|Datum", 10, 10, 230, 650);$LVS_SORTDESCENDING ;$LVS_SORTASCENDING

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

    ;?????????????
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT)

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

    ;Klappliste für das Umbenennen der Dateien
    $Klappen = GUICtrlCreateCombo("FH", 300, 250, 50); erster Eintrag
    GUICtrlSetData(-1, "DF", "FH") ;weitere Einträge, getrennt durch | , zweiter Eintrag ist der Standard

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

    ;Spaltenbreite für die erste Spalte festlegen
    _GUICtrlListViewSetColumnWidth($listview, 0, 100)

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

    ;------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;------------------------
    ;sonstiges
    ;------------------------
    ;Quellordner öffnen
    _Quellordner()

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

    ;Größe des Arrays anhand von vorhandenen Dateien einstellen
    $anzahl = DirGetSize($Pfad, 3)
    Dim $neu[$anzahl[1] + 1][2]

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

    ;Array ($Filelist) erzeugen (nur Dateinamen)
    $FileList = _FileListToArray($Pfad)

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

    ;Array ($neu) erzeugen (Dateinamen von $Filelist und Datum)
    For $i = 1 To UBound($FileList) - 1
    $neu[$i][0] = $FileList[$i]
    $time2 = FileGetTime($Pfad & $FileList[$i], 0)
    $neu[$i][1] = $time2[0] & $time2[1] & $time2[2] & $time2[3] & $time2[4] & $time2[5]
    Next

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

    ;Array sortieren nach Datum
    ;_ArraySort_2ary ($neu, 1, 0)
    ;_ArrayDisplay2D($neu,"$neu")

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

    ;GUI anzeigen
    GUISetState()

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

    ;Einträge für ListView vornehmen (Datei und Datum)
    For $i = 1 To UBound($FileList) - 1
    $time2 = FileGetTime($Pfad & $FileList[$i], 0)
    $video2 = $time2[0] & "." & $time2[1] & "." & $time2[2] & " " & $time2[3] & "." & $time2[4] & "." & $time2[5]
    GUICtrlCreateListViewItem($FileList[$i] & "|" & $video2, $listview)
    Next

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

    ;Einträge vom ListView sortieren
    Dim $B_DESCENDING[_GUICtrlListViewGetSubItemsCount($listview) ];$B_DESCENDING
    _GUICtrlListViewSort($listview, $B_DESCENDING, 1); $B_DESCENDING
    _GUICtrlListViewSort($listview, $B_DESCENDING, 1); $B_DESCENDING

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

    $pic = GUICtrlCreatePic($Pfad & $FileList[1], 300, 80)

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

    ;------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;------------------------
    ;Drücken eines Buttons
    ;------------------------
    While 1
    $msg = GUIGetMsg()
    Select
    ;Button Quellordner
    Case $msg = $Quellordner
    _Quellordner()

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

    ;Button Umbenennen
    Case $msg = $umbenennen
    SplashTextOn("Start des Umbenennens", "Die Foto und Videodateien werden umbenannt", 350, 30, -1, -1)
    $neu1 = GUICtrlRead($Klappen)
    _Foto()
    _Video1()
    _Video2()
    _Pruefung()

    ;Button Kopieren
    Case $msg = $kopieren
    $Zielordner = FileSelectFolder("Bitte den Pfad auswählen", "", "", $Standard2) & "\"

    ;Zielordner anzeigen
    GUICtrlCreateLabel($Zielordner, 400, 30)

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

    Local $test = _GUICtrlListViewGetSelectedIndices($listview, 1)
    If (IsArray($test)) Then
    Local $i
    ;_ArrayDisplay($test,"$test")
    ;_ArrayDisplay2D($neu,"$neu")
    For $i = 1 To $test[0]
    FileCopy($Pfad & $neu[$test[$i] + 1][0], $Zielordner, 1)
    Next
    Else
    EndIf

    ;Button Datum ändern
    Case $msg = $datum
    _exif()

    ;Button Beenden
    Case $msg = $beenden
    Exit

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

    ;~ Case $msg = $listview
    ;~ ; sort the list by the column header clicked on
    ;~ _GUICtrlListViewSort($listview, $B_DESCENDING, GUICtrlGetState($listview))

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

    ;Bildvorschau anzeigen
    Case $msg = $GUI_EVENT_PRIMARYDOWN
    $pos = GUIGetCursorInfo()
    If ($pos[4] == $listview) Then
    $wo = _GUICtrlListViewGetItemText($listview, _GUICtrlListViewGetSelectedIndices($listview), 0)
    GUICtrlSetImage($pic, $Pfad & _GUICtrlListViewGetItemText($listview, _GUICtrlListViewGetSelectedIndices($listview), 0))
    EndIf
    EndSelect
    WEnd

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

    ;------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;------------------------
    ;Funktionenen
    ;------------------------

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

    ;Quellordner auswählen
    Func _Quellordner()
    $Pfad = FileSelectFolder("Bitte den Pfad auswählen", "", "", $Standard) & "\"
    GUICtrlCreateLabel(" ", 400, 10)
    GUICtrlCreateLabel($Pfad, 400, 10)
    EndFunc ;==>_Quellordner

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

    ;umbenennen
    ;Teil1 Prüfung, Fotofiles umbenennen
    Func _Foto()
    $Fehler1 = 0
    $FileList1 = _FileListToArray($Zielordner, $ersetzen1 & "_*." & $Dateiart1, 1)
    If @error = 1 Then
    MsgBox(0, "Ordner nicht vorhanden", "Bitte überprüfen")
    Exit
    EndIf
    If @error = 4 Then
    $Fehler1 = 1
    Return
    EndIf

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

    For $i = 1 To UBound($FileList1) - 1
    $Foto1 = StringReplace($FileList1[$i], $ersetzen1, $neu1)
    FileMove($Zielordner & $FileList1[$i], $Zielordner & $Foto1)
    Next
    EndFunc ;==>_Foto

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

    ;Teil2 Prüfung, Videofiles umbenennen
    Func _Video1()
    $Fehler2 = 0
    $FileList2 = _FileListToArray($Zielordner, $ersetzen2 & "_*." & $Dateiart2, 1)
    If @error = 4 Then
    $Fehler2 = 1
    Return
    EndIf

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

    For $i = 1 To UBound($FileList2) - 1
    $time2 = FileGetTime($Zielordner & $FileList2[$i], 0)
    $video2 = $time2[0] & "." & $time2[1] & "." & $time2[2] & " " & $time2[3] & "." & $time2[4] & "." & $time2[5] & "_" & $neu1
    FileMove($Zielordner & $FileList2[$i], $Zielordner & $video2 & "." & $Dateiart2)
    Next
    EndFunc ;==>_Video1

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

    ;Teil3 Prüfung, Videofiles umbenennen
    Func _Video2()
    $Fehler3 = 0
    $FileList3 = _FileListToArray($Zielordner, $ersetzen2 & "_*." & $Dateiart3, 1)
    If @error = 4 Then
    $Fehler3 = 1
    Return
    Else
    EndIf

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

    For $i = 1 To UBound($FileList3) - 1
    $time3 = FileGetTime($Zielordner & $FileList3[$i], 0)
    $video3 = $time3[0] & "." & $time3[1] & "." & $time3[2] & " " & $time3[3] & "." & $time3[4] & "." & $time3[5] & "_" & $neu1
    FileMove($Zielordner & $FileList3[$i], $Zielordner & $video3 & "." & $Dateiart3)
    Next
    EndFunc ;==>_Video2

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

    ;Teil4 Prüfung, ob überhaupt Dateien existieren
    Func _Pruefung()
    SplashOff()
    If ($Fehler1 + $Fehler2 + $Fehler3 = 3) Then
    MsgBox(0, "Keine Dateien vorhanden", "Bitte überprüfen")
    Else
    EndIf
    EndFunc ;==>_Pruefung

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

    ;Exif-Datum als Dateidatum setzen
    Func _exif()
    $jpg = _FileListToArray($Zielordner, "*.jpg")

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

    SplashTextOn("Datum der .jpg Dateien wird korrigiert", "Bitte warten", 250, 30, -1, -1)

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

    If @error = 4 Then
    MsgBox(0, "falscher Ordner?", "Keine Dateien vorhanden")
    Exit
    EndIf

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

    For $i = 1 To UBound($jpg) - 1
    $aInfo = _ImageGetInfo ($Zielordner & $jpg[$i])
    $exif = _ImageGetParam ($aInfo, "DateTimeDigitized")

    $jahr = StringMid($exif, 1, 4)
    $monat = StringMid($exif, 6, 2)
    $tag = StringMid($exif, 9, 2)
    $stunde = StringMid($exif, 12, 2)
    $minute = StringMid($exif, 15, 2)
    $sekunde = StringMid($exif, 18, 2)
    $datum = $jahr & $monat & $tag & $stunde & $minute & $sekunde

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

    FileSetTime($Zielordner & $jpg[$i], $datum, 0)
    FileSetTime($Zielordner & $jpg[$i], $datum, 1)
    Next
    SplashOff()
    EndFunc ;==>_exif

    [/autoit]

    So long,

    Mega

  • Oh mei oh mei,
    ich kann ich dir sagen,
    einfach perfekt :klatschen:

    Auf solch eine Idee wäre ich nie gekommen.
    Muß ich mir nochmal genauer anschauen, was du da wieder gezaubert hast.

    Wie immerTausend Dank

  • Zitat

    Original von th.meger
    P.S.: Da geht aber allgemein sicher einiges noch besser. ;)


    jetzt machst du mich aber neugierig ...

  • hm, irgendwie kann ich jetzt nur noch ein Eintrag in der ListView markieren. Mehr als einer geht nicht.
    Hab die Dateien bereits verglichen. Aber nix gefunden