Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fichier d'aide (chm)

3 réponses
Avatar
François
Bonjour,
J'ai créé des modèles de document (Word) qui intégrent beaucoup
d'instructions VBA. Pour que tous les utilisateurs puissent aisément
paramétrer ces modèles de document, j'aimerai qu'un fichier d'aide (du même
type que ceux rencontrés dans Windows ou dans Office) soit à leur
disposition. J'ai donc 2 questions :
Est-ce facilement réalisable ?
Les logiciels sont-ils gratuits; si oui, où les trouver ?
Merci

3 réponses

Avatar
Jean-Claude BELLAMY
Dans le message :,
François a pris la peine d'écrire ce qui suit :
Bonjour,
J'ai créé des modèles de document (Word) qui intégrent beaucoup
d'instructions VBA. Pour que tous les utilisateurs puissent aisément
paramétrer ces modèles de document, j'aimerai qu'un fichier d'aide
(du même type que ceux rencontrés dans Windows ou dans Office) soit à
leur disposition. J'ai donc 2 questions :
Est-ce facilement réalisable ?


Tout dépend de ton niveau et de ton expérience.
Je serais tenté de répondre OUI, mais j'ai des octets au compteur ! ;-)

Ce n'est pas compliqué, mais il y a plein de petites choses auxquelles il
faut songer .
Il te faut HHW (HTLM Help Workshop, qui est un éditeur) et HHC.EXE (HTLM
Help Compiler = le compilateur générateur de fichier CHM)

Les logiciels sont-ils gratuits; si oui, où les trouver ?
Dans le "HTML Workshop"

http://go.microsoft.com/fwlink/?LinkId188 -> HTMLHELP.EXE
(autoextractible de 3426 ko, 43 fichiers)
Il contient tout ce qui est nécessaire (hhw.exe, hhc.exe, ...) et en
particulier HTMLHELP.CHM qui est un fichier d'aide CHM qui explique très
bien comment créer ... des CHM !
Attention, il n'existe qu'en anglais !


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] -
http://www.bellamyjc.org ou http://jc.bellamy.free.fr

Avatar
François
Bonsoir,
Effectivement, la construction d'un fichier "chm" est assez facile, le plus
long étant d'écrire tous les Topics. Cependant, il y a une chose dont je
n'ai pas dû saisir toutes les nuances, c'est la définition des ContextID. Si
quelqu'un pouvait m'expliquer simplement ce dont il s'agit, cela m'aiderait
grandement.
Merci
Avatar
Jean-Claude BELLAMY
Dans le message :%23$,
François a pris la peine d'écrire ce qui suit :
Bonsoir,
Effectivement, la construction d'un fichier "chm" est assez facile,
le plus long étant d'écrire tous les Topics. Cependant, il y a une
chose dont je n'ai pas dû saisir toutes les nuances, c'est la
définition des ContextID. Si quelqu'un pouvait m'expliquer simplement
ce dont il s'agit, cela m'aiderait grandement.


Les contextID sont des identificateurs qui servent à faire le"pont" entre le
fichier CHM et le programme (écrit en C, Delphi, ...) , afin de créer une
aide contextuelle.

Par exemple, dans mon programme "SuperExec", j'ai créé un CHM dans lequel la
section ALIAS contient une déclaration
PARAMS=params.htm;Paramètres

"params.htm" étant la page d'aide consacrée aux paramètres du logiciel.
J'ai défini un fichier d'entête "superexec.h" (déclaré dans la section
"MAP")
Ce fichier contient :
...
#define LEGEND 1006
#define PARAMS 1007
#define STARTUP 1008
#define ADMIN 1009
#define COMPUTER 1011
...
avec lequel j'ai attibué (arbitrairement) la valeur 1007 à "PARAMS"

Coté Delphi, j'ai déclaré la même série de constantes :

const
...
HH_LEGEND = 1006;
HH_PARAMS = 1007;
HH_STARTUP = 1008;
HH_ADMIN = 1009;
HH_COMPUTER = 1011;
...

Dans la boite de dialogue où je définis les paramètres de l'appli, j'ai
prévu un bouton "Aide" qui appelle la procédure suivante :

procedure TForm8.BtnHlpClick(Sender: TObject);
begin
HtmlHelp(Application.Handle,pchar(HelpFullName),HH_HELP_CONTEXT,HH_PARAMS);
end;

"HtmlHelp" est une fonction de l'API contenue dans le contrôle ActiveX
"hhctrl.ocx"
"HH_HELP_CONTEXT" est une constante définie dans la même API (= $000F)

"HelpFullName" est une variable qui contient le nom de mon fichier CHM.



Est-ce que tu y vois plus clair ?

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] -
http://www.bellamyjc.org ou http://jc.bellamy.free.fr