Home Page
  Programmazione
   I Miei Progetti
   Come fare
     Gestire i processi
     Screen Saver
     File Help
   VB e Libri
   Download



Creare i file Help - Prima parte

Una delle caratteristiche peggio documentate di Visual Basic e' la possibilita' di creare un supporto in formato Hlp (Windows Help) per la propria applicazione. Questo corso ha lo scopo di insegnare le basi per la pianificazione e la creazione di un Help e la sua integrazione con il programma Visual Basic.

Un file HLP e' costituito da una serie di pagine, ossia di Topics. Ognuna di esse e' identificata in modo univoco all'interno del file da un nome, inoltre presenta un titolo visibile all'utente (qualcosa di analogo alle proprieta' Name e Caption). Opzionalmente una pagina puo' avere una serie di parole chiave associate; implementando questa caratteristica, ricercando nell'help una parola verra' mostrata la pagina relativa.

Un file di help generalmente si compone di un solo documento RTF, anche se teoricamente se ne potrebbero usare di piu' per dividere una grande quantita' di dati. Le istruzioni seguenti ammettono che si utilizzi un solo documento RTF (che sarebbe la traccia da cui viene compilato l'HLP) e che lo si scriva con Microsoft Word, ma con poche modifiche esse possono essere applicate a qualunque editor RTF.

Il compilatore che trasforma il documento RTF in HLP accetta certe convenzioni da parte del documento Rich Text Format. Ogni Topic e' separata dalle altre mediante un Page Break, ma vengono considerati solo i break inseriti manualmente: quelli automatici (in chiaro) vengono ignorati.

Per assegnare nome, titolo e keywords ad una pagina bisogna inserire prima del primo carattere della pagina tre Footnotes, ma invece dei numeri bisogna impostare tre codici convenzionati: # per il nome della pagina, $ per il titolo e K per le parole chiave. Se ad esempio, si vuole chiamare una pagina SOMMARIO, bisogna inserire la nota con il carattere #, quindi digitare la parola SOMMARIO come corpo della Footnote. Per indicare piu' parole chiave occorre separarle mediante un punto e virgola

Questa operazione, indispensabile per tutte le pagine dell'Help, puo' essere automatizzata con una macro simile alla seguente (potete copiarla e incollarla in Word come macro, poi magari assegnarla ad un pulsante custom delle toolbar):

Sub MAIN
Begin Dialog UserDialog 190, 190, "Parametri"
TextBox 14, 29, 160, 18, .tname
TextBox 13, 67, 160, 18, .cname
Text 14, 52, 79, 13, "Page Title", .Text2
TextBox 14, 105, 160, 18, .kname
Text 14, 91, 73, 13, "Keywords", .Text3
Text 16, 14, 92, 13, "Topic Name", .Text1
OKButton 52, 148, 88, 21
End Dialog
Dim dlg As UserDialog
Dialog(dlg)
StartOfLine
InsertFootnote .Reference = "#", .NoteType = 0
Insert UCase$(dlg.tname)
OtherPane
CharLeft 1
InsertFootnote .Reference = "$", .NoteType = 0
Insert dlg.cname
OtherPane
CharLeft 1
InsertFootnote .Reference = "K", .NoteType = 0
Insert dlg.kname
OtherPane
End Sub

Una convenzione molto utile e' di mantenere semre i nomi delle Topic in maiuscolo.

Una volta definite le proprieta' di ogni pagina, come impostare i collegamenti?
I "salti" tra le pagine sono di due tipi: popup e links. Quando si fa click su di una parola sottolineata a puntini compare una finestra di popup con un'altra pagina, ma dopo si ritorna subito alla precedente. Quando la sottolineatura e' piena, il link porta direttamente alla nuova pagina. I codici per queste due operazioni sono la sottolineatura semplice (per i popup links) e quella doppia (per i links "veri"). Siccome questa ultima formattazione e' la piu' usata ma non compare in Word, e' consigliabile di creare un apposito pulsante associato a questo comando. Per indicare la pagina di destinazione del link, comunque esso sia, occorre far seguire alla parola sottolineata il nome della Topic, IN CARATTERI NASCOSTI. Sono quei caratteri che Word non vi fa vedere a meno che non attiviate quel pulsante con la P rovesciata. Esso mostra i caratteri di ritorno a capo, i Tab, gli spazi, e tutto il testo NASCOSTO del documento. Per creare gli Help si lavora quasi sempre con i caratteri nascosti attivi.

Ad esempio, per creare un link "vero" ad una pagina chiamata SOMMARIO (quindi con una Footnote # con scritto SOMMARIO) contrassegnato dalla frase Vai al Sommario, occorre formattare questa frase con doppia sottolineatura, e SUBITO DOPO scrivere SOMMARIO, quindi impostare questa parola in Hidden (nascosto).
Siccome il pulsante di formattazione Nascosto non e' disponibile in Word, e' utile aggiungerlo alla Toolbar perche' creando gli Help se ne fa largo uso.
Un'altra macro molto utile e' lo SmartLink: selezionando una parola e premendo il pulsante associato viene richiesto il nome della pagina destinazione: il resto e' automatico. In questo modo non c'e' neanche bisogno di vedere i fastidiosi caratteri nascosti. Ecco il codice della macro:

Sub MAIN
Begin Dialog UserDialog 330, 76, "Microsoft Word"
TextBox 13, 25, 300, 18, .tname
Text 102, 6, 111, 13, "Target del link", .Text1
OKButton 112, 46, 88, 21
End Dialog
Dim dlg As UserDialog
Dialog dlg
DoubleUnderline
CharRight 1
Hidden
Insert UCase$(dlg.tname)
Hidden
DoubleUnderline
End Sub

A questo punto, la struttura dell'Help e' completa: un documento RTF (a proposito, bisogna salvare in questo formato e non come DOC !) con tante Topic, una per pagina, ognuna identificata da Nome, Titolo e Keywords, e con numerosi link, popup e non. I link sono seguiti dal nome della destinazione in caratteri nascosti.

Per includere bitmaps nell'help, si puo' procedere per riferimento o per incorporamento. Il secondo metodo, seppure occupi un po' piu' spazio, e' il piu' semplice e veloce. Si inserisce l'immagine come si farebbe per un documento normale ed essa viene inclusa nel file Help.

Nota importante: gli apici e i doppi apici vengono automaticamente sostituiti da Word con quelli speciali, di apertura e chiusura. Questi ultimi non fanno parte del set di caratteri riconosciuti da HC, quindi vengono ignorati nella creazione dell'HLP. E' necessario disattivare la sostituzione automatica degli apici e delle virgolette durante la creazione del file RTF.


Seconda Parte.
Inizio Pagina | Home Page | AF's PORTAL | Contatti
Le diciture (Marchi, Aziende, etc) coperte da Copyright citate in queste pagine sono dei rispettivi proprietari. Il sito www.andreafabbrucci.it
NON responsabile del materiale presente in altri siti accessibili dai propri link che non rispettano le norme attualmente viggenti.