![]() |
Alle Textdateien eines Verzeichnisses zusammenfügen?
Hallo, wie kann ich alle Textdateien eines Verzeichnisses zusammenfügen, also alle Inhalte in einer Datei speichern?
Freundliche Grüße Aaron |
Re: Alle Textdateien eines Verzeichnisses zusammenfügen?
du erstellst eine Liste in der alle Dateinamen stehen
dann erstellst du eine neue Datei die nachher alle beinhalten soll und schreibst nacheinander alle Anderen Files rein Dazu nüstzlich sind Textfile readln( writeln while not eof( ) do das müste dir für den Anfang schon helfen.. |
Re: Alle Textdateien eines Verzeichnisses zusammenfügen?
|
Re: Alle Textdateien eines Verzeichnisses zusammenfügen?
Hallo. ja ich weiß, nur muss man da alle Dateinamen angeben, aber evtl kann man die ja auch auslesen (Corpsman) und übergeben.
Gruß Aaron |
Re: Alle Textdateien eines Verzeichnisses zusammenfügen?
Mit FindFirst, FindNext alle Textdateien in eine Liste laden und dann folgende Funktion aufrufen:
Delphi-Quellcode:
function MergeFiles(const AInputFiles: TStrings; const AOutputFile: String): Boolean;
const BUFFER_SIZE = 65536; var i, iRead, iWritten: Integer; fInput, fOutput: File; sBuffer: String; begin Result := True; AssignFile(fOutput, AOutputFile); try ReWrite(fOutput, 1); try for i := 0 to Pred(AInputFiles.Count) do begin AssignFile(fInput, AInputFiles[i]); try Reset(fInput, 1); try while not EOF(fInput) do begin SetLength(sBuffer, BUFFER_SIZE); BlockRead(fInput, sBuffer[1], BUFFER_SIZE, iRead); SetLength(sBuffer, iRead); BlockWrite(fOutput, sBuffer[1], iRead, iWritten); end; finally CloseFile(fInput); end; except //ShowMessage('Error opening ' + AInputFiles[i]); end; end; finally CloseFile(fOutput); end; except Result := False; end; end; |
Re: Alle Textdateien eines Verzeichnisses zusammenfügen?
Danke euch allen, ich experimentier mal rum damit.
Freundliche Grüße Aaron |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz