In Textdateien Springen

ok danke, nun hab ich ersteinmal alles was ich brauche. Wenn ich noch fragen haben sollte, frag ich hier nochmal nach.

EDIT: Also ich hab da noch ein Problem. Ich hab das soweit alles hinbekommen. Ich splite einen text erst in Zeilen, und dann die zeile die ich brauche in Wörter und nehme mir dann das raus was ich brauche. Nun hab ich aber das problem das eine die Informnationen aus einer Zeile irgendwie nicht ausgelesen werden. Ich hab den Code einmal geschrieben und dann kopiert. Bei allen anderen Zeilen funktioniert dieser code. Nur die besagte Zeile tauscht nirgendwo auf. Ich guck da noch mal drüber obn ich was in der Syntax falsch gemacht abe, aber das kann eig nicht. Wenn ich nicht weiterkomme poste ich den Code mal.

mfg Freddy
big THX
 
Zuletzt bearbeitet:
So jetzt hab ich ein Problem. Ich bestimme über eine Variable (Lis) welche zeile angepeilt werden soll. Vorher splite ich die TXT Datei in Zeilen. Die Zeile die ich dann ausgewählt habe, splite ich dann ein zweites mal, in Wörter. Nun hab ich das Problem das der bei 2 Punkten nicht die Zeile nimmt die ich will sondern die erste zeile. Was kann ich falsch gemacht haben? <---- Hat sich erledigt, ich hatte eine Leerstelle bei der if anweisung zuviel...

Und dann wollte ich noch wissen wie man eine Textdatei, jeweils das erste Wort einer zeile, nach einem Wort durchsuchen kann? Ich möchte dann den Wert nach dem Wort, eine Zahl, in einer Variable speichern und damit weiterarbeiten.

mfg Freddy
 
Zuletzt bearbeitet:
Am besten, du liest die Datei ganz ein, splittest sie aber nicht. Dann durchsuchst du die ganze Datei mittels InStr() nach deinem Schlüsselwort mit einem vorhergesetzten Zeilenwechsel (siehe den ua Code). Dann einfach den dem Zeichen suchen, das hinter der Zahl stehn (Leerzeichen, Zeilenwechsel, ...) und schon hast du die Zahl. Ein kleiner Beispielcode:
Visual Basic:
 Dim fFile%, vInhalt$, vStelle%, vTStelle%, vZahl&
 fFile = FreeFile
 vInhalt = Space(FileLen("C:\test.txt"))
 Open "C:\test.txt" For Binary As fFile
  Get fFile, , vInhalt
 Close fFile
  vStelle = InStr(vInhalt, vbNewLine & "Wort") 'Suche nach dem Wort mit einem vorangestellten Zeilenumbruch (erste Zeile muss separat durchsucht werden)
  If vStelle > 0 Then 'Wenn ja
   vTStelle = vStelle + 6 'Erste Stelle nach dem Wort festlegen (Länge Wort + 2 Zeichen Zeilenumbruch; ev noch das Trennzeichen beachten
   vStelle = InStr(vTStelle, vInhalt, vbNewLine) 'Zeichen nach der Zahl suchen (hier Zeilenumbruch)
   vZahl = clng(val(Mid(vInhalt, vTStelle, vStelle - vTStelle))) 'und die Zahl isolieren
  End If
  MsgBox vZahl 'Ich geb sie hier einfach mal per MessageBox aus

Code ist nur Anschauung, du musst ihn natürlich für deine Datei anpassen.


Der Doc!
 
Zurück