Textstring suchen in .txt Datei und Zeile dann in neues .txt File kopieren

farip

Grünschnabel
Hallo zusammen,

Ich bin noch ein Grünschnabel und bin mir auch nicht sicher, ob mein Eintrag hier im richtigen Bereich ist. Was ich machen möchte ist ein kleines Skript schreiben in Visual Basic, welches mir eine .txt Datei durchsucht nach einem Textstring und anschliessend, falls dieser Textstring gefunden wurde, die Zeile in der dieser Textstring steht, kopiert und in ein neues .txt File einfügt.
Ich bin der absolute Programmieranfänger, kann zwar den Code oft nachvollziehen, aber auf die Idee wie zu progammieren komme ich oft nicht.

Ich bin euch für jede Hilfe dankbar!

Beste Grüsse
farip
 
Wenn du erst anfängst und nicht weisst was du tun sollst: Mach dir "Pseudo"-Code (Wie ein Backrezept)

1. Öffne die Quell-Datei in sequentiellem Lese-Modus
2. Öffne die Ziel-Datei in sequentiellem Schreib-Modus
3. Laufe in einer Schleife durch die Quell-Datei
4. Lese jede Zeile dieser Datei einzeln ein
5. Prüfe, ob dein Suchbegriff in dieser Zeile vorkommt
6. Falls Ja, schreibe diese Zeile in die Zieldatei. Falls Nein, tu gar nichts
7. Wenn du am Ende der Datei angekommen bist, verlasse die Schleife, ansonsten springe zurück an den Anfang der Schleife
8. Schliesse die Quell- und Zieldatei


Hinweis: Ich habe dir jetzt in den 8 Schritten oben viele Hinweise versteckt, nach denen du im Netz, in deinem Programmier-Handbuch usw. suchen kannst
Ich geb dir mal nen Tip für Schritt 5: Was du dafür brauchst ist die InStr-Funktion
 
Besten Dank erstmals für deine Hilfe!
Also mit der InStr-Funktion kann ich mir ja die Position als Integer zurückgeben lassen, wo sich der Anfang meines Textstrings befindet. Was mir jedoch noch noch nicht ganz klar ist, wie gebe ich dann die erste und letzte Position der Zeile xy zurück. Anschliessend würde dann ja ein Befehl kommen um diese Zeile zu kopieren. Verstehe ich deine Idee so richtig oder mache ich generell einen Denkfehler?

Danke und Gruss,
farip
 
Brauchst du nicht.
Ja, du kannst das Ergebnis von InStr so lesen (als Position des ersten Zeichens), aber das interessiert dich ja hier gar nicht. Dich interessiert nur, OB der String (InStr ergibt als Resultat irgendetwas grösser 0 aus. Wenn InStr 0 zurückgibt, kommt dein String nicht vor) auftaucht, nicht WO.
Und die Zeile aus der Datei, welche du mit InStr durchsuchst, bekommst du in Schritt 4 geliefert (Stichwort: Line Input-Funktion)
 
Zuletzt bearbeitet:
Zurück