vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2019
 
zurück

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

Visual-Basic Einsteiger
Instr mehrere Bedingung Textdatei 
Autor: mKs1985
Datum: 31.01.19 07:42

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
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Instr mehrere Bedingung Textdatei170mKs198531.01.19 07:42
Re: Instr mehrere Bedingung Textdatei75Manfred X31.01.19 08:21
Re: Instr mehrere Bedingung Textdatei71mKs198531.01.19 09:33
Re: Instr mehrere Bedingung Textdatei76Manfred X31.01.19 11:38
Re: Instr mehrere Bedingung Textdatei72mKs198531.01.19 15:26

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-2019 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