Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Alle Textdateien eines Verzeichnisses zusammenfügen? (https://www.delphipraxis.net/110491-alle-textdateien-eines-verzeichnisses-zusammenfuegen.html)

aaron 18. Mär 2008 22:04


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

Corpsman 18. Mär 2008 22:07

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..

Die Muhkuh 18. Mär 2008 22:16

Re: Alle Textdateien eines Verzeichnisses zusammenfügen?
 
Hi,

gab es erst hier.

aaron 18. Mär 2008 22:19

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

kcx 18. Mär 2008 22:21

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;

aaron 18. Mär 2008 22:27

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 09:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz