Ver Mensaje Individual
  #7  
Antiguo 29-07-2007
xaguilars xaguilars is offline
Miembro
 
Registrado: jul 2007
Posts: 22
Reputación: 0
xaguilars Va por buen camino
Gracias por vuestras propuestas, no me esperaba q me respondieran tan rápido jeje. La verdad es que me han ayudado mucho a pensar y aquí tengo una posible solución...

Código Delphi [-]
 
Type

TSong = packed record
  {EXTERNAL MP3 INFO}
    ID, {POSITION IN DYNAMIC LIST}
    KID:Integer; {KEY IDENTIFIER, UNIQUE}
    Path, {MP3 FILENAME}
    Lyrics: string[255];  {TXT file PATH}
    Rate:0..5; {NUMBER OF STARS}
    Favourite:Boolean;
  {ID3 Tags, INTERNAL MP3 INFO}
    Title,
    Artist,
    Album: string[255];
    Track: Byte;
    Year: string[4];
    Genre,
    Comments,
    Composer,
    Encoder,
    Copyright,
    Link,
    Language: string[255];
  end;

  TAlbum = packed record
    Name: string[255];
    Rate:0..5; {NUMBER OF STARS}
    Favourite:Boolean;
    Songs: String[255]; {ex.: 'KID:#157#158#159#160#7#2514#12477'}
  end;
 
  TSongFile: File of TSong;
  TAlbumFile: File of TAlbum; //Ahora sí podría guardarlo como registros
 
  //ALBUM LIST
  PAlbumNode= ^TAlbumNode; {pointer to TAlbumNode}
 
  TAlbumNode = record
    Info:TAlbum;
    Next:PAlbumNode;
  end;
 
 //SONG LIST
  PSongNode= ^TSongNode; {pointer to TSongNode}

  TSongNode = record
    Info:TSong;
    Next:PSongNode;
  end;
 
(*TAlbum2 = record  {En este caso usaría punteros a las canciones en vez de un string con los KID, pero no sé qué será más eficiente a la hora de programar y de recursos de memoria}
    Name: string[255];
    Rate:0..5; {NUMBER OF STARS}
    Favourite:Boolean;
    Songs: array of PSongNode;
  end;
 PAlbumNode= ^TAlbumNode; {pointer to TAlbumNode}
 
  TAlbumNode = record
    Info:TAlbum2;
    Next:PAlbumNode;
  end;*)

Aquí os dejo un link con el esquema de los dos casos. Aún no lo he implementado. He ido escribiendo conforme me han surgido ideas... pero cuando lo intente os digo que tal... o si me podéis aconsejar antes mejor
En cuanto a lo de XML no sé cómo funciona ni qué posibilidades tiene... Delphi lo trata como un fichero de texto? O puede interpretar el código?

Bueno gracias por todo!

Última edición por xaguilars fecha: 29-07-2007 a las 19:31:02. Razón: el formato de codigo no se visualizaba bien
Responder Con Cita