Seite 1 von 2

Textdatei in LinkedList einlesen

Verfasst: 18.04.2013 21:32
von Martin66119
Hallo,
st
wie liest man am schnellsten Textdatei, die auf der Festplatte liegt in eine LinkedList ein und speichert das ergebnis in einer neuen Datei.

Grüße
Martin

Re: Textdatei in LinkedList einlesen

Verfasst: 18.04.2013 21:40
von Darky

Code: Alles auswählen

NewList Liste.s()

ReadFile(1,"datei.txt")
While Eof(1)=0
  AddElement(Liste())
  Liste()=ReadString(1)
Wend
CloseFile(1)



CreateFile(2,"Datei2.txt")
ForEach Liste()
  WriteStringN(2,Liste())
Next
CloseFile(2)

Wozu LinkedList ? Gibt schnellere möglichkeiten :)

Re: Textdatei in LinkedList einlesen

Verfasst: 18.04.2013 21:45
von Martin66119
Das geht aber einfach!

Ich dachte mit LinkedList würde es am schnellsten gehen!

Re: Textdatei in LinkedList einlesen

Verfasst: 18.04.2013 21:50
von ts-soft
Mit CopyFile() geht es am schnellsten :mrgreen:

Irgendwas vermisse ich an Deinen Aussagen.

Re: Textdatei in LinkedList einlesen

Verfasst: 18.04.2013 21:51
von Martin66119
Ich möchte zeilenweise prüfen ob die Zeilen 1 bis n der Datei 1 in der Datei 2 enthalten ist. Wenn nein soll die Zeile, die in der Datei 1 enthalten ist aber in der Datei 2 nicht in der Datei 3 eingefügt werden.

Re: Textdatei in LinkedList einlesen

Verfasst: 18.04.2013 21:54
von ts-soft
Datei in einem Rutsch in den Speicher, mit ReadData, dann PeekS() und dann mit StringField() splitten und vergleichen.

Re: Textdatei in LinkedList einlesen

Verfasst: 18.04.2013 22:03
von Darky
An meinen aussagen oder seinen ? :D

Re: Textdatei in LinkedList einlesen

Verfasst: 18.04.2013 22:13
von Martin66119
Vielen Dank für die Hilfe.

Vielleich lege ich meine Prämisse nicht auf die Schnelligkeit sondern auf einen Code den ich verstehe.
Also ungefähr so.

Datei 1 in LinkedList1
Datei 2 in LinkedList2

Ist Element 1 aus LinkedList 1 in LinkedList2 enthalten
Wenn nicht vorhanden schreibe Element in neue Datei 3
Ist Element 2 aus LinkedList 1 in LinkedList2 enthalten
Wenn nicht vorhanden füge Element am Ende der Datei 3 ein
.
.
.
.
Ist Last Element aus LinkedList 1 in LinkedList2 enthalten
Wenn nicht vorhanden füge Element am Ende der Datei 3 ein

Das verstehe ich wenigstens.

Re: Textdatei in LinkedList einlesen

Verfasst: 19.04.2013 14:02
von dysti
So kann man es auch machen:

Code: Alles auswählen

; wir öffnen die Dateien
ReadFile(1,"datei1.txt")
ReadFile(2,"datei2.txt")
CreateFile(3,"datei3.txt")

While Eof(1)=0
  
  z1=ReadString(1)
   If Not Eof(2)=0
     z2=ReadString(2)
   EndIf
; wir vergleichen
If z1<>z2
; wenn ungleich, in Datei3 wegschreiben
     WriteStringN(3,z2)  
   EndIf
  
Wend
; alle geöffneten Dateien wieder schliessen
CloseFile(1)
CloseFile(2)
CloseFile(3)

Wenn du was nicht verstehst, melde dich.

Re: Textdatei in LinkedList einlesen

Verfasst: 19.04.2013 14:07
von ts-soft
@dysti

Du vergleichst aber nur immer die gleichen Zeilen der beiden Dateien!
Wenn Zeile 1 in Datei 1 gleich Zeile 3 in Datei 2 ist kommt auch nichts in Datei 3! :wink: