| |

VB.NET - Fortgeschritteneproblem bei programm, das dateien nach bestimmtem wort durchsucht | |  | Autor: tony82 | Datum: 15.04.04 12:44 |
| hi leutz.
ich hab mir (mit hilfe dieses forums und tipps von mitgliedern) ein kleines programm gebastelt. es durchsucht einen bestimmten ordner (in der variable _folder). da ich verschiedene dateitypen finden möchte, hab ich diese aus einer xml ausgelesen und in eine arraylist gespeichert. deshalb die schleife mit typeArray. ich möchte das für jeden datentyp machen. jetzt ist aber ein problem, dass er überhaupt nicht mehr sucht! ich habe noch einen aufruf, der alle dateien inklusive pfad in einer textdatei speichert und zählt, wie viele von jedem gefunden wurden. aber damit kann es ja nicht zusammenhängen. ich hab diesen aufruf auskommentiert und die suche hat trotzdem nicht funktioniert. mit der variablen _folder und deren inhalt kann es auch nicht zusammenhängen. hat vielleicht einer von euch eine idee, was ich falsch gemacht haben könnte? achso: das suchwort ist auf jeden fall in den dateien vorhanden! in einem vorherigen lauf in anderen ordnern hat er mir zum beispiel nur die htm-dateien durchsucht. mit txt-dateien dürfte er ja nun wirklich keine probs haben, bei js wohl schon eher. (meine filetypen: *.htm, *.txt, *.html, *.js)
bei der gelegenheit hab ich gleich eine andere frage. wie mach ich das denn zum beispiel, wenn ich alle wörter haben möchte, die mit "b" anfangen und "heit" aufhören? kann ich da trunkieren?
der code für das durchsuchen der ordner und unterordner:
Public Function GetFiles(ByVal path As String, ByVal Pattern As String, ByRef _
arr As ArrayList)
arr.AddRange(IO.Directory.GetFiles(path, Pattern))
Dim s As String
For Each s In IO.Directory.GetDirectories(path)
GetFiles(s, Pattern, arr)
Next
Return arr
End Function der code für das durchsuchen der einzelnen dateien:
Public Sub Search()
Dim sr As IO.StreamReader
Dim fw As New StreamWriter(_textSearch, True)
Dim s As String
Dim r As System.Text.RegularExpressions.Regex
Dim searchWord As String
Dim matches As Integer
For q = 0 To typeArray.Count - 1
Dim arr As New ArrayList()
GetFiles(_folder, typeArray.Item(q), arr)
Dim f As String
For Each f In arr
Try
sr = New IO.StreamReader(f)
s = sr.ReadToEnd
sr.Close()
searchWord = "http"
r = New System.Text.RegularExpressions.Regex(searchWord)
matches = r.Matches(s).Count
If matches > 0 Then
fw.WriteLine(f + " - Treffer: " + matches.ToString)
End If
s = String.Empty
Catch ex As Exception
fw.WriteLine("folgender Fehler beim Einlesen der Datei " & _
f _
& ": " & ex.Message)
End Try
Next
If matches = 0 Then
fw.WriteLine("nichts gefunden")
End If
Next
End Sub danke im voraus. |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevWizard für VB5/6 
Professionelle Assistenten im Handumdrehen
Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|