Hej! Hej Mikael! Borde funka om du använder dig av Indexing Services: Kräver det att man har indexeringen igång? Det är det första jag stänger av när jag installerar XP... Om programmet bara skall köras på en maskin är det ju ok, men annars är nog nån annan lösning att föredra. Det kräver att indexeringen är igång ja, fast jag antar att du kan stänga av "System-indexeringen" och bara ha igång indexeringen av dom här HTML-dokumenten om du vill det. Om prestandan inte är en risk går det väl alltid att helt sonika söka genom filerna radvis, en efter en.Hitta en text sträng
Är det någon av er som kan tipsa mig om hur jag söker efter en text sträng bland x antal filer i en mapp?
File system objekt har jag letat runt kring men ej funnit något ännu...
Tanken är att skriva in en text sträng, programmet går igenom filerna (html) i mappen och visar sedan dessa filer. Klickar man på filen öppnas den upp!Sv: Hitta en text sträng
Det hade varit smutt om man kunnat använda search api'n som finns
i windows, men jag finner ingen sån variant på nätet!
Annars kan man väl alltid läsa in filerna 1 och 1 från
en kollektion av alla filer i en mapp m.h.a file system object,
för att snabbt kolla deras innehåll!
Lär gå riktigt fort om vi pratar html-filer.Sv:Hitta en text sträng
"The Indexing Service is a search engine that is integrated with Internet Information Server and Windows 2000. It allows users to perform full-text searches of online sites using their browsers. Unlike many other search engines, Indexing Services can search Word, Excel and PowerPoint documents as well as HTML documents."
Här kommer ett kort exempel på hur man kan gå tillväga:
http://support.microsoft.com/kb/820105
Mvh
MartinSv: Hitta en text sträng
Sv:Hitta en text sträng
Jag jobbar så gott som heltid med webbutveckling så jag tog nog för givet att det här handlar om just en webapp, men det låter som att det inte gäller en webapp i det här fallet? I så fall förstår jag problemet med att köra applikationen på flera maskiner. Sv: Hitta en text sträng
Kanske inte lika elegant, men ändå.
Private result as New System.Collections.Generic.List(of String)
Private Sub traversera(ByVal dir As String, ByVal söktext As String)
Dim fil As String
Dim buffer As System.IO.StreamReader
Dim rad As String
For Each fil In System.IO.Directory.GetFiles(dir)
If LCase(fil).EndsWith(".html") Then
buffer = System.IO.File.OpenText(fil)
' finns det nåt skoj på första raden månntro?
rad = buffer.ReadLine
While Not rad Is Nothing
If rad.IndexOf(söktext) >= 0 Then
' Yay, vi hittade nåt!
Result.add(rad)
Exit While
End If
' lomma vidare till nästa rad och kika där
rad = buffer.ReadLine
End While
buffer.Close()
End If
Next
' Rekursera ner i eventuella underkataloger
For Each fil In System.IO.Directory.GetDirectories(dir)
traversera(fil, söktext)
Next
End Sub