So geht's

Reihe: Such-Engine im Eigenbau Teil 3: Benutzerdediniertes Suchobjekt

Um Dateien und deren Ordner zu finden, bestimmen Sie die Suchoptionen und starten dann die Suche. Das benutzerdefinierte Suchobjekt liefert alle Informationen und Ergebnisse über Ereignisse zurück. Diese werten Sie über beliebige Dialoge aus.

  1. Reihe: Such-Engine im Eigenbau Teil 3: Benutzerdediniertes Suchobjekt
  2. Datumsstempel, Wortlisten
  3. Praxiseinsatz, Initialisierung, Suchen
  4. Vielfältige Überwachung
Suche Menschen Massen Leute

© Archiv

Suche Menschen Massen Leute

Das allgemeine, benutzerdefinierte Suchobjekt FileSearchObj, das Sie in den ersten beiden Teilen dieser Serie (PDF-Dateien auf der Heft-DVD) grundlegend entwickelt haben, verrichtet seine Arbeit im Hintergrund und tritt nicht sichtbar in Erscheinung. Die Suchoptionen weisen Sie auf Quelltextebene zu. Die Ergebnisse werden über Ereignisse zurückgeliefert.Dies hat den Vorteil, dass Sie das Suchobjekt nicht nur universell einsetzen, sondern auch an beliebige Dialoge binden können. Über diese Dialoge legen Sie die gewünschten Sucheigenschaften offen und definieren und variieren diese nach Bedarf. Entsprechend lassen sich die Ergebnisse über beliebige Dialoge offenlegen.

Suchoptionen und Ergebnisse fassen Sie wahlweise in einzelnen Dialogen zusammen oder teilen diese in mehrere Dialoge auf. Optional lassen sich die Suchoptionen und Ergebnisse auch in bereits vorhandene Dialoge Ihrer Anwendung integrieren. An dieser Stelle wird gezeigt, wie Sie generell vorgehen, um

Vorgehen

  • Suchoptionen für das Suchobjekt zu definieren und zu übergeben,
  • die Suche zu starten und zu überwachen sowie
  • die Suchergebnisse auszuwerten und anzuzeigen.

Weitere Prüffunktionen erläutern, wie Sie Suchoptionen generell verarbeiten. Den vollständigen Quelltext zur Lösung finden Sie samt ausführbarem Beispielprogramm auf der Heft-DVD.

Dateikürzel, -namen, -attribute

Die Funktion HasCorrectSuffix prüft, ob eine angegebene Datei ein Dateikürzel aufweist, das mit dem übereinstimmt, welches die Eigenschaft Suffix festgelegt hat. Ist Suffix auf "*.*" gesetzt, gelten alle Dateikürzel und die Funktion liefert den Wert True zurück. Definieren Sie eine andere Zeichenkette für die Eigenschaft Suffix, so prüft das Programm, ob darin das Dateikürzel der aktuell verarbeiteten Datei enthalten ist.

Ist das der Fall, liefert die Funktion den Wert True an das aufrufende Programm zurück. Ordnen Sie der Eigenschaft Suffix hingegen eine leere Zeichenkette zu, so bedeutet das, dass gefundene Dateien kein Dateikürzel aufweisen dürfen. Nur dann wird der Wert True an das aufrufende Programm übergeben. Die zu prüfende Datei wird der Funktion HasCorrectInfo als Objekt des Typs FileInfo übergeben.

Function HasCorrectSuffix
(ByVal fi As FileInfo) As Boolean...

Ob eine Datei einem exakt angegebenen Dateinamen oder einem Teildateinamen entspricht, ermittelt die benutzerdefinierte Funktion HasCorrectName mit den Eigenschaften FileName und FileNameIsPartial. Wird ein exakter Dateiname gesucht und ist FileNameIsPartial entsprechend auf False gesetzt, so hat der aktuelle Dateiname (fi.Name) mit der FileName-Eigenschaft übereinzustimmen.

Wird nach einem Teil eines Dateinamens gesucht, dann ist die Teilzeichenkette FileName Bestandteil des geprüften Dateinamens. Dies prüfen Sie mit der Standardfunktion Instr. Um beim Dateinamensvergleich nicht zwischen Groß- und Kleinschreibung zu unterscheiden, konvertieren Sie die zu vergleichenden Zeichenketten jeweils vor dem Vergleich mit der Funktion LCase in Kleinschrift.

Function HasCorrectName(ByVal fi As File
Info) As Boolean ...

Das Suchobjekt verwaltet alle Dateiattribute über spezifische Buchstabenbezeichner. Diese werden zu einer aktuellen Datei über die Funktion HasCorrectAttributes unter Verwendung der Eigenschaft Attributes im Detail geprüft. Vor der Auswertung wird die Zeichenkette, die der Eigenschaft Attributes zugewiesen wurde, in Großschrift umgewandelt.

Das sorgt dafür, dass es keine Rolle spielt, ob Sie Attribute mit Klein- oder Großschrift festlegen. Die Prüfung erfolgt anschließend für jedes einzelne Attribut getrennt, aber im Aufbau synonym. Es wird für jedes Attribut kontrolliert, ob es über die Eigenschaft Attributes als auszuwertendes Attribut festgelegt wurde. Nur dann wird geprüft, ob auch das entsprechende Dateiattribut gesetzt ist.

Ist dies nicht der Fall, wird die Funktion unmittelbar mit dem Rückgabewert False beendet. Nur wenn alle geprüften Attribute gesetzt sind, liefert auch die Funktion das Ergebnis True an das aufrufende Programm zurück.

Function HasCorrectAttributes
(ByVal fi As FileInfo) As Boolean...

Mehr zum Thema

HTML 5
Webgestaltung

Google Web Designer ist spezialisiert auf HTML5. Ein Vorteil dieses Standards ist das einfache Einbinden von Videos mit dem Element video. Wir zeigen…
Wir verraten, wie Sie Fritzboxen und andere Router vor Hackern schützen.
Fritzbox, Asus, Belkin und Co.

Fritzbox, Asus, Belkin oder DLink - die Liste der geknackten Router ist lang. Hacker stahlen Passwörter oder NAS-Daten. So machen Sie Ihren Router…
Wir führen Sie zur eigenen Windows-App - unserem PC-Magazin-RSS-Feed.
C# und XAML

Wir zeigen, wie Sie Windows 8.1 Apps selbst programmieren können. Lernen Sie das App erstellen an Hand unseres Beispiels: dem RSS-Feed von PC…
Windows Tipps & Tricks: Benutzerrechte unter Windows 8.1
Programme richtig installieren

Wir zeigen Ihnen, wie Sie sich unter Windows 8.1 alle Benutzerrechte verschaffen und Programme richtig installieren.
Windows 8: Starbildschirm
Microsoft Project Siena

Erstellen Sie sich selbst eine App für Windows 8, die auf alle Funktionen Ihres Tablets zugreifen kann, inklusive Kamera, Mikrofon und Lautsprecher.…