Dateiliste - Verzeichnisliste ... „Koda Form Designer“

  • Hallo Freunde der automatisierten Schritte,

    wahrscheinlich benutze ich nur den falschen Suchbegriff.

    Ich möchte auf der Form mit dem „Koda Form Designer“ einfach ein Objekct erstellen, dass eine Datei- und Verzeichnisliste ausgehend von einem bestimmten Startverzeichnis enthält.

    Nur ich finde das nicht.

    Ist sowas nicht integriert?

    Es sollte die grundlegenden Funktionen mitbringen wie per Doppelklick eine Datei mit dem verknüpftem Programm starten.

    Ich wäre davon ausgegangen, dass es unter win32 - Controls zu finden ist. So wie das Kalendermodul.

    Dort ist aber nur ein leeres Treeview und Listview.

    Gibt es für Autoit eine Datei- und Verzeichnisliste ein fertiges Control? Oder eine UDF?

    Viele Grüße
    AutoMit

    Einmal editiert, zuletzt von AutoMit (15. Januar 2016 um 17:50)

  • An sich gibt es das nicht als Standartcontrol. Ich hab mal eine UDF geschrieben, die genau das macht.
    FileExplorere List and TiewView
    Unterstützt wird List oder Treeview, oder beides, je nachdem, was du haben möchtest.
    Einfach das Beispiel ansehen.
    In der _WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam) kannst du dann das öffnen bei doppelklick,... hinzufügen, dafür die Hilfe durchsehen und sonst hier fragen.

    Edit hatte grad nen Moment. Kannst jetzt ne Funktion hinzufügen und entfernen für doppelklicks:
    _TLE_AddListviewFileDoubleClickFunction("testfunktion")
    _TLE_DelListviewFileDoubleClickFunction("testfunktion")

  • Super - vielen Dank für Deinen Tipp! Das schaue ich mir gerne in Ruhe an.

    @all

    Füllt Ihr ansonsten per Hand ein ListView oder wie nutzt Ihr Dateilsiten in Autoit?
    Ich habe auch über Google keine Dateiisten-Beispiele finden können.

  • @Kanashius

    Leider erhalte ich unter win 8.1 / 64 folgende Fehlermeldung beim Ausführen von:

    Example_doubleFunction.au3

    [Window Title]
    AutoIt v3 Script
    [Main Instruction]
    AutoIt v3 Script funktioniert nicht mehr
    [Content]
    Ein Problem hat die richtige Ausführung dieses Programms verhindert. Schließen Sie das Programm.
    [Programm schließen]


    Folgende Dateien liegen im gleichen Verzeichnis:
    AutoItObject.au3
    FileExplorerTreeAndListview UDF_doubleFunction.au3

    Wie kann ich den Fehler weiter eingrenzen? Das Explorer-Fenster wird angezeigt - leer. Dann die Absturzmeldung.

  • Das kommt darauf an, was die Dateiliste für einen Zweck erfüllen soll.
    Sollen noch Benutzeraktionen mit der Liste möglich sein, dann muss man halt noch etwas drumherum programmieren.

    Die Dateiliste, die ich suche, solle "nur" 3 Aufgaben erfüllen.

    Startverzeichnis: c:\test

    1. alle *.pdf Dateien auflisten, die in diesem Verzeichnis sind

    2. per Doppelklick öffnen mit dem verknüpften Programm

    3. auf meiner Oberfläche sind ein paar Button mit unterschiedlichen Zielverzeichnissen, also z.B.

    Button 1 = verschiebe die angeklickte Datei nach c:\test\archiv
    Button 2 = verschiebe die angeklickte Datei nach c:\test\lesen
    ...
    Button 9 = lösche die angeklickte Datei in den Papierkorb

    Falls Ihr für so ein ListView mit Doppelklick und Pfadübergabe ein Programmschnipsel habt, immer rein damit :)

  • (1)

    Ich habe noch was ausgegraben, was der Grundidee schon nahe kommt:

    Dateiliste ohne FileOpenDialog

    Der Befehl:

    RunWait(@ComSpec & ' /c start ' & $path & _GUICtrlListViewGetItemText($listview, _GUICtrlListViewGetCurSel($listview), 1), '', @SW_HIDE)

    funktioniert nicht mehr. Wie schreibt man den heute?


    (2)

    Scheinbar kann ich ein ListView nicht in einer Case - Klick - Anweisung abfragen - folgendes geht nicht. An der Stelle kommt nichts an, wenn ich auf das ListView klicke. Wie muss das geschrieben werden, damit ein ListView auf einen Mausklick reagiert?

    • Offizieller Beitrag

    Falls Ihr für so ein ListView mit Doppelklick und Pfadübergabe ein Programmschnipsel habt, immer rein damit

    Für die ersten beiden Punkte habe ich mal eben ein Script geschrieben:

    Den dritten Punkt kriegst Du wohl alleine hin.