Hola,te sugiero algo como esto (lo estoy haciendo a ojo sin el compilador delante).
Código Delphi
[-]
uses Classes;
procedure FusionarArchivos (mp3, text, salida: string);
var
FMp3, FText, FSalida: TFileStream;
begin
FSalida:= TFileStream.Create(salida, fmCreate);
FText:= TFileStream.Create(text, fmOpenRead or fmShareDenyWrite);
FMp3:= TFileStream.Create(mp3, fmOpenRead or fmShareDenyWrite);
FSalida.CopyFrom(FMp3, FMp3.size);
FSalida.CopyFrom(FText, FText.size);
FSalida.free;
FMp3.free;
FText.free;
end;
Basicamente sería algo como eso, tambien se me ocurre guardar al final de este archivo datos con el tamaño de cada archivo con un record, algo como esto:
Código Delphi
[-]
type
Datos = packed record
Mp3Size : integer;
TextSize: integer;
end;
Lo puedes hacer con la clase TFileStream y la función WriteBuffer.. Para separar los archivos tendrías que obtener el tamaño de cada archivo y moverte a través de él... te recomiendo que sigas usando la clase TFileStream.
Espero haberte ayudado.
Salu2