Siguiendo el mismo ejemplo:
procedure ConvertBOM(infile, outfile: string);
var
Archivo, ArchivoBOM: file of byte;
s: string ;
c: byte;
h: integer;
begin
assignfile(Archivo, infile); {abrir el XML original}
assignfile(ArchivoBOM, outfile); {escribir un XML nuevo}
reset(Archivo);
rewrite(ArchivoBOM);
c:= 239; write(ArchivoBOM, c); {insertar EF}
c:= 187; write(ArchivoBOM, c); {insertar BB}
c:= 191; write(ArchivoBOM, c); {insertar BF}
while not eof(Archivo) do
begin
read(Archivo, c); {leer archivo original}
s:=s+IntToHex(c, 2)+' ';
write(ArchivoBOM, c); {escribir lo mismo en el nuevo}
end;
closefile(Archivo);
closefile(ArchivoBOM);
end;
Saludos!