Dateien suchen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Dateien suchen

    hi,
    weis jemand wie man überprüfen kann ob bestimmte Datein(in meinem fall jpg images) in einem Speicherort bestimmte Wörter im Dateinamen enthalten und dann die Datein auf die dies zutrifft nacheinander in eine Picturebox auslesen kann?
    Hi
    schau' dir mal System.IO.Directory.GetDirectories, damit verbundene Rekursion, System.IO.Directory.GetFiles, System.IO.Path.GetFileName (oder die Äquivalente bei System.IO.DirectoryInfo) und String.Contains bzw. fürs Ignorieren von Groß-und-Kleinschreibung String.IndexOf an. Dannach vllt. noch Threading.
    Nacheinander in die PictureBox ist ja wohl quatsch. Nimm ein ListView oder ähnliches.

    Gruß
    ~blaze~
    In dem Fall erbt man ja eh von ListViewItem und legt dort ein zusätzliches Feld mit dem absoluten Pfad an. In 'ner Dateisuche legt man bei der Verwendung von den Infos jede Menge zusätzlicher, eigentlich unnötiger FileSystemInfos an, da die Name-Property auch nichts anderes tut, als den vorderen Teil des Strings zu entfernen und was braucht man sonst?
    Ich hör' mir übrigens auch gern mal Gegenargumente an.

    Gruß
    ~blaze~
    mein post war eiglich garnet groß zum diskutieren gedacht, sondern sind einfach Codesnippets, die die Anforderung abdecken.
    Aber kann auch diskutieren, nämlich von ListView halte ich ja garnix, weil das kann kein Databinding und kann nur Strings.
    Und da einen Extra ListviewItem-Erben zu erfinden ist wie gezeigt unnötig, nämlich wenn man Listbox + Databinding nimmt.

    ist in beiden Punkten eine allgemeingültigere und mächtigere Herangehensweise.
    Databinding ist allgemeingültiger als ListviewItem-Gefummel, und FileInfos sind allgemeiner verwendbar als Dateinamen und Pfade in Form von Strings.

    Ich hab ja k.A., was der TE mit den Dateien vorhat - egal - höchstwahrscheinlich ists mit Fileinfo einfacher umzusetzen, und auch egal für was er später mal mit Dateien vorhaben könnte, ist es ihm sicher nützlicher, das objektorientierte FileInfo kennenzulernen, als das Methoden-Sammelsurium der statischen IO.File und IO.Directory-Klasse.
    Ist halt die Frage. Wenn man mehr benötigt, als wirklich nur die Dateinamen, ist FileInfo überflüssig. Wenn man halt alle möglichen Sachen, die mit der Datei zu tun haben, benötigt, ist's sicher praktischer. Windows Forms ListBoxen sind keine wirklich ansprechende Form der Darstellung. Wenn man die dann manuell überschreibt, kann man auch gleich ein ListView mit einem geerbten Item nehmen. Klar, das Databinding ist definitv ein Nachteil vom ListView, da man es erneut kapseln muss, um es sauber zu verwenden, aber wenn man das lieber hat, erbt man halt eine Klasse von ListView und programmiert es selber dazu.

    Gruß
    ~blaze~
    Weißt Du mit WildChars bei der Suche nach Dateien umzugehen?

    VB.NET-Quellcode

    1. Dim files() = New IO.DirectoryInfo("c:\Temp").GetFiles("*11*.jpg", IO.SearchOption.AllDirectories)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!