Hi
Ich habe hier etliche kleine wav-Dateien, die ich in einer festgelegten Reihenfolge aneinanderreihen möchte.
Eine Prozedur, die zwei Quell- in eine neue Zieldatei schreibt habe ich. Diese arbeitet aber viel zu langsam, da zwei temporäre Dateien jeweils als Quelle/Ziel gewählt werden und immer überschrieben werden.
Gibt es einen Befehl wie append, der eine Binärdatei an eine andere anhängt, oder weiß jemand eine Optimierungsmöglichkeit für meine Prozedur?
Delphi-Quellcode:
procedure kopieren(datei1,datei2, ziel : string);
type puffer = array [1..60000] of byte;
var file1, file2, file3 : file;
pufzeiger : ^puffer;
anzahl_bytes : longint;
begin
assign(file1, datei1);
assign(file2, datei2);
assign(file3, ziel);
reset(file1);
reset(file2);
rewrite(file3);
new(pufzeiger);
while not eof(file1) do
begin
blockread(file1, pufzeiger^, sizeof(pufzeiger^), anzahl_bytes);
blockwrite(file3, pufzeiger^, anzahl_bytes);
end;
while not eof(file2) do
begin
blockread(file2, pufzeiger^, sizeof(pufzeiger^), anzahl_bytes);
blockwrite(file3, pufzeiger^, anzahl_bytes);
end;
dispose(pufzeiger);
close(file1); close(file2); close(file3);
end;