Frage zu Readline
Übersicht

![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
habe da mal was zusammen gebastelt! 2 Functionen, einmal zum auslesen von zeilen und eine zum ersetzen von Zeilen, falls die Zeile nicht existiert gibt es eine Fehlermeldung Diese Function kann aber auch Zeilen einfügen, wenn die Zeile aber über das Ziel hinaus schießt wird diese drangehängt! Achja, inclusive Testfile.... Overwrite beachten was noch fehlt ist eine Zeile löschen, aber wer braucht das schon....... Die Functionen am besten mit include am Anfang reinladen wegen den types Code: [AUSKLAPPEN] Function ReturnLine$(Datei$,Posline%)
Dat = ReadFile (Datei$) If Not Dat Then Return "...ERROR" While Not Eof(dat) If Posline% = 1 Then LineData$ = ReadLine (dat) CloseFile(Dat) Return LineData$ End If Posline% = Posline% -1 ReadLine (dat) Wend CloseFile(Dat) Return "...ERROR" End Function :::::::Type Fileline Field LineString$ End Type Function InsertLine(Datei$, Posline%, LineData$,overwrite = 0); firstline = 1 Dat = OpenFile (Datei$) If Dat = 0 Or Posline% =< 0 Then Return -1 ;Position ermitteln While Not Eof(dat) If Posline% = 1 Then CurrentPos = FilePos(Dat) Exit End If Posline% = Posline% -1 ReadLine (dat) Wend If CurrentPos = 0 Then CurrentPos = FilePos(Dat) ; überschreiben ??? If (Not Eof(dat)) And overwrite Then ReadLine (Dat) ; restlichen auslesen While Not Eof(dat) liste.Fileline = New Fileline liste\LineString$ = ReadLine (dat) Wend ; Zur Position Springen SeekFile (Dat,CurrentPos) ;Neue Zeile rein WriteLine Dat, LineData$ ;Restlichen reinschreiben For liste.Fileline = Each Fileline WriteLine Dat, liste\LineString$ Delete liste.Fileline Next CloseFile(Dat) End Function ;Datei erstellen###################################################### .start dat = OpenFile ("test.txt") If Not dat Then dat = WriteFile ("test.txt") If Not dat Then RuntimeError ("Datei kann nicht erstellt werden") For x= 1 To 10 WriteLine dat ,"Zeileorginal " + x Next : x= 0 CloseFile(dat) Goto start End If CloseFile(dat) ; Ende Datei erstellen############################################ ;Zeile 4 auslesen A$ = ReturnLine$("test.txt",10) If A$ = "...ERROR" Then RuntimeError("Fehler beim lesen der Datei!! Die Zeile existiert nicht!") Print a$ ;Zeile 3 wird überschrieben If insertline("test.txt",3,"Hier die 3. Zeile überschrieben",1) < 0 Then RuntimeError (" Fehler in der Datei") End If WaitMouse End |
||
[BB2D | BB3D | BB+]
|
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group