-
Ant Movie Catalog (4) : Champs virtuels et scripts
Je terminerai cette longue séries de tutoriels par quelques astuces concernant l'utilisation des champs virtuels et des scripts.
Champs virtuels
Il s'agit de champs qui n'apparaissent pas dans l'interface mais qui sont utilisés pour les groupes ou le tri dans la liste des films. Ils peuvent également être utilisés dans un modèle HTML (affichage ou export).
Cliquer sur l'image pour l'agrandir
Les champs virtuels se créent et se gèrent comme les autres champs personnalisés. Procédez donc exactement comme indiqué pour créer un nouveau champ personnalisé mais dans le champ TYPE, vous sélectionnerez "Virtuel". En cliquant sur la flèche à l'extrémité du champ MODÈLE, vous pourrez sélectionner les champs existants que vous voulez afficher dans votre champ virtuel. Vous pouvez aussi ajouter des caractères et/ou des espaces comme dans mon exemple.
Désormais, lorsque je cliquerai sur l'icône Groupe, je pourrais sélectionner "Groupe par défaut" et dans le volet gauche, mes films seront groupés par type et support (ex: Série TV > DVD). Il est bien entendu possible d'inclure plus de deux champs dans un champ virtuel.
Titre personnalisé
Avant que Mickaël ne reprenne le développement d'AMC, nous disposions d'un champ virtuel assez limité pour le titre appelé "Titre formaté" pour la liste des films et dans les modèles HTML. Désormais, il est possible d'avoir un titre personnalisé sur le même principe que les autres champs virtuels et vous pouvez même y insérer un champ virtuel que vous aurez déjà créé.
Cliquer sur l'image pour l'agrandir
Pour ce faire, menu Outils - Préférences - Format des titres.
Les scripts
Il existe des scripts pour récupérer des informations sur les films sur Internet et des scripts pour automatiser certaines opérations sur les champs de tous ou certains films dans le catalogue. C'est de cette deuxième catégorie dont il sera question.
Cliquer sur l'image pour l'agrandir
Pour accéder aux scripts, il faut aller dans le menu Outils - Scripts.
Première chose à faire à chaque fois : bien vérifier ce qui est coché dans la zone Limitation du script (à droite). Imaginez que vous ayez sélectionné quelques films et que la case Tous ou Visibles soit cochée. Si vous appliquez votre script, TOUS les films seront affectés et non juste ceux que vous aviez sélectionnés. Dans ce cas précis, il fallait cocher donc Sélection. Visibles s'applique aux résultats d'une recherche et Cochés n'a pas besoin d'être explicité.
Vous pouvez sélectionner un script existant (si comme indiqué au début de cette série de tutoriels, vous avez indiqué un dossier pour vos scripts qui soit le même que votre catalogue, vous rangerez vos scripts à cet endroit et au redémarrage, AMC les affichera dans la liste) et l'appliquer en cliquant sur Exécuter ou bien l'éditer en sélectionnant l'onglet Éditeur. Si vous ne sélectionnez aucun script et cliquez sur Éditeur, vous pourrez alors en créer un nouveau.
Voici une sélection de scripts trouvés sur les forums d'AMC qui m'ont été utiles à point nommé et comme AMC existe depuis plus d'une décennie, vous me remercierez du temps économisé pour la recherche. Et ne vous sentez pas trop intimidés, moi non plus je n'y connais rien en scripts mais j'ai réussi à me débrouiller comme un chef avec ceux que je vous présente. Dernier conseil, et pas des moindres : faites des sauvegardes de vos catalogues avant chaque modification importante, une mauvaise manip étant tellement vite arrivée !
Pour trouver les codes des champs qui vous intéressent et adapter les scripts à vos besoins, il faut aller fouiner dans le fichier d'aide fourni avec le logiciel.
Renommer un champ
Dans cet exemple, on veut renommer le genre d'une série de films en Comédie.
program NewScript;
begin
SetField(fieldCategory, 'Comédie');
end.Renommer un champ selon son contenu
Ici, on veut franciser des résultats obtenus en anglais par un script Internet, toujours avec le champ Catégorie.
program NewScript;
var
s: string;
begin
s := GetField(fieldCategory);
if s = 'Comedy' then s := 'Comédie';
if s = 'Detective' then s := 'Policier';
if s = 'Fantasy' then s := 'Fantastique'; // etc...
SetField(fieldCategory, s);
end.Remplacer le contenu d'un champ par celui d'un autre
On souhaite remplir le champ Titre (ou Titre traduit) avec le contenu du champ Titre original.
program NewScript;
begin
SetField(fieldTranslatedTitle,
GetField(fieldOriginalTitle));
end.Capitalisation des titres (VF et VO)
program NewScript;
begin
SetField(FieldTranslatedTitle, AnsiLowercase(GetField(FieldTranslatedTitle)));
SetField(fieldOriginalTitle, AnsiLowercase(GetField(fieldOriginalTitle)));
SetField(FieldTranslatedTitle, AnsiUpFirstLetter(GetField(FieldTranslatedTitle)));
SetField(fieldOriginalTitle, AnsiUpFirstLetter(GetField(fieldOriginalTitle)));
end.Remplacer les points dans le champ Titre original par des espaces
program NewScript;
var
s: string;
begin
s := GetField(fieldOriginalTitle);
s := StringReplace(s, '.', ' ');
SetField(fieldOriginalTitle, s);
end.Champs personnalisés
Tous les scripts peuvent s'appliquer aux champs personnalisés mais le libellé varie un peu. Dans les commandes Get ou Set on remplace Field des champs prédéfinis par CustomField pour les champs personnalisés et l'étiquette FieldCodeduchamp des champs prédéfinis devient 'Codeduchamp'. Voici un exemple concret :
- Champ prédéfini : SetField(FieldCategory, 'Comédie')
- Champ personnalisé : SetCustomField('Category', 'Comédie')Voilà, j'espère que ces quelques astuces vous auront été utiles et n'hésitez pas à demander de l'aide sur les forums d'AMC — les développeurs sont francophones. À suivre pour une autre série de tutoriels et fichiers à télécharger concernant la gestion de collections comme des livres ou de la musique, toujours avec AMC.
Ey@el
Articles connexes
La reproduction du contenu de ce billet est strictement interdite.
© lapensinemutine.eklablog.com. Tous droits réservés.Tags : tutoriel, téléchargement, eyael
-
Commentaires