Les directives conditionnelles vous permettent de choisir d'intégrer ou non des passages de vos rubriques, en fonctions de symboles définis depuis le menu Projet|Configurer|Compilation|Conditions ou depuis l'éditeur d'objets associés.

Fig. 156 Directives conditionnelles

Help&Web prédéfinissant :

_HLP_ Format HLP ( 16 ou 32 bits )
_HLP31_ Format HLP 16 bits
_HLP95_ Format HLP 32 bits
_HTML_ Format HTML
_HTMLHELP_ Format CHM (HtmlHelp)
_WEB_ Format HTML mais pas HtmlHelp
_RTF_WORD_ RTF pour Word
_PDF_ Format PDF
_ISRUB_POPUP_ Si la rubrique est un POPUP
_ISRUB_CHAPITRE_ Si la rubrique est un CHAPITRE
_ISRUB_MATIERE_ Si la rubrique est dans la Table des matières
_ISRUB_DYNAMIQUE_ Si la rubrique est créée par script
_RUB_NOMRUBRIQUE_ Si la rubrique porte ce nom
_SUB_NOMRUBRIQUE_ Si la rubrique porte ce nom ou est une de ses sous-rubriques
_APERCU_ Si on fait juste un aperçu
_RSS_ Si la rubrique est exportée au format RSS
PROFIL Teste le profil actif
THEME Teste le thème actif

Vous pouvez aussi réagir en fonction du nom de fenêtre de votre rubrique (WINDOW=nom), d'un objet assigné à la rubrique (objet=valeur, objet<>valeur , objet ou objet>valeur) ) et au numéro de version de votre projet ou de la rubrique (VERSION=6.0, VERSION>=2.1, VERSION<=5.8, VERSION_TOPIC<4.0 ou VERSION_TOPIC>6.1 )

Depuis un script de rubrique vous pouvez aussi tester les conditions au travers de la fonction condition

If condition(_HLP_) then
begin
...
end else if condition('Fond=true') then
begin
...
end;

La condition _APERCU_ vous permet de ne pas réaliser des actions longues qui sont inutiles dans ce contexte, c'est le cas du composant search qui ne réalise l'indexation du projet que lors d'une compilation complète!

17

Vous pouvez mixer dans un projet, des portions spécifiques à telle ou telle cible.



Shéma #IF(Symbole) ... #END

Le schéma #IF(symbole) ... #END compile le contenu de la rubrique entre #IF et #END seulement si le symbole est défini.
Si la condition est fausse, le texte source entre les deux directives est ignoré.

Shéma - #IF(Symbole) ... #ELSE ... #END

Le code source d'un schéma #IF(Symbole) ... #ELSE ... #END est compilé lorsque les conditions suivantes sont remplies :

Si #IF(Symbole) est vraie, le texte entre #IF et #ELSE est compilé.
Si #IF(Symbole) est faux, le texte entre #ELSE et #END est compilé.

Les schémas conditionnels peuvent êtres imbriqués.

16
Vous pouvez aussi exclure directement des rubriques de la compilation.

Sommaire