Registriert seit: 19. Feb 2008
44 Beiträge
|
Re: Alle Textdateien eines Verzeichnisses zusammenfügen?
18. Mär 2008, 23: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;
|
|
Zitat
|