// Fig.spr - v1.1 © 2001 Escot-Sep christophe

// Affiche une image centrée avec une légende en dessous
// La légende est automatiquement préfixée par Fig. suivit du numéro d'ordre
// Les numéros d'ordres sont calculés lors de la compilation


// 2 paramètres sont utilisés
// img = chemin vers l'image
// imgx = chemin vers une autre image, avec x numero de 2 à ...
// titre = légende de l'image

// Fig.spr maintient aussi à jour des variables globales pour Table_fig.spr
// table_fig.spr affichera la liste de toutes les légendes et les liéera
// aux images


// déclaration variables
var bmp,titre,index_s,texte,s:string;
i:integer;
begin


// on défini le code de la marque de notre image, en injectant le chemin vers celle-ci
bmp := format('<<BMP(C,%s,,,,1,1)>>',[GetParam( 'img','')]);

i := 2;
s := GetParam('img'+inttostr(i),'');
while s<>'' do
begin
bmp := bmp+' '+format('<<BMP(C,%s,,,,1,1)>>',[s]);

i := i + 1;
s := GetParam('img'+inttostr(i),'');
end;
// comme la légende ne peut pas contenir directement des , on doit les remplacer
// lors de l'insertion sous help&web par des ^, on inverse cela donc dans le script
// pour bien afficher des virgules
texte := replace(GetParam('titre',''),'^',',');

// on récupère le bon numéro d'ordre uniquement si l'on est en phase de compilation

if isCompilation then
begin
i := getVarInt('idxFig',0);
i := i + 1;
setVarInt('idxFig',i);
index_s:=intToStr(i);
end else index_s:='?'; // autrement on affiche un ?

// la légende sera affichée en utilisant le style css img-legend
titre:= format('<<FNT(img-legend.Arial,9,$000000,G:Fig. %s %s)>>',[index_s,texte]);

// on défini les variables globales qui seront utilisé par table_fig.spr
// pour construire la table des illustrations
setVarString('FIG_'+index_s+'_Texte',texte);
setVarString('FIG_'+index_s+'_Link',GetNomof(getnum));

// on défini un paragraphe centré
writeln('<<ALIGNE : Centré>>');
// on place un signet sur l'image pour pouvoir y accéder directement
// on y accole notre image

writeln('<<ICB(FIG_')>>+index_s+<<FNT(STRING.-,-,-,-:')>>'+bmp);
// on affiche dessous la légende
writeln(titre);
// on ferme le paragraphe
writeln('<<¶>>');
end;
end.

Sommaire