Newsgroup: it.comp.lang.visual-basic
Titolo: Generazione di help

Dovrò - prima o poi - fare l'help per questa mia applicazione.
Oltre al tradizione strumento microsoft ce ne sono in giro un
paio che mi allettano.
Dato però che la mia connessione a dorso di mulo non mi
consente di scaricarli e provarli entrambe in tempi ragionevoli,
mi chiedevo se magari qualcuno di voi li utilizza e se si quali
possano essere i punti di forza.
In particolare il ComponentOne Doc-To-Help.
Mi piacerebbe un programma che mi scrivesse lui l'help, non
ovviamente (ed anche utopico) il testo, ma se non altro si
analizzasse il sorgente e capisse dove c'è bisongo di help. Non
sò in corrispondenza dei msgbox per esempio ... o di quache
altro elemento tarabile dall'utente ... e/o similari (forse vaneggio).
--
Saluti
Andrea Moro

 altro elemento tarabile dall'utente ... e/o similari (forse vaneggio).
io uso "CollegaIdiota 1.0" in pratica prendi uno che non ha mai visto il tuo
prg , digli cosa dovrebbe fare e poi digli : USALO !
Attento, adesso analizza tutte le reazioni, i movimenti dei muscoli facciali
ecc..
annotati tutto , spece le sue domande del tipo "perche' non funziona cosi?"
e butta giu' 2 righe , tanto non le legge mai nessuno , io oramai faccio un
help sommario in html con 2 o 3 screenshot ma si sa' , io faccio prg per
utonti comunali quelli della peggior spece , quelli che per intenderci se
una volta cliccata l'icona non parte il programma (per un loro errore )  si
mette seduto a fumare e quando passa un superiore dice : "Dobbiamo chiamare
la XXXXX , qui non funzionano i programmi, ci ho provato tutta la mattinata
... ho perso un sacco di tempo... "
^_^
-- 
<Gigio2K>
Sito Comune
Nokia -> I.T.H.N. -> 
http://www.ithn.it/
VB -> I.C.L.VB -> 
http://www.it-lang-vb.net/

Beh quella è la fase di beta testing ... io mi riferivo al manuale che
poi gli altri dovrebbero leggersi invece di rompere le palle :)
-- 
Saluti
Andrea Moro

 poi gli altri dovrebbero leggersi invece di rompere le palle :)
No, nessuno lo legge. E se un utente, in un impeto di curiosità, l'avesse
mai letto una volta, tranquillo che se c'è un problema non tenterà di
risolverlo leggendo il manuale, ma ti telefona.
Però il manuale deve esserci e deve riportare le risposte a tutte le
possibili domande (dopo un po' di uso, le FAQ nascono da sole, basta
integrarle) per poter dire "ma lei il manuale l'ha letto?"... e magari
fatturare l'assistenza (pur se c'è il contratto) per ... "manifesta
negligenza", più volgarmente detta "ma perchè mi rompi le palle se ti
bastava leggere?"

Si perň dei prodotti che utilizzate non mi dite niente  :P
-- 
Saluti
Andrea Moro

 Si perň dei prodotti che utilizzate non mi dite niente  :P
Il banalissimo Help WorkShop, nemmeno HTML...

 No, nessuno lo legge.
Quoto e sottoscrivo anche ciò che ho tagliato. Ho discusso
l'altro ieri con una collega che insisteva (con tono isterico) che
"questo programma non funziona !"
Il messaggio d'errore, che lei si è caparbiamente ed esplicitamente
_rifiutata_ di leggere "perché non sono fatti miei, se c'è un errore
io chiamo il tecnico" diceva testualmente:
"Impossibile aprire un file di tipo .RTF con Corel Draw. Provare
con il comando 'Importa'."
La cosa che mi ha fatto inca##are come una scolopendra con
le scarpe strette è stata che insisteva a dire che "prima funzionava,
ora si è bloccato e non lo fa più, ma prima funzionava !!!"
Ma quando mai ?
Bye, G.

Pap ... ma perchè non fai come feci io dentro un ufficio. Tiri su
un piccolo e banale sistema di tracking delle chiamate, e a fine
settimana consegni il report al capo ufficio o il testone di turno.
Ue, dopo due settimane ti chiamavano se il computer non partiva
nemmeno dopo averlo preso a mazzettate con la mazza da 8 kg.
-- 
Saluti
Andrea Moro

Mumble ... gratuito ... semplice ... però rompicazzo per il
fatto che ti devi andare a mappare tutti i msgbox o tutti i punti
di programma con un indice in modo da far aprire la guida
al punto giusto vero?
Ciao
Andrea

*Andrea Moro* ha scritto:

Vero, ma, volendo contestualizzare l'help al massimo, la proprietà
HelpContextID di un controllo (o, comunque, quella che consente di
individuare, anche in un MsgBox, il contesto esatto in un file/multifile di
help) può essere assegnata anche dinamicamente. Quando si struttura l'help
(o quando si aggiunge un nuovo "topic") basta prevederne una "chiave"
univoca (il numero di map) e implementare un sistema, per esempio un file
TXT che faccia da interfaccia fra le "chiavi" dell'help e "chiavi" del
programma (parte di Tag dei controlli, costanti stringa nel programma,
etc.), che la possa assegnare dinamicamente ai vari oggetti/punti del
programma, senza dover ricompilare ogni volta...

Puoi approfondire con un esempio per favore?
-- 
Saluti
Andrea Moro

 Puoi approfondire con un esempio per favore?
Ipotizziamo di voler assegnare la HelpContextID del controllo corrente, in
modo che premendo F1 venga visualizzato l'argomento specifico abbinato a
quel controllo, per esempio un TextBox. Puoi assegnare tale proprietà a tale
TextBox già in fase di progetto e sei a posto (nel senso che l'avrai
immediatamente disponibile), ma, in caso di piccola/grande ristrutturazione
dell'help sarai costretto a "rincorrere" tutti i numerelli, cambiarli (con i
rischi conseguenti e una noia mortale) e ricompilare.
Immagina invece di dare un nome (univoco) all'argomento specifico, ne
determini una chiave e la metti, sempre per esempio, nella Tag del controllo
(l'ipotesi vale ovviamente anche per un intero form che potrebbe rimandate
all'argomento più generale, ma sempre relativo alle funzionalità del form
stesso). Supponiamo che la chiave sia "Numero_Fattura". Beh, a questo punto
ti interfacci  con qualcosa di esterno al programma (per esempio un TXT che
hai preventivamente composto con una sintassi libera e adeguata) e vai a
scoprire a quale numero (Map o ID) corrisponde quella "chiave" (un po' come
si potrebbe fare per la gestione multilingua di un singolo messaggio).
A questo punto il gioco è praticamente fatto:
        cdl_dialogo.HelpCommand = cdlHelpContext
        cdl_dialogo.HelpContext = numero_map    '<---
        cdl_dialogo.HelpFile = percorso_e_nome_del_file_help
        cdl_dialogo.ShowHelp
Il vantaggio sostanziale è che quel numero e quella chiave sono abbinabili
dall'esterno, senza dover ricompilare il programma (ovviamente se lo stesso
prevede già nei vari punti le "chiavi" corrette) e modificabili in ogni
momento. Se si scopre un errore e/o se cambia la struttura dell'help basterà
adeguare i _nuovi_ numeri alle _vecchie_ chiavi. Ovviamente ogni nuova
procedura dovrà prevedere al suo interno le chiavi, presumibilmente nuove, e
il TXT dovrà essere adeguato per il nuovo (o i nuovi) argomento.
Un modo semplice per iniziare, può essere quello di dire: "non mi interessa,
per ora, contestualizzare il singolo oggetto, ma solo ogni singolo form". In
questo caso, in modo molto più semplice, basterà recuperare (sto sempre
ipotizzando il TXT esterno) il numero_map corrispondente al nome del form,
attivare una Sub/Function generica che riceve tale numero e si limita ad
esporne l'argomento abbinato.

 nemmeno dopo averlo preso a mazzettate con la mazza da 8 kg.
Quelli non erano utOnti veri... :-)
Bye, G.

Thanks ,... molto chiaro.
-- 
Saluti
Andrea Moro
Sito Comune : 
http://www.it-lang-vb.net

 le scarpe strette
What's SCOLOPENDRA ??????
:-D

 What's SCOLOPENDRA ??????
Visto mai un centopiedi ? :-)
http://images.google.it/images?q=scolopendra
Bye, G.