Zusammenfügen von *.txt Dateien

Anfängerfragen zum Programmieren mit PureBasic.
Thatsanee
Beiträge: 116
Registriert: 11.03.2005 05:12

Zusammenfügen von *.txt Dateien

Beitrag von Thatsanee »

Hi zusammen,

Konnte in der Hilfe keinen passenden Befehl finden oder habs
zumindest nicht gefunden.

Suche soetwas wie einen Merge-Befehl.
Er soll aus 2, 3, 4, ..... *.txt Dateien eine große machen.
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

Beitrag von ts-soft »

Hier mal ein einfaches Beispiel, damit du den Ablauf erkennst. Solltest Du eventuell noch durch Verwendung einer Procedure optimieren:

Code: Alles auswählen

NewText = CreateFile(#PB_Any, "Text.txt") ; Neue Textdatei erstellen
If NewText
  ReadT1 = ReadFile(#PB_Any, "Text1.txt") ; Erste Textdatei zum lesen öffnen
  While Eof(ReadT1) = #False ; Ende noch nicht erreicht
    UseFile(ReadT1) ; Text1 lesen
    Text.s = ReadString()
    UseFile(NewText)
    WriteStringN(Text.s) ; Text schreiben
  Wend
  CloseFile(ReadT1) ; Erste Textdatei wieder schließen
  ReadT2 = ReadFile(#PB_Any, "Text2.txt") ; Die nächste Textdatei zum lesen öffnen
  While Eof(ReadT2) = #False
    UseFile(ReadT2)
    Text.s = ReadString()
    UseFile(NewText)
    WriteStringN(Text.s)
  Wend
  CloseFile(ReadT2)
  ; usw.
EndIf
CloseFile(NewText) ; Neue Textdatei schließen
End
Gruß
Thomas
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
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

Beitrag von ts-soft »

Wenn Du Dich nur ans Ende der Datei bewegen willst um etwas anzufügen kannst Du dies mit:

Code: Alles auswählen

FileSeek(Lof())
machen
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
Thatsanee
Beiträge: 116
Registriert: 11.03.2005 05:12

Beitrag von Thatsanee »

Hallo TS,

danke.
Benutzeravatar
Froggerprogger
Badmin
Beiträge: 855
Registriert: 08.09.2004 20:02

Beitrag von Froggerprogger »

Statt ReadString/WriteStringN kann man auch einfach ReadData/WriteData jeweils mit der Längenangabe der anzufügenden Datei nutzen.
Das geht fixer und man kann auch beliebige Binärdateien aneinanderhängen.
!UD2
Benutzeravatar
Donald
Beiträge: 307
Registriert: 03.01.2005 02:21
Wohnort: Marl

Re: Zusammenfügen von *.txt Dateien

Beitrag von Donald »

Thatsanee hat geschrieben:Hi zusammen,

Konnte in der Hilfe keinen passenden Befehl finden oder habs
zumindest nicht gefunden.

Suche soetwas wie einen Merge-Befehl.
Er soll aus 2, 3, 4, ..... *.txt Dateien eine große machen.
Hi, na TS hat dir ja schon eine Lösung gezeigt.
In meiner nächsten Userlib ist soetwas mit drin.
Damit kannste bis zu 10 Dateien auf einen Rutsch zusammenfügen,
oder an eine bereits bestehende Datei anhängen.
Kannst mir ja mal Deine eMail als PN schicken, dann sende ich Dir
mal die Beta der Lib.
DONALD :D www.PureBasic-Donald.de gibt es im Moment nicht mehr
PureBasic - jaPBe - PureVisonXP - TailBite
Antworten