So geht's

Datumsstempel, Wortlisten

Datumsstempel, Wortlisten

Die Funktion HasCorrectStamp kontrolliert, ob eine angegebene Datei den Datumsstempel aufweist, den die Eigenschaften TimeAnalysis, Day, Month und Year festlegt. Dazu wird die Eigenschaft TimeAnalysis ausgewertet und entsprechend dem Datumstyp die untergeordnete Prüffunktion CheckTimeStamp aufgerufen. Das Funktionsergebnis wird jeweils als Wahrheitswert zurückgegeben.

Function HasCorrectTimeStamp
(ByVal fi As FileInfo) As Boolean...
Such-Engine im Eigenbau, Teil III  in Bildern

© Archiv

Design des Ausgabedialogs zur exemplarischen Suche nach Textdateien.

Die Funktion CheckTimeStamp vergleicht die Datumsinformationen zu einer Datei mit den entsprechenden Eigenschaften Day, Month und Year, die über das Suchobjekt FileSearchObj bestimmt wurden. Datums-Monatsund Jahresinformationen werden nur berücksichtigt, wenn Sie in gültigen Zahlenbereichen liegen.Wenn Day, Month und Year auf einen Wert größer Null und kleiner der maximal zulässigen Größe gesetzt ist, wird dieser auch für den Dateivergleich berücksichtigt. Wollen Sie Teilinformationen nicht beim Datumsvergleich verwenden, setzen Sie die entsprechenden Day-, Month- und/oder Year-Eigenschaften auf den Wert Null.

Private Function CheckTimeStamp
(ByVal FileDay As Byte, ByVal _
FileMonth As Byte, ByVal FileYear As
Integer) As Boolean ...

Um Dateien auf darin enthaltene Worte oder Wortlisten zu prüfen, analysieren Sie diese binär über die Funktion HasCorrectSearchedWords. Darin wird zunächst über die Eigenschaft LookForWords kontrolliert, ob eine binäre Wortsuche gewünscht wird oder nicht. Nur dann wird eine über die Eigenschaft WordList übergebene Wortliste über das Verkettungssymbol sowie die Methode Split in Teilworte zerlegt und dem Datenfeld SearchWords zugewiesen.

Such-Engine im Eigenbau, Teil III  in Bildern

© Archiv

Ablaufplan: Die Funktionalität des benutzerdefinierten Suchobjekts FilesearchObj unterliegt einer streng geordneten Logik.

Dann wird die zu verarbeitende Datei im binären Dateimodus geöffnet und in der Gesamtheit in die Zeichenkette fBytes eingelesen. Anschließend wird die Zeichenkette fBytes per For-Each-Konstrukt nacheinander auf die enthaltenen Worte des Datenfeldes SearchedWords geprüft. Die Eigenschaft DifferenceByUperLower bestimmt, ob beim Wortvergleich zwischen Groß- und Kleinschrift unterschieden wird oder nicht.

Wenn nicht, werden die zu vergleichenden Zeichenketten jeweils vor dem eigentlichen Vergleich in Kleinschrift umgewandelt. Wird ein gesuchtes Wort in der aktuellen Datei nicht gefunden, so wird die Analyse unmittelbar beendet und das Ergebnis False an das aufrufende Programm zurückgegeben. Nur wenn alle, also wirklich alle angegebenen Suchworte in der aktuellen Datei vorhanden sind, liefert die Funktion das Ergebnis True zurück.

Je mehr Suchbegriffe Sie dementsprechend für eine Dateisuche festlegen, desto geringer wird entsprechend auch die Anzahl der zurückgelieferten Dateien sein.

Function HasCorrectSearchedWords
(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.…