Bestimmte Zeile in Text Datei lesen

  • VBScript

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von peterfido.

    Bestimmte Zeile in Text Datei lesen

    Hallo,

    also erst einmal, ich bin ein absoluter Neuling auf diesem Gebiet. Ich habe mir auch schon einige Einführungen und HowTos in diesem Gebiet durchgelesen und intensiv nach einer Lösung im Internet gesucht. Leider verstehe ich vieles noch nicht und bin deshalb noch zu keiner Lösung gekommen. Ich hoffe ihr könnt mir bei meinem Problem helfen.

    Meine Aufgabe ist es ein Skript zu verfassen, das eine Textdatei einliest, aus dieser dann immer eine Zahlenfolge aus der Mitte einer bestimmten Zeile auf dem Bildschirm bzw. e-mail ausgibt.

    Als nächsten sollen in einer anderen Zeile, Zahlenfolgen (immer gleich lang und mit einem : voneinander getrennt) gezählt werden. Also die erste Zahlenfolgen beginnt z.b. an sechster Stelle in der Zeile ist 20 Zeichen lang und wird mit einem : von der nächsten getrennt. Das Skript soll jetzt zählen wie viele Zahlenfolgen vorhanden sind und es kommt manchmal vor, dass es in der nächsten zeile weitergeht.

    Zudem soll dann ein Vergleich gestartet werden, der zwei Zahlen in wiederum einer anderen Zeile ersteinmal miteinander und dann noch mit dem Ergebnis aus der zahlenreihezälerei vergleicht.
    Bei Unstimmigkeiten soll eine Benachrichtigung ausgegeben werden, wenn möglich sogar per e-mail.

    Bisher bin ich soweit, dass ich die Datei einlese und die erste Zeile auf dem Bildschirm ausgeben kann, bzw. eine Zeile nach der anderen ausgeben kann. (was ich ja eigl visuell gar nicht will)

    Für Hilfe jeglicher Art bin ich sehr dankbar.
    Wo besteht genau das Problem? Zeilenweise einlesen ist doch schon mal gut. Einfach mitzählen, bei welcher Zeile man ist und wenn die gewünschte erreicht ist, diese in einer Variablen abspeichern. Die Zahlenfolgen lassen sich auf mehrere Wege herausfinden. Welche Befehle hattet ihr denn schon? (Klingt stark nach einer Aufgabe für die Schule...)
    Gruß
    Peterfido

    Keine Unterstützung per PN!
    Ne nicht für die Schule^^für die Arbeit!
    Wie gesagt, bin absoluter Neuling auf diesem Gebiet. Ich hab mir bisher ein wenig zusammengebastelt. Mit ner Ausgabe zum testen...
    so zeigt er mir die 1te Zeile der Textdatei an:

    Visual Basic-Quellcode

    1. Set oFSO = CreateObject("Scripting.FileSystemObject")
    2. Set oFile = oFSO.OpenTextFile("C:\Users\...\.txt", 1)
    3. strLine = oFile.ReadLine
    4. Wscript.Echo strLine
    5. oFile.Close


    ich will aber, dass in Zeile 16 -> GID+1+2:201:::EUROPALETTE(N)+2:KP' die beiden 2en vor dem : miteinander verglichen werden und bei ner fehlermeldung am besten ne mail rausgeht. zusätzlich sollen auch noch die zahlenfolgen wie im ersten post beschrieben gezählt werden und das ergebnis mit den beiden 2en(wenn dort 2en stehen ;)) verglichen werden. die fehlermeldung kann theoretisch auch erst jetzt erfolgen.
    Als nächsten sollen in einer anderen Zeile, Zahlenfolgen (immer gleich lang und mit einem : voneinander getrennt) gezählt werden. Also die erste Zahlenfolgen beginnt z.b. an sechster Stelle in der Zeile ist 20 Zeichen lang und wird mit einem : von der nächsten getrennt. Das Skript soll jetzt zählen wie viele Zahlenfolgen vorhanden sind und es kommt manchmal vor, dass es in der nächsten zeile weitergeht.
    Gibt ja ne Menge Doppelpunkte in der Datei. Wenn es dann noch in der nächsten Zeile weiter geht, würde ich nach einer anderen Gemeinskamtkeit suchen. Z.B. dem GID oder dem KP...
    Machbar ist das alles. Wenn die Zeilen immer so aussehen. kannst Du den ersten : mit

    Visual Basic-Quellcode

    1. instr
    finden und den letzten mit

    Visual Basic-Quellcode

    1. instrrev
    .
    Die 16. Zeile erreichst Du, indem du 15 Zeilen verwirfst.

    Visual Basic-Quellcode

    1. for i = 1 to 16
    2. strLine = oFile.Readline
    3. next i


    Dann hast Du in strLine die 16. Zeile.
    Zwischendurch fehlt dann aber noch die Fehlerabfrage. Nicht, dass nur z.B. 14 Zeilen in der Datei drin sind.
    Gruß
    Peterfido

    Keine Unterstützung per PN!