Format des fichiers de catalogue ".amc"

Notes

> Tous les types sont les types du langage Pascal, étant donné que le programme est créé avec Delphi.

> "Integer" correspond à 4 octets, signé, little endian.

> Tous les champs "string" (chaînes) sont précédés d'un Integer donnant la taille du vecteur (taille = 0 si pas de vecteur, c.à.d. une chaîne vide). Les chaînes sont donc des vecteurs de caractères (1 caractère = 1 octet, non signé) sans délimiteur de fin.

> "Boolean" est 1 octet ; 0 vaut Faux, les autres valeurs valent True.

> La date est stockée au format TDateTime de Borland: nombre de jours depuis le 30/12/1899.

> Le champ "Picture" est un vecteur d'octets, contenant l'image dans son format d'origine (PNG/JPEG/GIF).
> Son type est donné par le champ "PictureName" qui le précède.
> Si la taille de l'image est > 0, alors PictureName contient l'extension originale du fichier ('.png', .'.jpg' ou '.gif'). Si la taille de l'image = 0 alors PictureName contient un lien vers l'image (absolu ou relatif), ou rien du tout s'il n'y a aucune image associée au film courant.

> Le fichier commence par un texte de longueur fixe de 65 octets (appelé "strFileHeader35" ci-dessous), avec un caractère "espace" au début et à la fin (le premier octet du fichier est donc un caractère "espace"). Ensuite vient le bloc contenant quelques chaînes reprenant les informations du propriétaire du catalogue, puis directement les films.

Version 3.5

> En-tête :

>     strFileHeader35 = ' AMC_3.5 Ant Movie Catalog 3.5.x   www.buypin.com    www.antp.be ';
>     OwnerName:          string;
>     OwnerSite:          string;
>     OwnerMail:          string;
>     OwnerDescription:   string;

> Structure d'un film, répétée pour chaque film :

>     Number:           Integer;
>     Date:             Integer;
>     Rating:           Integer;
>     Year:             Integer;
>     Length:           Integer;
>     VideoBitrate:     Integer;
>     AudioBitrate:     Integer;
>     Disks:            Integer;
>     Checked:          Boolean;
>     Media:            string;
>     MediaType:        string;
>     Source:           string;
>     Borrower          string;
>     OriginalTitle     string;
>     TranslatedTitle   string;
>     Director          string;
>     Producer          string;
>     Country           string;
>     Category          string;
>     Actors            string;
>     URL               string;
>     Description       string;
>     Comments          string;
>     VideoFormat       string;
>     AudioFormat       string;
>     Resolution        string;
>     Framerate         string;
>     Languages         string;
>     Subtitles         string;
>     Size              string;
>     PictureName:      string;
>     PictureSize:      Integer;
>     Picture           array of Byte;

Les seules changements depuis la version 3.5 sont la suppression du champ ICQ de l'en-tête et le passage de la Note (Rating) en format 0-100 plutôt que 0-10 (le dernier chiffre étant utilisé pour la partie décimale). La version 3.4 utilisait le même format de fichier que la version 3.3.