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.
Codebeispiel:
Function HasCorrectTimeStamp
(ByVal fi As FileInfo) As Boolean...
Bild vergrößern
937
437
http://img4.magnus.de/Such-Engine-im-Eigenbau-Teil-III-in-Bildern-r937x437-C-c43d84a8-32436430.jpg
Design des Ausgabedialogs zur exemplarischen Suche nach Textdateien.
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.
Codebeispiel:
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.
Bild vergrößern
656
479
http://img3.magnus.de/Such-Engine-im-Eigenbau-Teil-III-in-Bildern-r656x479-C-658060a1-32436433.jpg
Ablaufplan: Die Funktionalität des benutzerdefinierten Suchobjekts FilesearchObj unterliegt einer streng geordneten Logik.
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.
Codebeispiel: