wie kann ich dateien durchsuchen

  • Hallo

    Ich versuche ein Suchprogramm für Textdateien zu basteln welches folgende Funktionen hat

    1. Suche nach Dateierweiterung und bestimmten Inhalt (*.453 enthaltender Text 65756896)
    2. nach erfolgreicher suche sollen die in frage kommenden Dateien dem User zum Öffnen angeboten werden. Da mir bisher keine Möglichkeit bekannt ist das in einem Fenster darzustellen war die Überlegung am, am rechten Bildschirmrand eine Variable Buttenliste zu generieren. Hinter jedem Butten befindet sich eine Textdatei die damit geöffnet werden kann, da für meine zwecke das Datum der Datei wichtig ist wird das als Buttentext verwendet.
    3. das war es auch schon

    die Dateien mit der richtigen Dateierweiterung zu finden ist kein Problem
    das mache ich mit
    FileFindFirstFile ( "filename" ) und FileFindNextFile ( search )
    Die Dateinamen habe ich dann in einem Array

    die Schwierigkeit vor der ich Stehe ist dann die Dateien zu finden die den richtigen text enthalten

    da fehlt einfach „if TextInFileExist then “

    bei der Masse an Funktionen die Autoit bietet muss es da doch was geben

    besten dank schon mal Friso

    Rechtschreibfehler sind geistiges Eigentum des Verfassers

  • warum öffnest du die datei in der schleife nicht und schast da mit einem if rein ob der string drin steckt?

    • Offizieller Beitrag

    Hallo!

    Darstellung in einem Fenster:
    Nimm ein ListView, damit kannst du dann mehrere Informationen in Spalten anzeigen, in deinem Fall Dateiname, Ordner, Datum oder so.
    Siehe: GUICTRLCreateListView, GUICTRLCreateListViewItem, und die UDF <GUIListView>.

    Durchsuchen der Dateien:
    Wie gesagt entweder durch zweckentfremden von _ReplaceStringInFile und seinem Rückgabewert oder man durchsucht mit FileOpen, FileReadLine, StringInStr, FileClose per Hand, was etwas langsamer und aufwändiger sein dürfte.

    peethebee

    • Offizieller Beitrag

    Hi,

    schreib dieses Programm ein bißchen um, sollte schnell gehen.

    Spoiler anzeigen

    So long,

    Mega