Textdatei in LinkedList einlesen

Anfängerfragen zum Programmieren mit PureBasic.
Martin66119
Beiträge: 282
Registriert: 03.01.2005 11:36

Textdatei in LinkedList einlesen

Beitrag 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
Benutzeravatar
Darky
Beiträge: 210
Registriert: 18.09.2004 20:53
Wohnort: Gelsenkirchen / NRW
Kontaktdaten:

Re: Textdatei in LinkedList einlesen

Beitrag 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 :)
Martin66119
Beiträge: 282
Registriert: 03.01.2005 11:36

Re: Textdatei in LinkedList einlesen

Beitrag von Martin66119 »

Das geht aber einfach!

Ich dachte mit LinkedList würde es am schnellsten gehen!
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Textdatei in LinkedList einlesen

Beitrag von ts-soft »

Mit CopyFile() geht es am schnellsten :mrgreen:

Irgendwas vermisse ich an Deinen Aussagen.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Martin66119
Beiträge: 282
Registriert: 03.01.2005 11:36

Re: Textdatei in LinkedList einlesen

Beitrag 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.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Textdatei in LinkedList einlesen

Beitrag von ts-soft »

Datei in einem Rutsch in den Speicher, mit ReadData, dann PeekS() und dann mit StringField() splitten und vergleichen.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Darky
Beiträge: 210
Registriert: 18.09.2004 20:53
Wohnort: Gelsenkirchen / NRW
Kontaktdaten:

Re: Textdatei in LinkedList einlesen

Beitrag von Darky »

An meinen aussagen oder seinen ? :D
Martin66119
Beiträge: 282
Registriert: 03.01.2005 11:36

Re: Textdatei in LinkedList einlesen

Beitrag 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.
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Re: Textdatei in LinkedList einlesen

Beitrag 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.
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Textdatei in LinkedList einlesen

Beitrag 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:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten