// déclaration variables
var MaxResume,MaxChild,First,Last,i,start,Level:integer;
Projet,source,css,cssLink,csstitre,OpenMarkResume,CloseMarkResume,InfoLink,titre,
OpenMarkTitre:string;
begin
// obtenir le nombre total de sous rubrique
MaxChild := GetChildCount;
Projet := GetProjet;
MaxResume := StrToInt(GetParam('MaxResume','0'));
//
if MaxResume=0 then MaxResume := MaxChild;
css := GetParam('css','');
cssLink := GetParam('cssLink','');
cssTitre := GetParam('cssTitre','');
InfoLink := GetParam('InfoLink','<<FNT(-,-,-,G:Lire)>>');

if css<>'' then
OpenMarkResume := '<<WEB(<blockquote class="')>>+css+<<FNT(STRING.-,-,-,-:'">)>>' else OpenMarkResume := '<<WEB(<blockquote>)>>';

CloseMarkResume := '<<WEB(</blockquote>)>>';

if cssTitre<>'' then OpenMarkTitre := '<<WEB(<h3 class="')>>+cssTitre+<<FNT(STRING.-,-,-,-:'">)>>' else
OpenMarkTitre := '<<WEB(h3)>>';

// ne travailler que s'il y a des enfants
if MaxChild>0 then
begin

// on ne va résumer que les sous-rubriques directes
Level := GetLevelOf(Getnum) + 1;

if GetParam('OrderBy','FirstToEnd')='FirstToEnd' then First := GetNum+1 else First := Maxchild - Maxresume;
if First < GetNum+1 then First := GetNum+1;
Last := First + MaxResume - 1;

//if Last>Maxchild then Last := MaxChild;



for i:=first to Last do
begin

if Level = GetLevelOf(i) then
begin
Titre := GetTitreOf(i);
source := GetTextOf(Projet,Titre);

// on veut extraire le texte situé entre <<FIN ZONE FIXE>> et le premier retour chariot
start := pos('<<FIN ZONE FIXE')>>,source);

<<FNT(KEYWORD.-,-,-,-:if)>> start><<FNT(NUMBER.-,-,-,-:0)>> <<FNT(KEYWORD.-,-,-,-:then)>>
<<FNT(KEYWORD.-,-,-,-:begin)>>
<<FNT(COMMENT.--,-,-,-:// on empute le début)>>
source := copy(source,start+<<FNT(NUMBER.-,-,-,-:15)>>,length(source));
<<FNT(COMMENT.--,-,-,-:// on cherche la fin de la balise)>>
start := pos(<<FNT(STRING.-,-,-,-:'>>'
,source);
if start>0 then source := trim(copy(source,start+2,length(source)));
end;


// maintenant on va chercher le retour chariot délimité par les caractère #13#10
start := pos(#13+#10,source);
if start>0 then source := trim(copy(source,1,start-1));
if source<>'' then
begin
if not Condition('_HTML_') then
writeln('<<FNT(')>>+cssTitre+<<FNT(STRING.-,-,-,-:'.-,-,-,-:')>>+Titre+<<FNT(STRING.-,-,-,-:')>>'+ #13+#10)
else write(OpenMarkTitre+Titre+'<<WEB(/h3)>>');


source := source +#13+#10+#13+#10+InfoLink+'<<MCR(JI(qchPath,`')>>+GetTitreOf(i)+<<FNT(NUMBER.-,-,-,-:#39)>>+<<FNT(STRING.-,-,-,-:'):<<FNT(')>>+cssLink+<<FNT(STRING.-,-,-,-:'.-,-,-,-:')>>+<<FNT(STRING.-,-,-,-:' ')>>+titre+<<FNT(STRING.-,-,-,-:')>>)>>';
write(OpenMarkResume);
writeln(source);
writeln(CloseMarkResume);
end;
end;
end;

end;

end;
end.

Sommaire