-
NaÜe p°edchozφ aplikace obsahovala v nabφdce volby pro pou₧φvßnφ nßpov∞dy,
ale ₧ßdnou nßpov∞du se nßm nepoda°ilo zobrazit. Nemßme zatφm vytvo°en soubor
nßpov∞dy. V tΘto kapitole se budeme zab²vat vytvß°enφm nßpov∞dy. Help Workshop
je program, kter² pou₧φvßme k vytvß°enφ soubor∙ nßpov∞d (.hlp), editovßnφ
soubor∙ projekt∙ a obsah∙ nßpov∞d a testovßnφ nßpov∞dn²ch soubor∙. Help
Workshop bere informace z projektovΘho souboru (.hpj), kombinuje je se
soubory prvk∙ nßpov∞d (.rtf), bitov²mi mapami a ostatnφmi zdroji do nßpov∞dnΘho
souboru, kter² potom m∙₧e b²t zobrazovßn programem WinHelp Windows
(bude popsßn v nßsledujφcφ kapitole). Help Workshop je program hcw.exe.
Nenφ nutnΘ vklßdat vÜechny prvky nßpov∞dy do jednoho nßpov∞dnΘho souboru.
Nap°. pokud program, kter² dokumentujeme obsahuje modulßrnφ komponenty,
pak je vhodnΘ vytvo°it samostatn² nßpov∞dn² soubor pro ka₧dou komponentu.
Pokud se u₧ivatel rozhodne neinstalovat komponentu nebo p°idß novou komponentu
pozd∞ji, pak nßpov∞dn² soubor tvo°φ stßle jednu jednotku. Jestli₧e p°idßvßme
soubory k naÜφ rodin∞ nßpov∞dn²ch soubor∙ po jejich vytvo°enφ, pak je musφme
reinicializovat. Reinicializaci nßpov∞dnΘho souboru provedeme p°φkazem
winhelp -g filename.hlp
kde filename.hlp je jmΘno nßpov∞dnΘho souboru, kter² chceme reinicializovat.
Nynφ se s vytvß°enφm nßpov∞dy seznßmφme podrobn∞ji. Nejprve se budeme
zab²vat vytvß°enφm soubor∙ prvk∙ nßpov∞d a zßklady jejich zßpisu.
Vytvß°enφ nßpov∞dy zahßjφme vytvo°enφm soubor∙ s jednotliv²mi prvky
nßpov∞dy. Tento soubor musφ b²t ve formßtu Rich Edit (musφme takΘ pou₧φt
p°φponu RTF). Otev°eme tedy nov² soubor v n∞jakΘm textovΘm editoru, kter²
umo₧≥uje tento formßt pou₧φvat (nap°. MS Word; je vhodnΘ si nejprve vyzkouÜet
vytvo°enφ malΘho souboru nßpov∞dy) a zapφÜeme jednotlivΘ prvky nßpov∞dy.
Ka₧d² prvek nßpov∞dy ukonΦφme pevn²m koncem strßnky. Na zaΦßtek ka₧dΘho
prvku p°ipojφme pot°ebnΘ poznßmky pod Φarou (podle nßsledujφcφho popisu).
Soubor s prvky nßpov∞d ulo₧φme.
Identifikaci prvku nßpov∞dy zadßvßme jako poznßmku pod Φarou oznaΦenou
znakem #. Umφstφme kurzor na zaΦßtek prvku nßpov∞dy a vlo₧φme poznßmku
pod Φarou #. JmΘno identifikace prvku nßpov∞dy mß n∞kterß omezenφ:
m∙₧e obsahovat mezery, ale nesmφ zaΦφnat nebo konΦit mezerou, nesmφ b²t
delÜφ ne₧ 255 znak∙ a nesmφ obsahovat znaky # = + @ * % !. Pokud pou₧φvßme
mapovßnφ, pak nesmφ zaΦφnat Φφslicφ. K umo₧n∞nφ sledovßnφ chyb Help Workshopem,
zaΦφnßme vÜechny identifikace prvk∙, kterΘ mohou b²t volßny z programu
IDH_.
Help Workshop uvede vÜechny nedefinovanΘ prvky, kterΘ zaΦφnajφ
IDH_,
do sekce [MAP] projektovΘho souboru a vypφÜe varovanφ pro prvky IDH_,
kterΘ zde nejsou uvedeny. Pokud chceme pou₧φt skok na specifickΘ mφsto
v prvku nßpov∞dy, pak vlo₧φme identifikaci prvku nßpov∞dy na toto mφsto.
Pro prvek nßpov∞dy zadßme takΘ titulek. Umφstφme kurzor na zaΦßtek
prvku a zadßme poznßmku pod Φarou oznaΦenou $. Titulek m∙₧e mφt
nejv²Üe 255 znak∙.
Prvek nßpov∞dy m∙₧eme takΘ oznaΦit jako cφl ALink (vyhledßvßnφ prvk∙
obsahujφcφch A-klφΦovß slova). Umφstφme kurzor na zaΦßtek prvku a vlo₧φme
poznßmku pod Φarou A. Jako poznßmku pod Φarou v tomto p°φpad∞ zapφÜeme
jedno nebo vφce klφΦov²ch slov, kterΘ odd∞lujeme st°ednφkem. KlφΦovΘ slovo
nesmφ obsahovat vφce ne₧ 255 znak∙, nesmφ obsahovat znak od°ßdkovßnφ a
mezery p°ed a za klφΦov²m slovem jsou odstran∞ny. V klφΦov²ch slovech je
rozliÜovßna velikost pφsmen, ale Help Workshop p°edpoklßdß, ₧e dv∞ klφΦovß
slova, kterß se liÜφ pouze velikostφ pφsmen, jsou stejnß. Help Workshop
zm∞nφ jedno z t∞chto klφΦov²ch slov tak, aby se shodovalo s druh²m a vypφÜe
varovßnφ.
K vytvo°enφ indexovΘ polo₧ky pro prvek nßpov∞dy umφstφme na zaΦßtek
prvku nßpov∞dy poznßmku pod Φarou oznaΦenou K (makro KLink
vyhledßvß prvky obsahujφcφ K-klφΦovß slova) a do poznßmky zapφÜeme seznam
klφΦov²ch slov (majφ stejnß omezenφ jako u poznßmky pod Φarou A).
V p°φpad∞ index∙ lze vytvo°it i druhou ·rove≥ index∙. Provedeme to tak,
₧e v poznßmce zapφÜeme klφΦovΘ slovo prvnφ ·rovn∞ indexu, kterΘ ukonΦφme
st°ednφkem a bezprost°edn∞ za tφmto st°ednφkem zapφÜeme op∞t klφΦovΘ slovo
prvnφ ·rovn∞, nßsledovanΘ Φßrkou nebo dvojteΦkou a po meze°e zapφÜeme klφΦovΘ
slovo druhΘ ·rovn∞ indexu ukonΦenΘ st°ednφkem. Nap°. nßsledujφcφ poznßmka
pod Φarou
K bude v polo₧kßch index∙ zobrazena jak je uvedeno dßle
(Φerven∞):
macro; macro, library; macro, automatic;
macro, complex; macro, simple
macro
automatic
complex
library
simple
Polo₧ky index∙ jsou uvedeny v abecednφm po°adφ a to bez ohledu na jejich
po°adφ v poznßmce pod Φarou. Mezery p°ed a za klφΦov²mi slovy jsou odstran∞ny.
Prvek nßpov∞dy m∙₧eme takΘ za°adit do vyhledßvßnφ. Provedeme to vlo₧enφm
poznßmky pod Φarou oznaΦenΘ +, na zaΦßtek prvku nßpov∞dy. Jako poznßmku
pak zapφÜeme vyhledßvacφ k≤d, kter² nesmφ obsahovat znaky # = + @ * % !
a mezer a nesmφ b²t delÜφ ne₧ 50 znak∙. Pro pou₧itφ vyhledßvacφch sekvencφ
musφme takΘ aktivovat vyhledßvacφ tlaΦφtko v projektovΘm souboru. Help
vytvß°φ auto-vyhledßvacφ sekvence pro prvky, kterΘ majφ p°idßny poznßmku
pod Φarou +, ale bez specifikace vyhledßvacφho k≤du. Kdy₧ pou₧φvßme
Φφsla ve vyhledßvacφch k≤dech, pak je vhodnΘ pou₧φvat ·vodnφ nuly (001,
002, 003 atd.). Pokud nßpov∞dn² soubor mß pouze jednu vyhledßvacφ sekvenci,
pak pou₧ijeme "auto" jako vyhledßvacφ k≤d. Help Workshop automaticky vytvß°φ
prohlφ₧ecφ sekvenci zalo₧enou na po°adφ ve kterΘm prvky nßpov∞dy jsou uvedeny
v naÜich souborech.
K oznaΦenφ prvku nßpov∞dy k vylouΦenφ nebo vlo₧enφ do nßpov∞dnΘho souboru
umφstφme kurzor p°ed ostatnφ poznßmky pod Φarou a vlo₧φme poznßmku pod
Φarou *. ZapφÜeme jednu nebo vφce vytvß°ecφch znaΦek jako text poznßmky.
Vytvß°ecφ znaΦky odd∞lujeme st°ednφky. V naÜem projektovΘm souboru (.hpj),
pak specifikujeme, kterΘ prvky pou₧φt p°i vytvß°enφ. U vytvß°ecφch znaΦek
se nerozliÜuje velikost pφsmen. Prvky nßpov∞dy bez vytvß°ecφch znaΦek jsou
v₧dy zapojeny do vytvß°enφ a to stejn∞ jako vÜechny prvky, kterΘ nejsou
explicitn∞ vylouΦeny z vytvß°enφ v naÜem projektovΘm souboru.
Pro specifikaci typu okna k zobrazenφ prvku umφstφme kurzor na zaΦßtek
prvku a vlo₧φme poznßmku pod Φarou > a zapφÜeme jmΘno typu okna
jak je definovßn v naÜem projektovΘm souboru. Tato poznßmka pod Φarou specifikuje
typ okna prvku nßpov∞dy, p°i otev°enφ ze strßnky Index nebo
Find
nebo makrem ALink nebo KLink. Typy oken musφ b²t definovßny
v naÜem projektovΘm souboru.
Pro specifikaci spouÜt∞nΘho makra p°i otev°enφ prvku nßpov∞dy umφstφme
kurzor na zaΦßtek prvku nßpov∞dy, ve kterΘm chceme zadanΘ makro spouÜt∞t
a vlo₧φme poznßmku pod Φarou ! a jako text poznßmky zapφÜeme p°φkazy
makra. Makra odd∞lujeme st°ednφky a nepou₧φvßme od°ßdkovßnφ.
Pro p°idßnφ nerolovatelnΘ oblasti k prvku nßpov∞dy se ujistφme, ₧e
paragraf nebo paragrafy, kterΘ chceme umφstit do nerolovatelnΘ oblasti
jsou na zaΦßtku prvku nßpov∞dy a na tyto paragrafy aplikujeme styl Keep
With Next (nebo n∞jak² jeho ekvivalent - Svßzat s nßsledujφcφm). Nerolovacφ
oblasti nelze p°idat k prvk∙m, kterΘ budou zobrazeny ve vyno°ovacφch oknech.
M∙₧eme specifikovat r∙znΘ barvy pozadφ pro nerolovatelnΘ a rolovatelnΘ
oblasti.
K zabrßn∞nφ zalamovßnφ °ßdk∙ textu umφstφme kurzor n∞kam do °ßdku,
kter² nechceme zalamovat a aplikujeme styl Keep Lines Together (Svßzat
°ßdky). Pokud text paragrafu je ÜirÜφ ne₧ Üφ°ka okna, pak je p°idßn vodorovn²
posuvnφk.
K vytvo°enφ skoku na prvek nßpov∞dy nebo vysv∞tlenφ hesla ve vyno°ovacφm
okn∞, umφstφme kurzor p°φmo za text (nebo bitovou mapu), pro kter² chceme
skok provΘst a zapφÜeme identifikaci prvku na kter² chceme skoΦit (p°ed
identifikaci nezapisujeme mezeru). Vybereme textov² prvek, pro kter² chceme
provΘst skok a aplikujeme na n∞j styl dvojitΘho podtr₧enφ (pro skok na
dalÜφ prvek nßpov∞dy) nebo styl jednoduchΘho podtr₧enφ (pro vysv∞tlenφ
hesla). Dßle vybereme nßsledujφcφ identifikaci prvku a aplikujeme na n∞j
styl SkrytΘ. Pokud textov² prvek konΦφ znakem interpunkce, pak jej
zahrneme do podtr₧enφ. Jinak se tento znak zobrazφ a₧ na zaΦßtku nßsledujφcφho
°ßdku. K zobrazenφ textovΘho prvku v implicitnφ barv∞ textu (nezelen∞),
vlo₧φme hv∞zdiΦku na zaΦßtek identifikace prvku nßpov∞dy (zahrnujeme jej
do skrytΘho textu). K zobrazenφ textovΘho prvku v implicitnφ barv∞ textu
(nezelen∞) bez podtr₧enφ, vlo₧φme znak % na zaΦßtek identifikace prvku
nßpov∞dy. K vytvo°enφ skoku na prvek nßpov∞dy do jinΘho nßpov∞dnΘho souboru,
vlo₧φme znak @ a jmΘno tohoto jinΘho nßpov∞dnΘho souboru na konec identifikace
prvku nßpov∞dy. Pro specifikace typu okna pro prvek, na kter² chceme skoΦit,
vlo₧φme na konec identifikace prvku nßpov∞dy znak > a jmΘno okna.
Pro p°idßnφ prvku, kter² spouÜtφ makro umφstφme kurzor za text nebo
odkaz na bitovou mapu a zapφÜeme znak ! (bez mezery) a zapφÜeme
p°φkaz makra. Vφce maker odd∞lujeme dvojteΦkou nebo st°ednφkem. Vybereme
text nebo odkaz na bitovou mapu a aplikujeme na n∞j styl dvojitΘho podtr₧enφ.
Vybereme st°ednφk a p°φkaz makra a aplikujeme na n∞j styl skrytΘ.
Pro p°idßnφ bitovΘ mapy k prvku nßpov∞dy vlo₧φme bitovou mapu p°φmo
do souboru na mφsto jejφho zobrazenφ. Jestli₧e chceme pou₧φt vφcenßsobnΘ
instance bitov²ch map, vytvo°φme spojenφ k jejich souboru pomocφ nßsledujφcφ
syntaxe:
{bmx
filename.bmp}
kde x specifikuje zp∙sob zarovnßvßnφ (c - bitovß mapa
se bere jako znak, l - zarovnßvßnφ k levΘmu okraji, r - zarovnßvßnφ
k pravΘmu okraji a t pou₧itΘ v kombinaci s n∞kterou z v²Üe uvedenou
hodnotou - bφlΘ body bitovΘ mapy jsou p°evedeny na barvu pozadφ okna; m∙₧e
b²t pou₧ito pouze pro 16-ti barevnΘ bitovΘ mapy). Vφce bitov²ch map m∙₧eme
specifikovat odd∞lenφm jejich jmen st°ednφky.
Pro p°idßnφ videa nebo animace k prvku nßpov∞dy umφstφme kurzor na
mφsto, kam chceme p°idat soubor multimediφ a zapφÜeme odkaz s nßsledujφcφ
syntaxφ:
{mci filename.ext}
Pro konfiguraci bitovΘ mapy na n∞kolik r∙zn²ch barevn²ch palet s r∙zn²m
poΦtem barev, vytvo°φme soubor bitovΘ mapy pro ka₧dou paletu barev, umφstφme
kurzor na mφsto, kde bitovß mapa mß b²t zobrazena a vytvo°φme p°φkaz bitovΘ
mapy, kter² obsahuje vÜechny tyto jmΘna soubor∙ (odd∞lujeme je st°ednφky).
WinHelp automaticky pou₧ije bitovou mapu, kterß nejvφce odpovφdß nasatavenφ
obrazovky poΦφtaΦe. Nßsleduje p°φklad p°φkazu:
{bml dog_16.bmp;dog_256.bmp;dog_mono.bmp}
-
Po vytvo°enφ souboru s prvky nßpov∞dy se m∙₧eme zab²vat vytvß°enφm projektovΘho
souboru nßpov∞dy. Kdy₧ se rozhodujeme jak² typ informacφ bude zobrazovßn
v hlavnφm okn∞ a jak² v sekundßrnφm okn∞, pak si musφme uv∞domit tato omezenφ:
-
Sekundßrnφ okna nemajφ nabφdku.
-
Sekundßrnφ okna neposkytujφ p°φstup k oknu historie a k zßlo₧kßm.
-
Nelze automaticky urΦovat velikost hlavnφho okna v zßvislosti na dΘlce
textu prvku.
WinHelp obsahuje p°eddefinovanΘ okno nazvanΘ hlavnφ okno, kterΘ mß nabφdku
a °ßdek tlaΦφtek. Toto hlavnφ okno m∙₧eme p°izp∙sobit nebo vytvo°it novß
sekundßrnφ okna. Ve svΘm projektovΘm souboru m∙₧eme definovat a₧ 255 typ∙
oken. WinHelp m∙₧e zobrazit a₧ 10 oken najednou. M∙₧eme p°izp∙sobit tyto
vlastnosti okna: velikost a pozici, barvu pozadφ, text titulku, °ßdek tlaΦφtek,
nabφdky a prvky nabφdek, stav udr₧ovßnφ okna nad ostatnφmi okny, automatickß
zm∞na velikosti okna a makra spouÜt∞nß p°i otev°enφ okna.
Hlavnφ a sekundßrnφ okna mohou mφt °ßdek tlaΦφtek a₧ s 22 tlaΦφtky.
M∙₧eme pou₧φvat standardnφ mno₧inu tlaΦφtek nebo pou₧φt u₧ivatelskou mno₧inu
tlaΦφtek. K definovßnφ u₧ivatelsk²ch tlaΦφtek pou₧φvßme makra. TlaΦφtka
jsou p°idßvßna na °ßdek tlaΦφtek v po°adφ ve kterΘm je specifikujeme. TlaΦφtka
mohou obsahovat pouze text, nemohou obsahovat grafiku.
Na rozdφl od sekundßrnφch oken, hlavnφ okno m∙₧e obsahovat nabφdku.
M∙₧eme pou₧φt standardnφ nabφdky a p°φkazy nebo m∙₧eme p°idßvat novΘ nabφdky
a prvky nabφdky pomocφ maker. P°i volb∞ prvek nabφdky spouÜtφ makra. B∞hem
pou₧φvßnφ nßpov∞dy m∙₧eme n∞kterΘ prvky nabφdky znep°φstupnit. Pro pou₧itφ
maker nabφdky musφme b²t v hlavnφm okn∞. Pokud prvek nßpov∞dy obsahuje
makro, kterΘ p°idßvß prvek k nabφdce, ale prvek je zobrazen v sekundßrnφm
okn∞, pak makro nemß ₧ßdn² efekt.
M∙₧eme specifikovat makra, kterß jsou spouÜt∞na, kdy₧ u₧ivatel otev°e
nßpov∞dn² soubor. Nap°. m∙₧eme pou₧φt makra pro specifikaci voliteln²ch
tlaΦφtek nebo prvk∙ nabφdky pro hlavnφ okno a zp°φstup≥ovßnφ program∙ a
mo₧nostφ mimo nßpov∞dn² systΘm. M∙₧eme takΘ p°i°adit makra k jednotliv²m
typ∙m oken.
M∙₧eme takΘ vytvß°et kontextov∞ zßvislou nßpov∞du. Auto°i nßpov∞dy
a v²vojß°i program∙ obvykle pracujφ spoleΦn∞ p°i implementaci kontextov∞
zßvislΘ nßpov∞dy. Auto°i nßpov∞dy zapφÜφ p°φsluÜnΘ prvky nßpov∞dy a v²vojß°i
programu modifikujφ program k volßnφ p°φsluÜn²ch prvk∙ nßpov∞dy. Jako Φßst
tΘto modifikace, v²vojß° p°i°adφ ΦφselnΘ hodnoty k prvk∙m pro kterΘ u₧ivatel
m∙₧e po₧adovat informace. Potom m∙₧eme mapovat tyto ΦφselnΘ hodnoty na
p°φsluÜnΘ identifikace prvk∙ nßpov∞dy v naÜem projektovΘm souboru. Kdy₧
p°i°azujeme identifikaci prvku nßpov∞dy k senzitivnφmu prvku nßpov∞dy,
pak prvnφ Φty°i znaky v identifikaci prvku musφ b²t IDH_.
TrΘnovacφ karty jsou mno₧ina prvk∙ nßpov∞dy v sekundßrnφch oknech,
kterΘ mohou konfigurovat a zasφlat instrukce a zφskßvat informace od jinΘho
programu. Toto je u₧iteΦnΘ p°i seznamovßnφ s programem krok po kroku. Zda
u₧ivatel provedl krok sprßvn∞ m∙₧e b²t automaticky zhodnoceno v nßsledujφcφm
kroku. V²vojß° m∙₧e pou₧φt API WinHelp ve sv²ch programech k zasφlßnφ informacφ
WinHelp. Autor nßpov∞dy m∙₧e pou₧φt makro TCard ve sv²ch nßpov∞dn²ch
souborech k zasφlßnφ informacφ programu.
K vytvo°enφ novΘho projektovΘho souboru zvolφme v Help Workshopu File
| New, dvojit∞ klikneme na Help Project, zapφÜeme jmΘno vytvß°enΘho
projektovΘho souboru a stiskneme OK. Kdy₧ vytvß°φme projektov² soubor,
Help Workshop konfiguruje minimßlnφ nastavenφ nutnΘ k vytvo°enφ nßpov∞dnΘho
souboru. D°φve ne₧ m∙₧eme nßpov∞dn² soubor p°elo₧it musφme stisknout tlaΦφtko
Files
a specifikovat alespo≥ jeden soubor s prvky nßpov∞dy.
Ke specifikaci umφst∞nφ soubor∙ bitov²ch map, stiskneme tlaΦφtko Bitmaps
a dßle tlaΦφtko Add a specifikujeme slo₧ku, kterß obsahuje soubory
bitov²ch map. Implicitn∞ Help Workshop hledß soubory bitov²ch map ve stejnΘm
adresß°i ve kterΘm je umφst∞n projektov² soubor a souΦasn² soubor s prvky
nßpov∞d a ve vÜech slo₧kßch obsahujφcφch soubory s prvky nßpov∞d. K odstran∞nφ
slo₧ky se soubory bitov²ch map, slo₧ku vybereme a stiskneme tlaΦφtko Remove.
K umo₧n∞nφ programu zobrazovat kontextovou nßpov∞du, stiskneme tlaΦφtko
Map
a kdy₧ chceme p°idat individußlnφ prvek pak stiskneme
Add. Pokud
chceme vlo₧it hlaviΦkov² soubor C, stiskneme Include. Kdy₧ p°i°azujeme
identifikaci prvk∙ ke kontextov∞ senzitivnφm prvk∙m nßpov∞dy, pak musφme
jako prvnφ Φty°i znaky v identifikaci pou₧φt IDH_. Help Workshop
zajistφ, aby prvky nßpov∞d zaΦφnajφcφ t∞mito znaky mohl program volat.
B∞hem p°ekladu, Help Workshop zobrazφ seznam vÜech identifikacφ prvk∙ nßpov∞d,
kterΘ jsou v naÜich souborech s prvky nßpov∞d, ale nemajφ mapovßnφ na ΦφselnΘ
hodnoty. Help Workshop takΘ zobrazφ seznam identifikacφ, kterΘ majφ mapovßnφ
na ΦφselnΘ hodnoty, ale nejsou v naÜich souborech s prvky nßpov∞d. Pou₧φvßnφ
konvence IDH_ nßm pomßhß nalΘzt a °eÜit problΘmy s kontextov∞ senzitivnφ
nßpov∞dou. Pokud chceme pou₧φt jinou p°edponu ne₧ IDH_, pak ji specifikujeme
v dialogovΘm okn∞
Map.
Pro p°ezdφvku jednΘ identifikace prvku na jinΘ, stiskneme tlaΦφtko
Alias,
dßle tlaΦφtko Add a specifikujeme po₧adovanΘ nastavenφ. P°ezdφvky
usnad≥ujφ p°esm∞rovßnφ skok∙ na prvky nßpov∞d beze zm∞n v instancφch skok∙.
P°ezdφvky jsou takΘ u₧iteΦnΘ, kdy₧ provßdφme zm∞ny, kterΘ p∙sobφ na ΦφselnΘ
hodnoty mapovßnφ (p°ezdφvky umo₧≥ujφ zobrazit po₧adovan² prvek v nßpov∞dnΘm
souboru beze zm∞ny k≤du programu.
Pro specifikaci titulku nßpov∞dnΘho souboru, stiskneme tlaΦφtko Options
a v Φßsti Help Title zapφÜeme titulek. Titulek m∙₧e mφt a₧ 127 znak∙.
Pro spuÜt∞nφ makra p°i kliknutφ na polo₧ku indexu, stiskneme tlaΦφtko
Options,
p°ejdeme na strßnku Macros, stiskneme Add a specifikujeme
po₧adovanΘ nastavenφ. SpuÜt∞nφ makra, kdy₧ u₧ivatel klikne na polo₧ce indexu
je u₧iteΦnΘ, pro spouÜt∞nφ pr∙vodce, °ady trΘnovacφch karet nebo DLL. KlφΦovß
slova zde p°i°azena jsou zobrazena v indexech a to bez ohledu na to, zda
jsou specifikovßna jako K-poznßmky pod Φarou v prvcφch nßpov∞d. Specifikovan²
titulek bude zobrazen pouze, pokud u₧ivatel dvojit∞ klikne na klφΦovΘ slovo,
kterΘ je spojeno s makrem a na jeden nebo vφce prvk∙ nßpov∞d. V tomto p°φpad∞,
klikneme na titulek v dialogovΘm okn∞
Topics Found pro spuÜt∞nφ
makra.
Pro p°idßnφ tlaΦφtka Browse do okna, stiskneme tlaΦφtko Windows,
p°ejdeme na strßnku Buttons, v seznamu Window Type vybereme
typ okna a ujistφme se, ₧e v Φßsti Buttons je oznaΦeno Browse.
Pro p°i°azenφ souboru obsahu k nßpov∞dnΘmu souboru, stiskneme tlaΦφtko
Options,
p°ejdeme na strßnku Files a do Φßsti Contents File zapφÜeme
jmΘno souboru obsahu (.cnt).
Dßle se budeme zab²vat p°izp∙sobenφm okna nßpov∞dy. Pro p°idßnφ sekundßrnφho
okna, stiskneme tlaΦφtko Windows, stiskneme Add a zapφÜeme
jmΘno sekundßrnφho okna. Jako jmΘno okna nezapisujeme main. V seznamu,
klikneme na jmΘnu standardnφho okna, kterΘ chceme pou₧φt za zßklad sekundßrnφho
okna. M∙₧eme definovat a₧ 255 sekundßrnφch oken.
Pro p°izp∙sobenφ hlavnφho okna nßpov∞dy, stiskneme tlaΦφtko Windows,
stiskneme Add, zapφÜeme main a stiskneme OK. Na r∙zn²ch
strßnkßch specifikujeme po₧adovanΘ nastavenφ.
K zajiÜt∞nφ aby okno nßpov∞dy bylo implicitn∞ vrchnφm oknem, stiskneme
tlaΦφtko Windows, v seznamu Window Type vybereme okno a ujistφme
se, ₧e v Φßsti Window Attributes je oznaΦeno Keep Help Window
On Top. U₧ivatelΘ mohou zm∞nit toto nastavenφ kliknutφm v okn∞ nßpov∞dy
prav²m tlaΦφtkem myÜi a v zobrazenΘ mφstnφ nabφdce pou₧ijφ volbu Keep
Help On Top.
Pro specifikaci titulku pro okno, stiskneme tlaΦφtko Windows,
v Φßsti Window Type vybereme typ okna a v Φßsti Title Bar Text
zapφÜeme titulek. Titulek je zobrazovßn na titulnφm °ßdku okna a na tlaΦφtku
°ßdku ·loh. Pokud sekundßrnφ okno nemß titulek, ale soubor obsahu pro nßpov∞dn²
soubor specifikuje titulek, pak je pou₧it titulek ze souboru nßpov∞dy.
Kdy₧ sekundßrnφ okno ani soubor obsahu nespecifikuje titulek, pak na titulnφm
°ßdku nenφ zobrazen ₧ßdn² text.
Ke specifikaci velikosti a pozice okna, stiskneme tlaΦφtko Windows,
p°ejdeme na strßnku Position, v Φßsti Window Type vybereme
typ okna a pro nastavenφ velikosti a pozice okna stiskneme tlaΦφtko Auto-Sizer
a provedeme po₧adovanΘ nastavenφ. Pokud chceme aby WinHelp urΦoval pozici
okna, stiskneme Default Position. Velikost a pozici okna m∙₧eme
takΘ nastavit manußln∞ v Φßstech Left, Top, Width
a Height. Kdy₧ chceme velikost sekundßrnφho okna nastavit na dΘlku
prvku, p°ejdeme na strßnku General a ujistφme se, ₧e je oznaΦeno
Auto-Size
Height (tato volba nenφ dostupnß v hlavnφm okn∞ nßpov∞dy).
Pro specifikaci barvy pozadφ okna, stiskneme tlaΦφtko Window,
p°ejdeme na strßnku Color, v Φßsti Window Type vybereme typ
okna a k v²b∞ru barvy pro nerolovatelnou a rolovatelnou oblast stiskneme
tlaΦφtko Change. Specifikovanß barva pozadφ m∙₧e b²t p°epsßna, pokud
u₧ivatel v mφstnφ nabφdce okna nßpov∞dy zvolφ Use System Colors.
Pokud pou₧ijeme transparentnφ bitovou mapu v rolovatelnΘ oblasti i nerolovatelnΘ
oblasti stejnΘho prvku nßpov∞dy, pak transparentnφ oblast obou bitov²ch
map je zobrazena barvou pozadφ rolovatelnΘ oblasti.
Pro p°idßnφ tlaΦφtek k sekundßrnφmu oknu, stiskneme tlaΦφtko Windows,
p°ejdeme na strßnku Buttons, v seznamu Window Type vybereme
typ okna a ujistφme se, ₧e v Φßsti Buttons jsou oznaΦeny po₧adovanß
tlaΦφtka, kterß chceme zobrazit. Pokud nechceme pou₧φvat °ßdek tlaΦφtek,
pak ₧ßdnΘ tlaΦφtko v Φßsti Buttons nesmφ b²t oznaΦeno.
Pro p°idßnφ tlaΦφtek k hlavnφmu oknu nßpov∞dy, stiskneme tlaΦφtko Windows.
Pokud je v seznamu Window Type, pak jej vybereme. Pokud zde nenφ,
pak stiskneme Add, zapiÜeme jmΘno main a stiskneme OK.
P°ejdeme na strßnku Buttons a v Φßsti Buttons vybereme po₧adovanß
tlaΦφtka.
Pro spuÜt∞nφ makra p°i otev°enφ okna, stiskneme tlaΦφtko Windows,
p°ejdeme na strßnku Macros, v seznamu Window Type vybereme
typ okna, stiskneme Add a specifikujeme makro, kterΘ chceme spustit.
K odstran∞nφ vybranΘho makra stiskneme tlaΦφtko Remove. Pro specifikaci
makra spouÜt∞nΘho p°i otev°enφ nßpov∞dnΘho souboru, stiskneme tlaΦφtko
Config.
Pro specifikaci implicitnφho prvku nßpov∞dy pro soubor nßpov∞dy, stiskneme
tlaΦφtko Options a v Φßsti Default Topic, zapφÜeme identifikaci
prvku nßpov∞dy pro prvek, kter² chceme aby byl implicitnφ.
Pro p°idßnφ informacφ o autorsk²ch prßvech, stiskneme tlaΦφtko Options
a v Φßsti Copyright Information, zapφÜeme informace, kterΘ chceme
zobrazit v dialogovΘm okn∞ Version nebo kdy₧ u₧ivatel vklßdß nebo
tiskne text nßpov∞dy. M∙₧eme specifikovat a₧ 255 znak∙ pro dialogovΘ okno
Version.
Pokud na konec textu zobrazovanΘho v dialogovΘm okn∞ Version zapφÜeme
%date,
pak Help Workshop p°i p°ekladu nßpov∞dnΘho souboru sem vlo₧φ souΦasnΘ datum.
Pro spuÜt∞nφ makra p°i otevφrßnφ nßpov∞dnΘho souboru, stiskneme tlaΦφtko
Config,
dßle stiskneme Add a specifikujeme po₧adovanΘ nastavenφ.
Pro ulo₧enφ datov²ch soubor∙ svßzan²ch DLL v nßpov∞dnΘm souboru, stiskneme
tlaΦφtko Data Files a pro v²b∞r datovΘho souboru stiskneme Add.
Ve jmΘnech soubor∙ datov²ch DLL se rozliÜuje velikost pφsmen. K zφskßvßnφ
datov²ch soubor∙, nßpov∞da pou₧φvß jmΘno souboru bez cesty.
Pro specifikaci voleb komprese, stiskneme tlaΦφtko Options,
p°ejdeme na strßnku Compression a specifikujeme po₧adovanΘ nastavenφ
komprese. P°eklad nßpov∞dnΘho souboru pou₧φvajφcφ maximßlnφ kompresy je
asi t°ikrßt pomalejÜφ ne₧ p°eklad stejnΘho souboru bez komprese.
K potlaΦenφ zprßv p°ekladaΦe, stiskneme tlaΦφtko Options a pro
skrytφ poznßmek se ujistφme, ₧e nenφ oznaΦena znaΦka Notes. K potlaΦenφ
zprßv o p°ekladu zruÜφme oznaΦenφ znaΦky Progress.
Pro ulo₧enφ zprßv p°ekladaΦe do souboru, stiskneme tlaΦφtko Options,
p°ejdeme na strßnku Files a v Φßsti Log File zadßme jmΘno
souboru. Pokud chceme soubor ulo₧it do jinΘ slo₧ky ne₧ je projektov² soubor,
pak specifikujeme cestu. Help Workshop m∙₧e zobrazovat a₧ 64 K slabik zprßv
ve Windows 95 a a₧ 1 M slabiku zprßv ve Windows NT. P°i delÜφch zprßvßch
je m∙₧eme ulo₧it do souboru a zobrazit n∞jak²m textov²m editorem.
Pro specifikaci kam uklßdat doΦasnΘ soubory, stiskneme tlaΦφtko Options,
p°ejdeme na strßnku Files a do Φßsti TMP Folder zapφÜeme
jmΘno slo₧ky, do kterΘ chceme uklßdat doΦasnΘ soubory. Implicitn∞ je pou₧ita
slo₧ka specifikovanß prom∞nnou prost°edφ TEMP. DoΦasnΘ soubory jsou
hlavn∞ pou₧φvßny, kdy₧ velikost nßpov∞dnΘho souboru p°ekroΦφ 8 M slabik.
Pro specifikaci, kterΘ prvky vlo₧it do vytvß°enΘho souboru, stiskneme
tlaΦφtko Options, p°ejdeme na strßnku Build Tags a p°idßme
znaΦky pro prvky nßpov∞dy, kterΘ majφ b²t vlo₧eny do nßpov∞dnΘho souboru.
Prvky nßpov∞dy bez vytvß°ecφch znaΦek jsou v₧dy zahrnuty do vytvß°enφ.
Prvky nßpov∞dy s vytvß°ecφmi znaΦkami jsou zahrnuty pouze jestli₧e strßnka
Build
Tags obsahuje jednu nebo vφce vytvß°ecφch znaΦek. Pokud specifikujeme
vytvß°ecφ znaΦky v Φßsti Include nebo Exclude na strßnce
Build
Tags, pak Help Workshop ignoruje vÜechny volby BUILD, kterΘ mohou b²t
specifikovßny.
Pro generovßnφ indexovΘho souboru pro celotextovΘ vyhledßvßnφ, stiskneme
tlaΦφtko Options, p°ejdeme na strßnku FTS a ujistφme se,
₧e znaΦka Generate Full Text Search Index je oznaΦena (a potom nastavφme
dalÜφ po₧adovanß nastavenφ). P°i generovßnφ soubor∙ index∙ celotextovΘho
vyhledßvßnφ p°i p°ekladu, musφ b²t na strßnce Compression oznaΦeny
znaΦky Maximum compression nebo Hall compression. Pokud nemßme
vygenerovßn indexov² soubor celotextovΘho vyhledßvßnφ, pak WinHelp se dotazuje
zda jej generovat, kdy₧ poprvΘ otev°eme nßpov∞dn² soubor a p°ejdeme na
strßnku Find.
Ke zm∞n∞ ka₧dΘho v²skytu pφsma pou₧itΘho v nßpov∞dnΘm souboru, stiskneme
tlaΦφtko Options, p°ejdeme na strßnku Fonts, stiskneme Add
a specifikujeme po₧adovanΘ nastavenφ. Tato procedura umo₧≥uje zm∞nit pφsmo
pou₧itΘ v nßpov∞dnΘm souboru bez nutnosti reformßtovßnφ textu v prvcφch
nßpov∞dy v RTF souborech. PoΦet nahrazovan²ch pφsem nenφ omezen.
Pro zm∞nu cesty ke zdrojov²m soubor∙m, kdy₧ p°emφstφme nßÜ projektov²
soubor, stiskneme tlaΦφtko Options, p°ejdeme na strßnku Files
a pro specifikaci novΘ cesty stiskneme Edit. Substituce cesty nenφ
nutnß, pokud vÜechny soubory jsou specifikovßny relativn∞ k umφst∞nφ projektovΘho
souboru. Help Workshop automaticky pou₧φvß relativnφ cesty, p°i p°idßvßnφ
soubor∙. Substituce cesty je u₧iteΦnß, kdy₧ p°esouvßme cel² projekt na
jinΘ mφsto.
Pro specifikaci znak∙, kterΘ identifikujφ druhou ·rove≥ index∙, stiskneme
tlaΦφtko Options, p°ejdeme na strßnku Sorting a do Φßsti
pro specifikaci znak∙ odd∞lujφcφch polo₧ky index∙, zapφÜeme jeden nebo
vφce znak∙. Nap°. jestli₧e specifikujeme "@&%", pak °ßdek "display;
display@configuring; keyboard; keyboard&configuring; mouse;mouse%configuring;
network, configuring" bude v indexech zobrazen tφmto zp∙sobem:
display
configuring
keyboard
configuring
mouse
configuring
network, configuring
Implicitnφ znaky jsou Φßrka a dvojteΦka. LibovolnΘ znaky zde specifikovanΘ
p°epφÜφ tyto implicitnφ znaky.
Pro specifikaci jazyka nßpov∞dnΘho souboru, stiskneme tlaΦφtko Options,
p°ejdeme na strßnku Sorting a specifikujeme po₧adovan² jazyk. Implicitn∞
Help Workshop pou₧φvß jazyk za zßklad∞ regionßlnφho nastavenφ specifikovanΘho
v Control Panel. Pokud verze Windows nepodporuje specifikovan² jazyk,
pak Help Workshop nem∙₧e p°elo₧it projektov² soubor.
Pro p°eklad souboru obsahu, oznaΦφme v nabφdce File volbu Translation,
otev°eme soubor obsahu (.cnt), vybereme hlaviΦku nebo prvek, kter² chceme
p°elo₧it a stisknreme Edit. Kdy₧ volba Translatin je oznaΦena,
pak m∙₧eme modifikovat pouze viditeln² text, kter² je zobrazen na strßnce
obsahu. Nelze modifikovat identifikaci prvku, jmΘna soubor∙ nebo jmΘna
oken.
-
Dßle se budeme zab²vat vytvß°enφm souboru obsahu. Soubor obsahu (.cnt)
je textov² soubor, kter² poskytuje instrukce pro strßnku obsahu v dialogovΘm
okn∞ Help Topics a urΦuje zobrazovßnφ klφΦov²ch slov specifikovan²ch
nßpov∞dn²ch soubor∙ na strßnkßch Index a Find. Nßvrh tabulky
obsahu provßdφme specifikacφ:
-
HlaviΦek - HlaviΦky jsou reprezentovßny ikonami knih a mohou obsahovat
skupinu svßzan²ch prvk∙ nßpov∞dy a dalÜφch hlaviΦek. Obsah hlaviΦky obvykle
zobrazφme dvojit²m kliknutφm na hlaviΦce.
-
Prvk∙ nßpov∞d - Prvky jsou reprezentovßny ikonami strßnek a zobrazujφ
prvek nßpov∞dy nebo spouÜtφ makro, kdy₧ na n∞m u₧ivatel dvojit∞ klikne.
Mimo titulku prvku a identifikace prvku, m∙₧eme takΘ specifikovat ve kterΘm
souboru nßpov∞dy prvek je a typ okna ve kterΘm chceme prvek zobrazit.
-
P°φkaz∙ - P°φkazy specifikujφ rozsah a vzhled naÜφ tabulky obsahu
a index∙.
K vytvo°enφ a editaci souboru obsahu pou₧φvßme Help Workshop. Tabulka obsahu
se nezobrazuje v dialogovΘm okn∞ Help Topics dokud soubor obsahu
neobsahuje alespo≥ jeden prvek, kter² skßΦe do dostupnΘho nßpov∞dnΘho souboru.
P°φpustnΘ skoky musφ b²t uvedeny v souboru obsahu, kdy₧ u₧ivatel poprvΘ
otev°e p°i°azen² nßpov∞dn² soubor.
Seznam klφΦov²ch slov je jeden z u₧iteΦn²ch nßstroj∙, kter² m∙₧eme
poskytnout u₧ivateli. V indexech m∙₧eme takΘ uvΘst synonyma, kterß pomßhajφ
u₧ivateli nalΘzt informaci. WinHelp takΘ nabφzφ slu₧bu celotextovΘho vyhledßvßnφ,
co₧ umo₧≥uje u₧ivateli prohledat cel² text nßpov∞dn²ch soubor∙ a nalΘzt
po₧adovanou informaci. Ve v∞tÜin∞ p°φpad∙, kdy₧ u₧ivatel p°ejde v dialogovΘm
okn∞ Help Topics na strßnku Find poprvΘ, pak je zobrazen
pr∙vodce Find Setup, kde vytvß°φme index celotextovΘho vyhledßvßnφ.
Tento index obsahuje seznam vÜech slov v nßpov∞dnΘm souboru. Seznam index∙
je takΘ mo₧no dodßvat jako souΦßst nßpov∞dnΘho souboru (soubor .fts).
K vytvo°enφ souboru obsahu zvolφme File | New, dvojit∞ klikneme
na Help Contents, do Φßsti Default Filename zapφÜeme jmΘno
nßpov∞dnΘho souboru s v∞tÜinou prvk∙ nßpov∞dy a do Φßsti Default Title
zapφÜeme text, kter² chceme zobrazit na titulnφm °ßdku dialogovΘho okna
Help
Topics. Tento text je takΘ zobrazovßn na titulnφm °ßdku oken, kterΘ
nemajφ specifikovan² titulek v projektovΘm souboru. Stiskneme Add Above
nebo Add Below a p°idßme hlaviΦky a prvky, kterΘ chceme zobrazit
na strßnce obsahu. Pokud chceme vlo₧it klφΦovß slova n∞kolika soubor∙ na
strßnku Index, pak stiskneme Index Files a specifikujeme
soubory, kterΘ chceme vlo₧it.
Pro specifikaci implicitnφho okna, ve kterΘm chceme zobrazovat prvky
nßpov∞dy, stiskneme tlaΦφtko Edit v hornφm pravΘm rohu okna Help
Workshopu a v Φßsti Default Window specifikujeme typ okna. Prvky
jsou zobrazeny v implicitnφm okn∞, kdy₧ je u₧ivatel otev°e ze strßnek Index
nebo Find, pokud nenφ specifikovßno jinΘ okno v poznßmce pod Φarou
>.
Prvky jsou takΘ zobrazeny v implicitnφch oknech, kdy₧ je u₧ivatel otev°e
ze strßnky obsahu, pokud polo₧ka obsahu neobsahuje specifikaci typu okna.
Pokud implicitnφ okno nenφ specifikovßno, pak prvky jsou zobrazovßny v
hlavnφm okn∞ nßpov∞dy. Typ okna musφ b²t definovßn v naÜem projektovΘm
souboru.
Pro p°idßnφ hlaviΦek na strßnku obsahu, vybereme prvek nad nebo pod
kter² chceme p°idat hlaviΦku, stiskneme Add Above nebo Add Below
a po v²b∞ru Heading zapφÜeme do Φßsti Title hlaviΦku. Pomocφ
tlaΦφtek Move Right a Move Left m∙₧eme p°i°adit a₧ 9 ·rovnφ
hlaviΦek.
Pro p°idßnφ prvku na strßnku obsahu, vybereme prvek nad nebo pod kter²
chceme p°idat hlaviΦku, stiskneme Add Above nebo Add Below
a po v²b∞ru Topic zapφÜeme do Φßsti Title titulek a do Φßsti
Topic
ID zapφÜeme identifikaci prvku (pokud prvek nenφ v implicitnφm nßpov∞dnΘm
souboru, pak do Φßsti Help File zapφÜeme jmΘno nßpov∞dnΘho souboru
se specifikovan²m prvkem). Pokud prvek chceme zobrazit v jinΘm ne₧ implicitnφm
okn∞, pak okno specifikujeme v Φßsti Window Type. Okno musφ b²t
definovßno v projektovΘm souboru. Pokud nespecifikujeme informaci v Help
File, pak WinHelp hledß prvek nßpov∞dy v implicitnφm nßpov∞dnΘm souboru.
Pokud nespecifikujeme informaci v Φßsti Window Type, pak WinHelp
zobrazφ okno v typu okna specifikovanΘm v implicitnφm nßpov∞dnΘm souboru.
Pro p°i°azenφ makra k prvku mφsto identifikace prvku zapφÜeme do Φßsti
Topic
ID st°ednφk nßsledovan² makrem (k odd∞lenφ vφce maker pou₧ijeme dvojteΦku).
Pro zm∞nu ·rovn∞ hlaviΦky nebo prvku, vybereme prvek a stiskneme tlaΦφtko
Move
Right nebo Move Left (jsou takΘ p°esunuty prvky ni₧Üφch ·rovnφ).
Pro vlo₧enφ dalÜφch soubor∙ obsahu, otev°eme hlavnφ soubor obsahu,
klikneme na mφst∞, kde chceme umφstit informace z dalÜφho souboru obsahu,
stiskneme Add Above nebo Add Below, vybereme voliΦ Include
a zapφÜeme jmΘno vklßdanΘho souboru obsahu. Pokud vlo₧en² soubor obsahu
nenφ dostupn² p°i inicializaci nßpov∞dnΘho souboru, pak vlo₧en² soubor
nenφ zobrazen na strßnce obsahu.
Pro kombinaci klφΦov²ch slov z n∞kolika nßpov∞dn²ch soubor∙ otev°eme
soubor obsahu, stiskneme tlaΦφtko Index Files, stiskneme Add,
do Φßsti Help Title zapφÜeme titulek souboru nßpov∞dy. Titulek bude
zobrazovßn, pokud u₧ivatel zvolφ Custom v pr∙vodci Find Setup.
Je takΘ zobrazovßn v dialogovΘm okn∞ Topics Found, pokud WinHelp
hledß identick² titulek prvku v jinΘm nßpov∞dnΘm souboru. Do Φßsti Help
Filename dßle zapφÜeme jmΘno souboru nßpov∞dy, jeho₧ klφΦovß slova
chceme p°idat k naÜemu indexu. VÜechny soubory nßpov∞dy obsa₧enΘ v indexech
jsou prohledßvßny, kdy₧ makro ALink nebo KLink je spuÜt∞no.
Pro povolenφ ALink a KLink skßkat do ostatnφch nßpov∞dn²ch
soubor∙, stiskneme tlaΦφtko Link Files, stiskneme Add a pak
zapφÜeme jmΘno nßpov∞dn²ch soubor∙, kterΘ chceme prohledßvat, kdy₧ makro
ALink
nebo KLink je spuÜt∞no. Nenφ nutno p°idßvat soubory, kterΘ ji₧ mßme
vlo₧eny do dialogovΘho okna Index Files.
Pro p°idßnφ dalÜφ strßnky do dialogovΘho okna Help Topics, stiskneme
Tabs
a potom stiskneme Add. Do Φßsti Tab Name zapφÜeme jmΘno,
kterΘ chceme zobrazit na zßlo₧ce a do Φßsti DLL Filename zapφÜeme
jmΘno souboru DLL, kter² poskytuje proceduru dialogu pro strßnku.
-
Dßle se budeme zab²vat p°ekladem a testovßnφm nßpov∞dnΘho souboru. Pro
p°eklad nßpov∞dnΘho souboru stiskneme tlaΦφtko Save and Compile.
Pro p°eklad vφce ne₧ jednoho nßpov∞dnΘho souboru najednou, pou₧ijeme
textov² editor, vytvo°φme ASCII textov² soubor se seznamem ·pln²ch specifikacφ
vÜech naÜich projektov²ch soubor∙ na samostatn²ch °ßdcφch. Specifikujeme
projektovΘ soubory v po°adφ, ve kterΘm je chceme p°eklßdat. Tento soubor
ulo₧φme s p°φponou .hmk. Otev°eme Help Workshop a stiskneme tlaΦφtko
Compile.
V Φßsti Project File zapφÜeme jmΘno naÜeho .hmk souboru a
stiskneme Compile.
Pro zobrazenφ nßpov∞dnΘho souboru z Help Workshopu po p°ekladu nßpov∞dnΘho
souboru stiskneme tlaΦφtko Run WinHelp a specifikujeme jmΘno nßpov∞dnΘho
souboru. Pokud chceme zobrazit prvky jejich₧ identifikace je mapovßna na
ΦφselnΘ hodnoty v naÜem projektovΘm souboru, pak zapφÜeme jmΘno a umφst∞nφ
projektovΘho souboru a stiskneme Refresh. Zobrazenφ nßpov∞dy dosßhneme
stiskem tlaΦφtka View Help.
Pro generovßnφ sestavy pro nßpov∞dn² soubor, zvolφme File | Report,
do Φßsti Help Filename zapφÜeme cestu a jmΘno nßpov∞dnΘho souboru,
do Φßsti Output Filename zapφÜeme cestu a jmΘno souboru do kterΘho
chceme uklßdat sestavu, v Φßsti Display vybereme typ po₧adovanΘ
sestavy a stiskneme Report.
K testovßnφ souboru obsahu, zvolφme Test | Contents File a zapφÜeme
jmΘno souboru, kter² chceme testovat. Help Workshop testuje syntax souboru
a potom ov∞°φ vÜechny skoky na prvky specifikovanΘ v souboru obsahu (zobrazφ
zprßvu, pokud skok nepracuje). Pokud nßÜ soubor obsahu obsahuje vlo₧enΘ
dalÜφ soubory obsahu, pak musφme zajistit, aby pro testovßnφ byly dostupnΘ.
Pro simulaci volßnφ programu API WinHelp zvolφme Test | WinHelp
API, do Φßsti Help File zapφÜeme ·plnou specifikaci testovanΘho
souboru, v seznamu Command vybereme p°φkaz, kter² chceme zaslat
v API WinHelp, do Φßsti dole v dialogovΘm okn∞ zapφÜeme hodnotu, kterou
chceme zaslat a stiskneme Call.
Pro monitorovßnφ zprßv WinHelp, zvolφme View | WinHelp Messages
a dßle zvolφme View | Message Options a specifikujeme zprßvy, kterß
chceme zobrazit.
Pro uzav°enφ vÜech instancφ WinHelp zvolφme Test | Close
All Help. Toto je u₧iteΦnΘ, pokud testujeme nßpov∞dnΘ soubory, proto₧e
WinHelp je spouÜt∞n na pozadφ.
-
Pro vytvo°enφ nßpov∞dy pro naÜi aplikaci textovΘho editoru Rich pou₧ijeme
soubory s prvky nßpov∞d Richedit.rtf, Keys.rtf a Term.rtf.
Tyto
soubory si m∙₧ete stßhnout. ProhlΘdn∞te si je, podφvejte se takΘ na
pou₧itΘ poznßmky pod Φarou. V tomto p°φpad∞ pou₧ijeme ji₧ vytvo°enΘ soubory,
p°i vytvß°enφ nßpov∞dy v dalÜφch aplikacφch je ji₧ budeme vytvß°et sami.
Spustφme Help Workshop, zvolφme File | New, vybereme volbu
Help
Project a zadßme jmΘno projektovΘho souboru (v naÜem p°φpad∞ zvolφme
RichEdit,
umφstφme jej do adresß°e, ve kterΘm mßme projekt naÜφ aplikace). Do projektovΘho
souboru vlo₧φme v²Üe uvedenΘ t°i soubory typu Rich. Provedeme to stiskem
tlaΦφtka Files a po stisku Add tyto soubory specifikujeme.
NaÜe nßpov∞da pou₧φvß takΘ n∞kolik soubor∙ bitov²ch map (jsou takΘ mezi
sta₧en²mi soubory). Pokud tyto soubory mßme ve stejnΘm adresß°i, jako je
umφst∞n projektov² soubor nßpov∞dy, pak nemusφme zadßvat adresß° bitov²ch
map. Mohli bychom zadat jeÜt∞ n∞kterΘ dalÜφ volby (nap°. pou₧itφ komprese
u souboru nßpov∞dy, urΦit tlaΦφtka pou₧itß v okn∞ nßpov∞dy), ale zatφm
se spokojφme pouze s tφmto zadßnφm. Vytvß°enφ souboru nßpov∞dy ukonΦφme
stiskem tlaΦφtka Save and Compile.
Soubor nßpov∞dy nynφ ji₧ mßme vytvo°en. Pot°ebujeme jej ale jeÜt∞ p°ipojit
k naÜi aplikaci. Provedeme to vlo₧enφm jmΘna nßpov∞dnΘho souboru do vlastnosti
HelpFile
objektu aplikace. Vytvo°φme nap°. obsluhu udßlosti OnActivate hlavnφho
formulß°e s p°φkazy:
Application->HelpFile = "RICHEDIT.HLP";
RichEdit1->SetFocus();
Nynφ je ji₧ v naÜφ aplikaci mo₧no pou₧φvat nßpov∞du. Podφvßme-li se
na p°φkazy, kterΘ nßpov∞du zobrazujφ, pak vidφme pou₧itφ metody HelpCommand
objektu aplikace. Co z nßpov∞dy je zobrazeno urΦuje prvnφ parametr tΘto
metody. P°i pou₧itφ parametru HELP_CONTENTS je zobrazen prvek nßpov∞dy
s obsahem nßpov∞dy (druh² parametr metody v tomto p°φpad∞ nemß v²znam).
Parametr HELP_HELPONHELP urΦuje, ₧e bude zobrazen obsah souboru
nßpov∞dy WinHlp32 (soubor popisujφcφ jak pou₧φvat nßpov∞du). Druh²
parametr metody v tomto p°φpad∞ op∞t nemß v²znam. Parametr HELP_PARTIALKEY
urΦuje hledßnφ prvku nßpov∞dy podle index∙. Druh² parametr metody v tomto
p°φpad∞ je adresa implicitnφho hledanΘho °et∞zce.
Tφm jsme v²voj tΘto aplikace dokonΦili. VyzkouÜejte pou₧φvßnφ nßpov∞dy.
-
Pokuste se vytvo°it pro p°edchozφ nßpov∞dn² soubor i soubor obsahu.
-
Vra¥me se op∞t k popisu integrovanΘho ladφcφho prost°edku.
C++ Builder mß n∞kterΘ dalÜφ ladφcφ nßstroje. DialogovΘ okno Evaluate/Modify
umo₧≥uje zjistit souΦasnou hodnotu prom∞nnΘ a v p°φpad∞ pot°eby tuto hodnotu
modifikovat. Pokud klikneme na jmΘnu prom∞nnΘ ve zdrojovΘm k≤du a v mφstnφ
nabφdce Editoru k≤du zvolφme Evaluate/Modify, pak prom∞nnß je vyhodnocena.
P°i volb∞
Run | Evaluate/Modify je nutno zadat jmΘno vyhodnocovanΘ
prom∞nnΘ. Polo₧ka
Expression se pou₧φvß k zadßnφ jmΘna prom∞nnΘ
nebo v²razu, kter² chceme vyhodnotit. Kdy₧ stiskneme tlaΦφtko Evaluate,
pak zadan² v²raz je vyhodnocen a v²sledek zobrazen v polo₧ce Result.
Pokud chceme zm∞nit hodnotu prom∞nnΘ, pak zadßme novou hodnotu do polo₧ky
New
Value a stiskneme tlaΦφtko Modify. P°i pokraΦovßnφ v prßci programu
je pou₧ita novß hodnota.
Za b∞hu naÜeho programu m∙₧eme prohlφ₧et zßsobnφk volßnφ
k zjiÜt∞nφ po°adφ volßnφ funkcφ naÜeho programu. Okno zßsobnφku volßnφ
zobrazφme volbou
View | Call Stack. Toto okno zobrazuje seznam volan²ch
funkcφ v po°adφ jejich volßnφ. Nejpozd∞ji volanß funkce je uvedena na vrcholu
okna. V seznamu jsou uvßd∞ny naÜe funkce, metody VCL a funkce obsa₧enΘ
v DLL Windows. Dvojit²m kliknutφm na jmΘnu funkce v okn∞ Zßsobnφku volßnφ
p°ejdeme do zdrojovΘho k≤du na tuto funkci. V p°φpad∞ funkce z DLL Windows,
okno Zßsobnφku volßnφ obsahuje adresu a jmΘno DLL. P°i dvojitΘm kliknutφ
na takovΘto funkci je zobrazeno okno CPU.
Okno CPU umo₧≥uje prohlφ₧et nßÜ program na ·rovni asembleru.
K zobrazenφ okna CPU zvolφme View | CPU. Tφmto oknem se zatφm nebudeme
zab²vat. P°φkaz Goto Address je takΘ nßstroj lad∞nφ pro pokroΦilΘ.
Kdy₧ nßÜ program skonΦφ chybou, pak souΦßstφ chybovΘ zprßvy je adresa,
na kterΘ k chyb∞ doÜlo. Tφmto p°φkazem se m∙₧eme pokusit nalΘzt mφsto ve
zdrojovΘm k≤du, kde chyba nastala. Pokud chyba vznikla v naÜem k≤du, pak
kurzor je umφst∞n na °ßdek, kter² chybu zp∙sobil. Pokud chyba vznikla mimo
nßÜ k≤d, je zobrazena zprßva, ₧e adresu nenφ mo₧no nalΘzt.
-
Krokovßnφ naÜeho k≤du je nejzßkladn∞jÜφ ladφcφ operace. Ladφcφ
prost°edek mß dv∞ operace krokovßnφ: Step over a Trace Into.
Step
Over provede °ßdek zdrojovΘho k≤du a zastavφ se na nßsledujφcφm °ßdku.
Tzn. ₧e je proveden souΦasn² °ßdek a funkce, kterΘ jsou na tomto °ßdku
volßny jsou provedeny plnou rychlostφ. P°φkaz Trace Into umo₧≥uje
trasovßnφ provßd∞t i uvnit° volan²ch funkcφ. P°i krokovßnφ (trasovßnφ)
naÜeho programu lze pou₧φvat dalÜφ ladφcφ techniky. Nechßme provΘst nßsledujφcφ
°ßdek a podφvßme se jak se zm∞nily hodnoty prom∞nn²ch, zm∞nφme hodnotu
n∞kterΘ prom∞nnΘ, p°φpadn∞ provedeme jinou ladφcφ operaci a provedeme dalÜφ
°ßdek.
DalÜφm ladφcφm p°φkazem je Trace To Next Source Line.
Tento p°φkaz nenφ pou₧φvßn Φasto. Mß v²znam u zp∞tn∞ volan²ch funkcφ (funkce
Windows volß n∞kterou z naÜich funkcφ k provedenφ n∞jakΘ akce). Pokud provßd∞n²
°ßdek je volßnφ funkce API, kterß pou₧φvß zp∞tn∞ volanou funkci, pak p°φkazem
Trace
To Next Source Line p°ejdeme na prvnφ °ßdek zp∞tn∞ volanΘ funkce.
-
Lad∞nφ DLL se podobß lad∞nφ spustitelnΘho souboru (nap°.
do DLL umφstφme body p°eruÜenφ). P°i lad∞nφ DLL vytvo°φme testovacφ aplikaci
a spustφme ji pod ladφcφm prost°edkem. N∞kdy ale pot°ebujeme ladit DLL
pro pou₧itφ ze spustitelnΘho souboru vytvo°enΘho v jinΘm v²vojovΘm prost°edφ.
Nap°. m∙₧eme vytvß°et DLL, kterou budeme volat z aplikace Visual Basicu.
Visual Basic ale nespustφme pod ladφcφm prost°edkem C++ Builderu. Tuto
situaci lze vy°eÜit tak, ₧e °ekneme C++ Builderu aby aplikaci Visual Basicu
spustil jako hostitelskou aplikaci. To zadßme v dialogovΘm okn∞ zobrazenΘm
po volb∞
Run | Parameters. Do Φßsti Host Application zapφÜeme
specifikaci EXE souboru hostitelskΘ aplikace, stiskneme tlaΦφtko Load
a hostitelskß aplikace je spuÜt∞na. Po spuÜt∞nφ hostitelskΘ aplikace, m∙₧eme
ladit naÜi DLL stejn∞ jako p°i pou₧itφ testovacφ aplikace. Do DLL umφstφme
body p°eruÜenφ a zaΦneme s lad∞nφm.
-
Denφk udßlostφ (Event Log) je specißlnφ soubor, kter² obsahuje
diagnostickΘ zprßvy (zprßvy generovanΘ C++ Builderem, naÜφ aplikacφ a n∞kdy
i samotn²m Windows). Nap°. je zde uvedeno, kterΘ moduly byly zavedeny,
zda obsahujφ ladφcφ informace, kdy byla naÜe aplikace spuÜt∞na, kdy byla
zastavena, kdy byl dosa₧en bod p°eruÜenφ apod. K zobrazenφ Denφku udßlostφ
zvolφme
View | Event Log. Denφk udßlostφ mß mφstnφ nabφdku, kterß
umo₧≥uje vyprßzdnit denφk, ulo₧it jej do souboru nebo p°idat komentß°e
k denφku. Je zde takΘ volba Options, kterß umo₧≥uje p°izp∙sobit
Denφk podle naÜich pot°eb. Do Denφku m∙₧eme zapisovat svΘ vlastnφ zprßvy
pomocφ funkce API OutputDebugString (mß jeden parametr, kter²m je
text zprßvy).
-
Okno ModulovΘho pohledu zobrazuje prßv∞ zavedenΘ moduly,
zdrojovΘ soubory p°ipojenΘ k t∞mto modul∙m a symboly (funkce a prom∞nnΘ)
exportovanΘ z t∞chto modul∙. Toto okno zobrazφme volbou View | Modules.
Tφmto oknem se nebudeme podrobn∞ji zab²vat.
-
Kdy₧ se program pokusφ o zßpis do pam∞ti, kterou nevlastnφ,
pak Windows zobrazφ chybovou zprßvu Access Violation. Nßsleduje
popis n∞kter²ch situacφ, kterΘ tuto chybu mohou zp∙sobit. Jednφm z d∙vod∙
vzniku tΘto situace je pou₧itφ neinicializovanΘho ukazatele. Neinicializovan²
ukazatel obsahuje nßhodnß data. V lepÜφm p°φpad∞ ukazuje mimo nßÜ program
a jeho pou₧itφ je zachyceno touto chybovou zprßvou. V horÜφm p°φpad∞ ukazuje
n∞kam do naÜeho programu a zp∙sobφ r∙znΘ nedefinovanΘ chyby. Z tohoto d∙vodu
je vhodnΘ ukazateli v₧dy po vytvo°enφ p°i°adit n∞jakou rozumnou hodnotu
nebo alespo≥ NULL. P°i pou₧itφ ukazatele s hodnotou NULL, se program zastavφ
a ve zdrojovΘm k≤du je oznaΦen °ßdek, kter² obsahuje pou₧itφ tohoto ukazatele.
Obdobnß situace nastßvß, kdy₧ zruÜφme objekt na kter²
ukazatel ukazuje. Je tedy vhodnΘ po zruÜenφ objektu nastavit ukazatel na
tento objekt na NULL.
P°ekroΦenφ hornφ meze pole takΘ m∙₧e zp∙sobit tento problΘm.
V n∞kter²ch p°φpadech si pouze p°epφÜeme n∞jakΘ informace ulo₧enΘ za polem
a chyba se projevφ pozd∞ji (Üpatn∞ se hledß). V jin²ch p°φpadech je vypsßna
chybovß zprßva. Je tedy vhodnΘ na tuto situaci dßvat dobr² pozor.
-
Volby ladφcφho prost°edku lze nastavovat na dvou ·rovnφch,
na ·rovni projektu a na ·rovni prost°edφ. S projektov²mi ladφcφmi volbami
jsme se ji₧ seznßmili. Ladφcφ volby prost°edφ nastavujeme na strßnce Debugger
dialogovΘho okna zobrazenΘho po volb∞ Tools | Environment Options.
ZnaΦka Integrated Debugging urΦuje zda je povoleno pou₧itφ integrovanΘho
ladφcφho prost°edku. V Φßsti General jsou Φty°i znaΦky. ZnaΦka Map
TD32 keystrokes on run urΦuje zda Editor k≤du mß pou₧φvat mapovßnφ
klßves pou₧itΘ v samostatnΘm ladφcφm prost°edku. ZnaΦka Mark buffers
read-only on run nastavuje pam∞¥ Editoru k≤du pouze na Φtenφ, p°i spuÜt∞nφ
programu pod ladφcφm prost°edkem. ZnaΦka Inspectors stay on top
urΦuje zda okno Inspektora lad∞nφ bude zobrazeno stßle nad Editorem k≤du.
ZnaΦka Rearrange editor local menu on run zm∞nφ vzhled mφstnφ nabφdky
Editoru k≤du, p°i spuÜt∞nφ programu pod ladφcφm prost°edkem. Sekce Event
Log umo₧≥uje nastavovat volby pro Denφk udßlostφ (je mo₧no urΦit maximßlnφ
poΦet zprßv a typy zprßv uklßdanΘ do denφku).
╚ßst Exceptions urΦuje, kterΘ v²jimky budou zpracovßny
ladφcφm prost°edkem a kterΘ budou zpracovßny u₧ivatelsk²m programem.
Tφm je popis integrovanΘho ladφcφho prost°edku dokonΦen.