Hallo,
ich benötige eure expertise.
In meinem Programm durchsuche ich eine relativ große textdatei nach einem suchwort. Darauf folgen mehrere instr. befehle deren werte in einem 2 dimensionalen array gespeichert und weiterverarbeitet wird.
nun habe ich aber eine neue Anforderung die textdatei kann auch mehrere suchwörte enthalten deren ergebnis ausgegeben werden soll.
1. Bei den suchwörtern handelt es sich um einen index der so aussieht Y oder Y1 oder Y2. Wenn ich jetzt nur nach Y suche in dem Instr. befehl gibt er mir auch die werte für Y1 und Y2 aus.
2. Jedes Suchworte kommt in der Textdatei in 3 Varianten vor entweder z.b. Y; oder Y leerzeichen oder Y&
Jetzt muss das ganze irgendwie so in der schleife verknispelt werden, dass zuerst nach dem ersten suchwort in den 3 Varianten gesucht wird und dann. dass nächste suchwort in den 3 varianten gesucht wird.
Hier der Ursprüngliche code der funktioniert wenn man nur ein suchwort in der textdatei hat weil die varianten einfach ignoriert werden
Do
ReDim Preserve arr(5, i)
pos1 = InStr(pos1 + 1, strSearchThis, Suchwort)
If pos1 > 0 Then
' Wort gefunden
' Es folgen 6 instr befehle die das ergebnis in arr(0, i) - (5,i)
' speichern
i=i+1
Loop Until pos1 = 0 hier noch mein ansatz der aber nicht funktioniert
Suchwort = rev & ";"
Suchwortleer = rev & " "
Suchwortabsatz = rev & "&"
Do
ReDim Preserve arr(5, i)
pos1 = InStr(pos1 + 1, strSearchThis, Suchwort)
posleer = InStr(posleer + 1, strSearchThis, Suchwortleer)
posabsatz = InStr(posabsatz + 1, strSearchThis, Suchwortabsatz)
If pos1 > 0 Then
' Wort gefunden
XX = InStrRev(strSearchThis, "XX", pos1)
YY = InStr(XX, strSearchThis, "YY")
End If
If pos1 = 0 And posleer > 0 Then
' Wort gefunden
XX = InStrRev(strSearchThis, "XX", posleer)
YY = InStr(XX, strSearchThis, "YY")
End If
If pos1 = 0 And posleer = 0 And posabsatz > 0 Then
' Wort gefunden
XX = InStrRev(strSearchThis, "XX", posabsatz)
YY = InStr(XX, strSearchThis, "YY")
End If
' dann folgen die 6 Instr befehle
i = i + 1
Loop Until pos1 = 0 Für eine Hilfestellung bin ich sehr dankbar |