Por si le interesa a alguien:
Esta es la cabecera de un fichero MP3 (Varia segun la version, esta es la ID3 tag 1).
type
TID3Rec = packed record
Tag : array[0..2] of Char;
Title,
Artist,
Comment,
Album : array[0..29] of Char;
Year : array[0..3] of Char;
Genre : Byte;
end;
y este es parte del procedimiento para tellenar el registro utilizando un metodo de Ernesto D`spirito (mejor dicho juntando dos)
var
ID3Nueva : TID3Rec;
Titulo,Artista,Album,Comentario:String;
Ano:String;
n:Integer;
Genero:Byte;
const
Etiqueta='TAG';
begin
//para evitar que añada al final caracteres no deseados
//FillChar(ID3Nueva.Tag, sizeof(ID3Nueva.Tag), ' ');
n:=0;
FillChar(ID3Nueva.Tag, sizeof(ID3Nueva.Tag), ' ');
n := Length(Etiqueta);
if n > sizeof(ID3Nueva.Tag) then n := sizeof(ID3Nueva.Tag);
Move(PChar(Etiqueta)^, ID3Nueva.Tag, n);
Titulo:=Trim(edTitle.Text);
n:=0;
FillChar(ID3Nueva.Title, sizeof(ID3Nueva.Title), ' ');
n := Length(Titulo);
if n > sizeof(ID3Nueva.Title) then n := sizeof(ID3Nueva.Title);
Move(PChar(Titulo)^, ID3Nueva.Title, n);