Seite 1 von 1

txt dateien auslesen

Verfasst: 20.11.2005 01:19
von Outlaw
Hallo!

Wie kann ich bestimmte Zeilen einer txt datei auslesen?
das auslesen selbst geht ja normal mit ReadFile soweit ich weiss

Mfg Outlaw

Verfasst: 20.11.2005 01:21
von Hellhound66
PB HILFE hat geschrieben:ReadString()

Syntax

Text$ = ReadString()
Beschreibung

Liest einen String aus der aktuell geöffneten Datei, bis ein 'End Of Line' (deutsch: "Ende der Zeile") Zeichen gefunden wird (Unix und DOS Dateiformate werden unterstützt).

Für ein Beispiel sehen Sie zum ReadFile() Befehl.
Unterstützte OS

All

Verfasst: 20.11.2005 02:01
von Outlaw
das hilft mir nicht weiter es liest doch nur die erste zeile oder?
ich brauche ein code um zB die 5 Zeile auszulesen ohne davor noch die anderen 4 auszulesen

Verfasst: 20.11.2005 02:06
von Hroudtwolf
Das könnte dir helfen.
http://www.purebasic-lounge.de/viewtopi ... =textdatei

Sorry aber die Kleinigkeit poste ich nicht extra nochmal.

Verfasst: 20.11.2005 02:33
von MVXA
Ganz spontan zusammen gekratzt.

Code: Alles auswählen

Procedure.s GetTXTLine(strDateiName.s, lngZeile.l)
    DefType.l lngFileID, lngI
    DefType.s strResult
    
    lngFileID = ReadFile(#PB_Any, strDateiName)
    If lngFileID
        If lngZeile > 1
            For lngI = 1 To lngZeile-1
                ReadString()
            Next lngI
        EndIf
        strResult = ReadString()
        CloseFile(lngFileID)
    EndIf
    
    ProcedureReturn strResult
EndProcedure


Debug GetTxtLine("C:\Text.txt", 1)
//Edit:
ich vergesse immer so gerne die Klammern -_-

Verfasst: 20.11.2005 03:22
von ts-soft
Oder PBOSL_FastFile:
FastOpenTextFile(Nr.l, Dateiname.s, Trennzeichen.s)
FastReadLine(NR.l, LineNR.l)
FastCloseTextFile(NR.l)

Verfasst: 20.11.2005 17:02
von Outlaw
MVXA hat geschrieben:Ganz spontan zusammen gekratzt.

Code: Alles auswählen

Procedure.s GetTXTLine(strDateiName.s, lngZeile.l)
    DefType.l lngFileID, lngI
    DefType.s strResult
    
    lngFileID = ReadFile(#PB_Any, strDateiName)
    If lngFileID
        If lngZeile > 1
            For lngI = 1 To lngZeile-1
                ReadString()
            Next lngI
        EndIf
        strResult = ReadString()
        CloseFile(lngFileID)
    EndIf
    
    ProcedureReturn strResult
EndProcedure


Debug GetTxtLine("C:\Text.txt", 1)
//Edit:
ich vergesse immer so gerne die Klammern -_-
Danke das klappt hervorragend! ;)

Dann hätt ich noch ein problem :oops: :
wie kann ich denn noch z.B. zeile 5 zeichen 5 bis 13 auslesen?

Verfasst: 20.11.2005 22:08
von scholly
Outlaw hat geschrieben: Dann hätt ich noch ein problem :oops: :
wie kann ich denn noch z.B. zeile 5 zeichen 5 bis 13 auslesen?
Laut Doku sollte es dafür eine Funktion geben:

Result$ = Mid(String$, StartPosition, Length)

bis denne...
scholly

Verfasst: 20.11.2005 22:56
von Outlaw
und das geht auch!
dann hätte ich jetzt alles zusammen!

DANKE!!