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.
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_) thenbegin
...
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!
17Vous 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