Verfasst: 21.04.2008 17:43
Mir ist das klar, aber er hofft anscheinend, er könnte direkt mit nur einem Aufruf an den n-ten String kommen 

Das deutsche PureBasic-Forum
https://www.purebasic.fr/german/
Falsch. Du kannst die Position des Dateizeigers auch ändern. Allerdings muss er dann wissen, wie lang die erste Zeile ist. Und wie das geht, weiß ich nicht(Ohne len(readstring(file)))Er kann nur von vorne lesen, dann muß er die Bedingung verändern.
Aber um die vierte Zeile zu lesen, sind erst die 3 davor zu lesen Mr. Green
Das einzig richtige an deiner Aussage ist, das man mit FileSeek denX0r hat geschrieben:Falsch. Du kannst die Position des Dateizeigers auch ändern. Allerdings muss er dann wissen, wie lang die erste Zeile ist. Und wie das geht, weiß ich nicht(Ohne len(readstring(file)))Er kann nur von vorne lesen, dann muß er die Bedingung verändern.
Aber um die vierte Zeile zu lesen, sind erst die 3 davor zu lesen Mr. Green
X0r hat geschrieben:Falsch. Du kannst die Position des Dateizeigers auch ändern. Allerdings muss er dann wissen, wie lang die erste Zeile ist. Und wie das geht, weiß ich nicht(Ohne len(readstring(file)))Er kann nur von vorne lesen, dann muß er die Bedingung verändern.
Aber um die vierte Zeile zu lesen, sind erst die 3 davor zu lesen Mr. Green
Code: Alles auswählen
; Datei öffnen, laden ...
a.b = 2 ;Zeilennummer
For x = 1 To a
ReadString()
Next
; Datei schließen ...
Code: Alles auswählen
dnr = 1
dat$ = "2007.txt" ;bei mir 1 MB groß
gesuchteZeile = 2068
flag = ReadFile(dnr, dat$)
If flag
datlg = Lof(dnr)
daten$ = Space(datlg)
bytes = ReadData(dnr, @daten$, datlg)
erg$ = StringField(daten$, gesuchteZeile, #CRLF$)
Debug Mid(erg$,2,9999) ;der dritte Parameter soll ja bald optional sein, wurde mal versprochen
daten$ = ""
Else
MessageRequester("Information","Konnte Datei nicht öffnen!")
EndIf