Einzelnen Beitrag anzeigen

kcx

Registriert seit: 19. Feb 2008
44 Beiträge
 
#5

Re: Alle Textdateien eines Verzeichnisses zusammenfügen?

  Alt 18. Mär 2008, 22:21
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;
  Mit Zitat antworten Zitat