Seite 1 von 1

Zusammenfügen von *.txt Dateien

Verfasst: 04.04.2005 01:31
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.

Verfasst: 04.04.2005 02:19
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

Verfasst: 04.04.2005 02:28
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

Verfasst: 04.04.2005 10:02
von Thatsanee
Hallo TS,

danke.

Verfasst: 05.04.2005 00:30
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.

Re: Zusammenfügen von *.txt Dateien

Verfasst: 05.04.2005 03:15
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.