procedure UnirArchivos(NameIn1, NameIn2, NameOut: string);
var
i: Integer;
in1, in2, fout: TMemoryStream;
buffer: Byte;
begin
in1:= TMemoryStream.Create;
in2:= TMemoryStream.Create;
fout:= TMemoryStream.Create;
try
in1.LoadFromFile(NameIn1);
in2.LoadFromFile(NameIn2);
fout.LoadFromStream(in1);
fout.Seek(0,soFromEnd);
for i:= 0 to in2.Size-1 do
begin
in2.Read(buffer, 1);
fout.Write(buffer, 1);
end;
fout.SaveToFile(NameOut);
finally
in1.Free;
in2.Free;
fout.Free;
end;
end;