|
Pr∙vodce tvorbou
nßpov∞dy û 12. dφl |
Vß₧enφ Φtenß°i,
dnes se podφvßme na
pokroΦilejÜφ prvky sv∞ta HTML nßpov∞dy. Uvidφte, jak pracujφ asociativnφ linky,
dozvφte se, jak sestrojit rejst°φk jin²m zp∙sobem a nakonec se podφvßme i na
to, jak opat°it stromovou strukturu tΘmat nßpov∞dy vlastnφmi ikonami.
Pokud jste m∞li to
pot∞Üenφ pracovat s nßpov∞dou typu Windows 95 (WinHelp 4.0), mo₧nß si
vzpomenete na podivn∞ vyhlφ₧ejφcφ makro ALink. Toto makro prohledßvalo
specifikovanß slova v celΘm systΘmu nßpov∞dy a potΘ nabφzelo seznam tΘmat
nßpov∞dy, kterß obsahovala zadanß slova v poznßmce pod Φarou, ve
specißlnφm dialogovΘm okn∞. Prost°ednictvφm tΘto techniky bylo pom∞rn∞ snadnΘ
opat°it tΘma nßpov∞dy tlaΦφtkem nebo jin²m citliv²m mφstem, po aktivacφ kterΘho
se automaticky vyhledaly dalÜφ äp°φbuznßô tΘmata se souvisejφcφmi informacemi.
Popsanß technika se oznaΦuje jako asociativnφ linkovßnφ tΘmat nßpov∞dy. Kdy₧ se
p°eneseme do prost°edφ HTML nßpov∞dy, m∙₧eme konstatovat, ₧e i tady se uveden²
algoritmus vyhledßvßnφ p°φbuzn²ch tΘmat nßpov∞dy vyu₧φvß. ImplementaΦnφ postup
je zde sice pon∞kud odliÜn², zdaleka vÜak ne nßroΦn² a ·silφ, jen₧ v∞nujete
pochopenφ problematiky asociativnφho p°epojovßnφ tΘmat nßpov∞dy se vßm
v budoucnosti zcela jist∞ vrßtφ i s pomysln²mi ·roky.
Jak pracuje asociativnφ linkovßnφ tΘmat
Idea je docela
jednoduchß: Je pot°ebnΘ vÜechny HTML soubory opat°it vhodn²mi textov²mi
identifikßtory, aby je pozd∞ji mohl HTML Help engine najφt a rozeznat. Proto do
ka₧dΘho ₧ßdanΘho HTML souboru vklßdßme urΦitΘ klφΦovΘ slovo, p°φpadn∞ specifickß
slovnφ spojenφ, kterß charakterizujφ dan² soubor. PotΘ vyu₧ijeme dovednostφ ovlßdacφho
prvku HTML Help ActiveX a za°adφme mo₧nost dynamickΘho prohledßvßnφ tΘmat
nßpov∞dy. Jakmile vÜe ·sp∞Ün∞ prob∞hne, vygenerujeme platn² soubor HTML
nßpov∞dy a veÜkerΘ funkΦnφ starosti asociativnφho linkovßnφ tΘmat p°enechßme
HTML Help enginu. Kdy₧ pak u₧ivatel klepne na tlaΦφtko pro dalÜφ, podrobn∞jÜφ
informace, HTML Help engine se nastartuje, p°ebere vstupnφ parametr (klφΦovΘ
slovo, p°φpadn∞ slova, kterß se budou vyhledßvat), a nßsledn∞ prohledß vÜechna
dostupnß tΘmata nßpov∞dy. Jestli se mu poda°φ najφt alespo≥ jedno tΘma podle
zadan²ch kriteriφ, zobrazφ jej, nebo poskytne seznam vÜech nalezen²ch tΘmat. Dobrou
zprßvou je, ₧e se prohledßvajφ vÜechna äviditelnßô tΘmata, to znamenß nap°φklad
i vÜechna tΘmata modulßrnφho systΘmu HTML nßpov∞dy, na kterß odkazuje obsahovß
struktura nßpov∞dy. V²hodnou vlastnostφ klφΦov²ch slov pro A-linkovßnφ je
jejich neviditelnost z pohledu koncovΘho u₧ivatele. Proto₧e tato klφΦovß
slova (°φkejme jim A-klφΦovß slova) jsou vklßdßna do ryzφho HTML k≤du, nikdy
nebudou p°φmo k dispozici u₧ivateli. Konstrukci uvedenΘ techniky linkovßnφ
zobrazuje obr. 1.
Obr. 1 û Jak pracuje
asociativnφ linkovßnφ tΘmat nßpov∞dy
V nßsledujφcφch sekcφch probßdßme, jak se asociativnφ propojovßnφ
tΘmat nßpov∞dy vyu₧φvß v praxi.á
Asociativnφ linkovßnφ tΘmat nßpov∞dy
Krok 1: Vklßdßnφ A-klφΦov²ch slov do HTML soubor∙
Prvnφm krokem je
vlo₧enφ odpovφdajφcφch klφΦov²ch slov p°φmo do HTML k≤du p°φsluÜn²ch soubor∙
s tΘmaty.
|
PomocnΘ soubory
pro nßsledujφcφ cviΦenφ si m∙₧ete zkopφrovat
zde. |
Postupujte
nßsledovn∞:
Obr. 2 û
Proces vklßdßnφ A-klφΦovΘho slova do HTML souboru
VÜimn∞te si, ₧e do HTML k≤du se vlo₧ila
znaΦka <OBJECT> s p°φsluÜn²mi parametry.
<Object
type="application/x-oleobject"
classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
ááááááááááá <param name="ALink
Name" value="informace">
</OBJECT>
Hodnota parametru Name nßm °φkß, ₧e jde o A-klφΦovΘ slovo a hodnota
parametru Value toto klφΦovΘ slovo blφ₧e specifikuje.
Asociativnφ linkovßnφ tΘmat nßpov∞dy
Krok 2: Pou₧itφ ovlßdacφho prvku HTML Help ActiveX
Ve druhΘ etap∞ je
zapot°ebφ vlo₧it do HTML souboru instanci ovlßdacφho prvku, kter² zajiÜ¥uje
veÜkerou funkcionalitu asociativnφho propojenφ tΘmat nßpov∞dy. P°ipomφnßm, ₧e
instance tohoto prvku se vklßdß do toho souboru, ve kterΘm chceme zp°φstupnit
tlaΦφtko s nßzvem äDalÜφ informaceô. Postupujte takto:
Obr. 3 û
Pr∙vodce vlo₧enφm instance ovlßdacφho prvku ActiveX: Krok 1
Obr. 4 û
Pr∙vodce vlo₧enφm instance ovlßdacφho prvku ActiveX: Krok 2
Obr. 5 û
Pr∙vodce vlo₧enφm instance ovlßdacφho prvku ActiveX: Krok 3
Obr. 6 û
Editace A-klφΦovΘho slova ve 4. kroku pr∙vodce
Kdy₧ se podφvßte do HTML k≤du vaÜeho souboru, uvidφte v n∞m n∞kolik
°ßdek, kterΘ za vßs vytvo°il pr∙vodce. M∞ly by vypadat asi takto:
<OBJECT
id=hhctrl type="application/x-oleobject"
ááááááá
classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"
ááááááá codebase="hhctrl.ocx#Version=4,74,8875,0"
ááááááá width=100
ááááááá height=100
>
ááá <PARAM name="Command"
value="ALink">
ááá <PARAM name="Button"
value="Text:DalÜφ informace">
ááá <PARAM name="Flags"
value=",,1">
ááá <PARAM name="Item1"
value="">
ááá <PARAM name="Item2" value="informace">
</OBJECT>
Obr. 7 û Asociativnφ linkovßnφ v praxi
Tvorba
rejst°φku podruhΘ: Dynamick² rejst°φk
Mo₧nß si vzpomφnßte,
jak jsme v 9. dφlu naÜeho serißlu spoleΦn∞ vytvß°eli rejst°φk pro HTML
nßpov∞du. P°i tvorb∞ jsme pou₧φvali vestav∞n² editor, jen₧ je souΦßstφ kompilaΦnφho
programu HHW. Ve skuteΦnosti ovÜem existuje jeÜt∞ dalÜφ zp∙sob, jak lze
rejst°φk sestrojit. Ano, uhodli jste, jde o takzvan² dynamick² rejst°φk. Hlavnφ
pointou tvorby dynamickΘho rejst°φku je prßv∞ jeho ädynamickßô povaha: Finßlnφ
rejst°φk je posklßdßn za pomoci kompilßtoru z klφΦov²ch slov, kterß se
nachßzejφ v jednotliv²ch HTML souborech. Anal²zou m∙₧eme proces tvorby
dynamickΘho rejst°φku rozd∞lit do dvou etap:
Uvedenou situaci
demonstruje obr. 8.
Obr. 8 û Principy tvorby dynamickΘho rejst°φku
Mo₧nß se ptßte,
k Φemu je takov²to zp∙sob tvorby rejst°φku dobr², kdy₧ editace rejst°φku
pomocφ editoru je urΦit∞ pohodln∞jÜφ. Odpov∞dφ je rozÜφ°enß funkΦnost a
manipulovatelnost. Pokud se toti₧ rozhodnete pro cestu vklßdßnφ K-klφΦov²ch
slov do vaÜich HTML soubor∙, m∙₧ete poΦφtat s t∞mito v²hodami navφc:
á áá
|
K-klφΦovß slova jsou v HTML nßpov∞d∞ v₧dy
viditelnß, proto₧e tvo°φ polo₧ky rejst°φku, a tedy je u₧ivatel m∙₧e p°φmo
prohlφ₧et. Na druhΘ stran∞, A-klφΦovß
slova nejsou pro koncovΘho
u₧ivatele viditelnß. Prßv∞ tato äviditelnostô je hlavnφm rozliÜovacφm
znakem mezi A a K-klφΦov²mi slovy. |
Krok
1: Vklßdßnφ K-klφΦov²ch slov do HTML soubor∙
|
PomocnΘ soubory
pro nßsledujφcφ cviΦenφ si m∙₧ete zkopφrovat
zde. |
Obr. 9 û Vklßdßnφ K-klφΦovΘho slova do HTML souboru
KompilaΦnφ program nßsledn∞ vlo₧φ do HTML souboru tyto °ßdky:
<Object
type="application/x-oleobject"
classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
ááááááááááá <param name="Keyword" value="TΘma1">
</OBJECT>
Krok
2: ┌prava vlastnostφ projektovΘho souboru nßpov∞dy
Nynφ musφme
kompilßtoru °φct, aby pracoval s K-klφΦov²mi slovy, kterΘ zφskß z p°φsluÜn²ch
HTML soubor∙. Ud∞lejte proto nßsledovnφ:
Obr. 10 û ZaΦlen∞nφ K-klφΦov²ch slov do rejst°φku
Kdy₧ spustφte soubor
nßpov∞dy, uvidφte, ₧e se v rejst°φku nachßzejφ i ta K-klφΦovß slova, kterß
jste zaΦlenili od HTML soubor∙.
|
I kdy₧ chcete
rejst°φk vytvß°et z K-klφΦov²ch slov, kterß se budou nachßzet
v HTML souborech, musφte vytvo°it
standardnφ rejst°φk a jeho nßzev sd∞lit kompilßtoru nßpov∞dy. Nßzev
rejst°φku musφ b²t uveden jak v okn∞ Options na zßlo₧ce Files, tak i v okn∞ Window Types na zßlo₧ce Files. Standardnφ rejst°φk
sice musφte vytvo°it, no m∙₧ete ho nechat prßzdn² (zaplnφ se pozd∞ji
K-klφΦov²mi slovy). Jde bohu₧el o omezenφ programu, kterΘ ovÜem musφme
respektovat. |
Vlastnφ
ikony v obsahovΘ struktu°e tΘmat nßpov∞dy (TOC)
Auto°i nßpov∞dy
zpravidla velmi rßdi vylepÜujφ a rozÜi°ujφ svß ädφlaô vÜemo₧n²mi zp∙soby. A
prßv∞ mo₧nost zm∞nit standardnφ ikony stromovΘ struktury tΘmat za svΘ vlastnφ
se ukazuje jako vysoce v²hodnß v procesu odliÜenφ se od konkurence. Proto₧e
se mnoho Φtenß°∙ zajφmß o tuto problematiku, ukß₧eme si na nßsledujφcφch
°ßdcφch, jak na to.
Jak pravd∞podobn∞
ji₧ velmi dob°e vφte, kompilßtor vßm nabφzφ 42 ikonov²ch obrßzk∙, kterΘ m∙₧ete
ve stromovΘ struktu°e vyu₧φt. Pokud se ovÜem rozhodnete pro za°azenφ vlastnφch
ikon, limit ä42ô m∙₧ete docela snadno p°ekroΦit. Prvnφ, co si musφte p°i tvorb∞
nov²ch ikon uv∞domit, je skuteΦnost, ₧e vÜechny ikony jsou uspo°ßdßny
v tzv. ikonovΘm prou₧ku. Tento ikonov² prou₧ek si m∙₧ete p°edstavit jako
sekvenci filmov²ch polφΦek, ve kterΘ ka₧dΘ polφΦko p°edstavuje jeden obrßzek. Druhou
podstatnou v∞cφ je, ₧e tato filmovß polφΦka majφ stejnou v²Üku a Üφ°ku rovnou
16 pixel∙m. A koneΦn∞, t°etφ nezbytnou indiciφ je obrazov² formßt souboru
filmov²ch polφΦek, kter² poΦφtß se 16 barvami. P°φklad ikonovΘho prou₧ku je na
obr. 11.
Obr. 11 û Ilustrace ikonovΘho prou₧ku
I kdy₧ m∙₧ete
vytvo°it ikonov² prou₧ek se zcela nov²mi ikonami a ten potΘ zaΦlenit do
projektovΘho souboru nßpov∞dy, m∞li byste mφt na pam∞ti jistß doporuΦenφ, kterß
se k tΘto tematice vß₧ou. Je vÜeobecn∞ v²hodnΘ, kdy₧ n∞kolik prvnφch
polφΦek p°enechßte standardnφm ikonßm a teprve za n∞ p°idßte svΘ vlastnφ
obrßzky. Dßle pamatujte na to, ₧e p°i kompilaΦnφm procesu se nezaΦle≥uje obsah
souboru s ikonov²m prou₧kem do finßlnφho souboru nßpov∞dy. To tedy
znamenß, ₧e spoleΦn∞ se souborem nßpov∞dy musφte distribuovat i soubor
s ikonov²m prou₧kem. Rovn∞₧ nezapome≥te, ₧e vlastnφ ikony v TOC
nem∙₧ete pou₧φt, kdy₧ p°i kompilaci mßte aktivovanou volbu Create a binary TOC. Dobrß, to je na zaΦßtek vÜe, a te∩ si p°edve∩me,
jak postupovat v praxi.
Krok
1: Tvorba souboru s ikonov²m prou₧kem
|
Ikonov² prou₧ek
m∙₧ete vytvo°it v libovolnΘm grafickΘm editoru. Abyste v∞d∞li, jak
takov² prou₧ek vypadß,
zkopφrujte jej do
slo₧ky, ve kterΘ se nachßzφ vßÜ projekt nßpov∞dy. á |
Krok
2: ZaΦlen∞nφ souboru s ikonov²m prou₧kem do projektu
Po proveden²ch zm∞nßch by m∞la sekce General vypadat takto:
Obr. 12 û Editace zßlo₧ky
General
|
Mo₧nß jste
p°ekvapeni, proΦ je zapot°ebφ kompilaΦnφ program zavφrat. Jde bohu₧el o dalÜφ
omezenφ programu. Aby toti₧to kompilßtor diagnostikoval nov² soubor
s ikonov²m prou₧kem, je nutno zav°φt program HHW, zvonu jej spustit a
op∞tovn∞ otev°φt i vßÜ projektov² soubor. |
Krok
3: Nastavenφ vlastnφch ikon v TOC
Obr. 13 û V²b∞r ikony
Obr. 14 û U₧ivatelskΘ ikony v TOC
V∞°φm, ₧e dneÜnφ
hodina änßpov∞dnφ v²chovyô se vßm lφbila.
T∞Üφm se na
shledanou p°φÜt∞.