vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Suche Visual-Basic Code
Suchen in Textdatein 
Autor: mwichmann
Datum: 27.08.02 10:21

Hallo,

ich habe zwei Problem.

1.Ich durchsuche Textdatein nach bestimmten Begriffen.
Meine Suche unterscheidet aber noch zwischen Groß-und Kleinschreibung.Und
das soll sie nicht machen.

Hier mal der Cosde für meine Suche:

Private Sub suche_Click()
Dim x&, Zeilen() As String, FName$

MousePointer = vbHourglass
FName = "c:archivdatensicherung.txt"
List1.Clear
Label10.Caption = ""
Label10.Refresh

'Die letzten beiden Parameter geben das linke und rechte
'Begrenzungszeichen einer Zeile an, dies können auch
'mehrere sein. Hier wurde für links vbLf (chr$(10)) und
'für rechts vbCr (chr$(13)) gewählt

If FindTerm(FName, Text7.Text, Zeilen, vbLf, vbCr) Then
List1.Visible = False
DoEvents
For x = 0 To UBound(Zeilen) - 1
If x < 32736 Then
List1.AddItem Zeilen(x)
Else
MsgBox ("ListBox kann nicht mehr Einträge fassen!")
Exit For
End If
Next x
List1.Visible = True
Else
MsgBox ("Suchbegriff nicht vorhanden!")
End If
Label10.Caption = UBound(Zeilen) & " Zeile(n) gefunden"
MousePointer = vbDefault
End Sub

Private Function FindTerm(File$, s$, ZZ$(), tl$, tr$) As Boolean
Dim c&, f%, i&, j&, L&, lc&, p&, v&, w&
Dim a$, d$, n$, o$

'Dieser Wert gibt die Paketgröße von Get# an. Er kann beliebig
'geändert werden, sollte aber nicht kleiner als die längste
'zu erwartende Zeile des zu druchsuchenden Files sein
Const PS& = 1024&

ReDim ZZ(0)

'Prüfen ob Parameter plausibel sind
If tl$ = "" Or _
tr$ = "" Or _
s$ = "" Or _
Dir$(File, vbNormal) = "" Then

MsgBox ("Paramter stimmen nicht!")
Exit Function
End If

f = FreeFile
Open File For Binary Shared As #f
L = LOF(f)

'Anzahl der Durchläufe anhand der Dateigröße ermitteln
p = L PS
If L Mod PS <> 0 Then p = p + 1

'Schleife starten
For c = 1 To p
n = Space$(PS)
Get f, , n
a = o & n
i = InStr(1, a, s)
If i <> 0 Then
'Suchbegriff wurde im aktuellen Paket gefunden
lc = 0
Do
i = InStr(i, a, s)
If i <> 0 Then

'Zeilenanfang suchen
v = 1
For j = i To 1 Step -1
d = Mid$(a, j, 1)
If InStr(1, tl, d) Then
'gefunden
v = j + 1
Exit For
End If
Next j

'Zeilenende suchen
w = 0
For j = i To Len(a)
d = Mid$(a, j, 1)
If InStr(1, tr, d) Then
'gefunden
w = j - 1
Exit For
End If
Next j

If w <> 0 Then
'Zeile auschneiden und in einem Feld speichern
'Hier könnten auch weitere Suchkriterien abge-
'fragt werden.
ZZ(UBound(ZZ)) = Mid$(a, v, w - v + 1)
ReDim Preserve ZZ(0 To UBound(ZZ) + 1)
lc = w
End If

i = w
End If
'Weiter schleifen, da der Suchbegriff im Paket ja
'öfters als einmal auftauchen kann
Loop Until i = 0

If lc = 0 Then
'Suchbegriff wurde im aktuellen Paket nicht ge-
'funden. Daher ganzen String für die nächste Runde
'speichern
o = a
Else
'Ab Ende der zuletzt gefundenen Zeile des aktuel-
'len Paketes für die nächste Runde speichern
o = Mid$(a, lc)
End If
Else
'Paket der aktuellen Runde speichern
o = n
End If
Next c
Close f

If UBound(ZZ) > 0 Then FindTerm = True
End Function

Wie kann ich es mit diesem Code erreichen,dass NICHT mehr zwischen Groß-und KLeinschreibung unterschieden wird.

2.In den Textdatein sind PFade gespeichert.

Bsp.:

CD Nr. :1
Kunde:maik
Auftrag:webseite
Erstellungsdatum:13.11.02
Dateiendung:htm
D:
D:
D:video
D:videoAdobe Premiere Vorschaudateien
D:videoAdobe Premiere Vorschaudateienkrs-clips2.TMP
D:videoK1-7
D:videoK1-71.psd
D:video_alt
--------------------------------------------------------------------------------------
CD Nr :2
Kunde:Karl Mustermann
Auftrag:Erstellen der Webseite für den SV Fortuna Großschwabhausen
Erstellungsdatum:12.09.2001
Dateiendung:html,htm,gif,jpeg
D:
D:
D:video
D:videoAdobe Premiere Vorschaudateien
D:videoAdobe Premiere Vorschaudateienkrs-clips2.TMP
D:videoK1-7
D:video_alt
-------------------------------------------------------------------------------------------

wenn ich jetzt nach z.B. den Namen "Karl Mustermann" suche,dann würde mir die Suche ausgeben: "Kunde:Karl Mustermann"
Ich möchte aber das die Suche die "CD Nr:" noch mit ausgibt.
Wie kann ich das realisieren.

Ich weiß das dies sicherlich keine leichte Aufgabe ist.Aber ich hoffe hier kann mir trotzdem jemand helfen.

Danke für die Mühe!
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Suchen in Textdatein167mwichmann27.08.02 10:21
Re: Suchen in Textdatein362ModeratorDieter27.08.02 10:38
Re: Suchen in Textdatein94mwichmann27.08.02 14:33

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

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