Resumen Tutorial para creacion de HLPs

Saludos listeros:

Hace poco más de un mes comenteé que estaba preparando un fichero que explica cómo preparar un archivo de ayuda en formato HLP.

Fueron varios los que me lo pidieron, pero por cuestiones personales me fue imposible traerlo hasta hoy.

Siento el retraso, pero más vale tarde que nunca.

Espero que os sirva de algo.


Ficheros HLP

    Este tutorial pretende que el usuario se inicie el la creación de archivos de ayuda, llegando al final a poder realizar un fichero HLP con enlaces entre sus páginas.

    Unos en los aspectos en que Windows ha conseguido hacer un estándar es en los ficheros de ayuda. Todo está dirigido por un programa, el WINHELP.

    Cuando programábamos en entornos DOS, una de las principales desventajas que teníamos los desarrolladores era la de brindar ayuda al usuario. Siempre terminábamos por inventar un sistema de ayuda para cada aplicación.

    En Windows, todos los programas usan un mismo sistema de ayuda: los archivos HLP. Hay otros muchos formatos para ficheros de ayuda, pero los primeros fueron estos ficheros. Y es de este tipo de archivos, de los que me voy a dedicar en este tutorial.

Herramientas necesarias:

    Para poder hacer un sistema de ayuda para sus aplicaciones necesitará, básicamente, tres elementos: un editor, un compilador de ayudas, y un visualizador de ayudas.

    Como editor nos vale cualquiera que admita el formato RTF, como compilador de ayuda, nos sirve el que Visual Basic trae, el HC, y como visualizador de estos ficheros, usaremos el propio WINHELP.

    En este tutorial se usará el Word como editor de textos que admite formato RTF.

    Un archivo RTF no es utilizable por el WINHELP, así que previamente hay que compilarlo, y ahí es donde entre en juego el HC (Help Compiler). Esta aplicación no es una aplicación Windows, por lo tanto se ejecutará en entorno DOS. Usaré el Word 6.0 y el HC 3.1, y así podremos crear ayudas que funcionen en Win 3.xx y en 95. Si usásemos el HC 4.0, que viene con el SDK de windows 95, no podríamos ver esos archivos con Windows 3.xx.


Un primer ejemplo

    Crearemos un primer ejemplo, sin gráficos ni enlaces. Sólo texto.

    Abrimos el Word y escribimos cualquier texto, con posibilidad de utilizar distintos tipos de letra, tamaños, colores, ....

    Ahora ya estamos en disposición de crear un archivo de poryecto, que es el fichero donde le vamos a indicar al compilador de qué archivos está compuesto nuestro futuro HLP.

    Un archivo de proyecto es un fichero ASCII que podremos crear con cualquier editor de textos, como por ejemplo el EDIT del DOS. En este archivo hay múltiples secciones, tipo a los archivos INI de Windows 3.xx.

    La sección [FILES] contiene la lista de los nombres de archivo que componen nuetro proyecto. Si hemos llamado al texto escrito en Word EJEMPLO.RTF, podríamos crear un archivo de poryectoque se llamara EJEMPLO.HPJ. Lo importante aquí es la extensión, no el nombre, aunque es un buen método llamar al archivo del proyecto como al de texto.

    Tendremos entonces algo así:

    [FILES]
    EJEMPLO.RTF


    Ahora estamos en disposición de compilar el proyecto, así que vamos a llamar al HC y le pasaremos por parámetro el nombre del archivo de proyecto.
No es bçnecesario dar la extensión. En nuestro ejemplo sería: HC EJEMPLO, suponiendo, claro, que nos encontremos en el directorio en el que se encuentra el HC, o que este se encuentre el la instrucción PATH del AUTOEXEC.BAT.

    Una vez realizada la compilación obtendremos un archivo HLP, que será nuestro archivo de ayuda. Este fichero ya lo podemos ver con el WINHELP desde Windows, o lo que es lo mismo, haciendo doble clic sobre él.


Compliquemos las cosas

    Para hacer más de una página, sólo tenemos que introducir saltos de página en nuestro documento RTF. En Word se hace con la combinación de teclas + . Para que el usuario pueda pasar de una página a otra, lo que se hace es asignar un identificador a cada página. Este identificador será único y servirá para facilitar la navegación mediante enlaces.

    Para asignar estos identificadores hay que situar el cursor del Word al comienzo de la página que se quiere “indentificar”. Luego hay que insertar una nota al pie de pa´gina. En Word, encuentra esta opción en el menú Insertar, y la opción Nota al pie. Como marca personal introduciremos una almohadilla (#), que indicará al HC que lo que viene a continuación es un identificador. Al pulsar el botón Aceptar, se abrirá una ventana en la parte de abajo en la que deberá introducir el identificador.

    Una vez tengamos las páginas con un identificador cada una podemos agregar enlaces para ir de unas a otras. Para que el HC sepa que un conjunto de palabras van a actuar en forma de enlace, tenemos que darles el atributo de doble subrayado. Es decir, escribimos el texto, y lo seleccionamos.
Luego, en el menú Formato, en Fuentes, tenemos la opción de doble subrayado, que demos de seleccionar.

    Ahora que ya tenemos un enlace, debemos indicar al HC a dónde lleva dicho enlace. Para ello, justo después del enlace, sin de jar ningún espacio, escribimos el identificador al que hace referencia el enlace.
Además tenemos que dar el atributo de oculto a este identificador. En Formato | Fuentes tenemos el atributo oculto.

    Para que el texto oculto lo podamos ver durante la edición, nos vamos al menú Herramientas, y a la opción Opciones. Ahí tenemos una carpeta que se llama Ver, y dentro de ella, en el grupo Símbolos no imprimibles, activamos la opción Texto oculto.


Desde Visual Basic

    Para que al pulsar la tecla F1 salte la ayuda, el las opciones del proyecto en Visual Basic, hay un campo que pone Help File, o Archivo de Ayuda en su versión española. Ahí escribimos el nombre del archivo de ayuda de la aplicación.

    Además nosotros querer que al estar en una determinada pantalla, al pulsar un botón tengamos que ir a una determinada página del archivo de ayuda. Bien, pues casi todos los controles de VB disponen de una propiedad llamada HelpContextID, cuyo propósito es el de contener un identificador del archivo de ayuda. Este identificador será un número,mediante el cual, nuestro programa VB le dirá a WINHELP donde quiere que se sitúe.

    Para compilar el proyecto añadiremos una sección más: [MAP].

    Esta nueva sección nos ayudará a asociar a cada identificador de texto que hemos introducido un número, para que usa VB.

    [FILES]
    EJEMPLO.RTF

    [MAP]
    Pagina1 10
    Pagina2 20
    Pagina3 30


    Pruebe ahora con el programa VB. Pulse F1 sobre un control al que no le haya asignado nada a esa propiedad (HelpContextID), y luego pulse F1 teniendo el foco sobre otro control al que si le ha puesto uno de esos números an HelpContextID.



Un cordial saludo...

==================================
Si puede imaginarse, puede programarse.
ramon.egido@adecco.es
Programador Senior.



Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com