14. dφl

 

 

Vß₧enφ Φtenß°i,

 

v dneÜnφm dφlu se budu v∞novat vaÜim otßzkßm a dotaz∙m, t²kajφcφch se problΘmov²ch oblastφ HTML nßpov∞dy. V∞°φm, ₧e zde najde ka₧d² z vßs alespo≥ jednu odpov∞∩ na svΘ änßpov∞dnφô problΘmy. P°ipravte se, zaΦφnßme.

 

Obsah

Tvorba vφce·rov≥ov²ch polo₧ek rejst°φku

Abecednφ °azenφ polo₧ek rejst°φku

Navßzßnφ tΘmatu nßpov∞dy na polo₧ku pro tematick² celek

Vizußlnφ oznaΦovßnφ aktualizovan²ch tΘmat nßpov∞dy v TOC

SpuÜt∞nφ externφho programu z HTML nßpov∞dy

Zobrazenφ firemnφho loga po startu nßpov∞dnφho systΘmu

Literatura o tvorb∞ nßpov∞dy

ProblΘm s ukonΦovßnφm HTML nßpov∞dy ve VB 6.0 pod Windows XP

Jin² software pro v²voj nßpov∞dy

 

á

Dobr² den. VßÜ serißl o nßpov∞d∞ je skv∞l², ji₧ v mnoha p°φpadech jsem za pomoci vaÜich rad a postup∙ zdßrn∞ vy°eÜil svΘ problΘmy. Rßd bych se vßs zeptal, zda-li je v HTML nßpov∞d∞ mo₧nΘ ud∞lat jednotlivΘ polo₧ky rejst°φku ve vφce ·rovnφch. Rßd bych toti₧ vno°il pod jednu polo₧ku jeÜt∞ n∞kolik dalÜφch. Dφky za odpov∞∩.

 

Ano, je to mo₧nΘ. Jen doplnφm, ₧e Φtenß° mß patrn∞ na mysli tvorbu takzvan²ch vφce·rov≥ov²ch polo₧ek rejst°φku. V prost°edφ HTML nßpov∞dy m∙₧ete vytvo°it vφce·rov≥ov²ch polo₧ek, kolik budete chtφt (matematicky °eΦeno: jednu a₧ n polo₧ek). Jak vytvo°it polo₧ku druhΘ ·rovn∞ si ukß₧eme na nßsledujφcφm p°φkladu.

 

P°edpoklßdejme, ₧e vßÜ rejst°φk mß takovouhle podobu:

 

 

Proto₧e chceme, aby byla druhß polo₧ka pod°azena tΘ prvnφ, musφme jφ äposunoutô sm∞rem doprava. OznaΦte tedy druhΘ tΘma a stiskn∞te tlaΦφtko Move Selection Right (). Jakmile uskuteΦnφte demonstrovanou akci, tΘma se posune doprava a stane se z n∞j polo₧ka druhΘ ·rovn∞. Podobn∞ m∙₧ete postupovat, pokud budete chtφt vytvo°it polo₧ku (tΘma) t°etφ, ΦtvrtΘ, pßtΘ atd. ·rovn∞.

 

 

Ve svΘm projektu nßpov∞dy pou₧φvßm velmi mnoho rejst°φkov²ch polo₧ek, kterΘ ovÜem pot°ebuji mφt se°azenΘ podle abecedy. Existuje v programu HTML Help Workshop n∞jakß mo₧nost automatickΘho abecednφho °azenφ polo₧ek rejst°φku, nebo je opravdu nevyhnutnΘ provßd∞t °azenφ manußln∞?

 

I kdy₧ program HHW rozhodn∞ nepat°φ mezi pokroΦilΘ editory pro tvorbu HTML nßpov∞dy, mo₧nost abecednφho se°azenφ tΘmat rejst°φku poskytuje. Postupujte takto: Nejprve napiÜte vÜechny polo₧ky rejst°φku a potΘ aktivujte tlaΦφtko Sort Keywords Alphabetically (), kterΘ se nachßzφ na vertikßlnφ liÜt∞ tlaΦφtek.

 

 

N∞kde jsem se doΦetl, ₧e i polo₧ka obsahu v podob∞ äotvφrajφcφ a uzavφrajφcφ seô knihy m∙₧e b²t navßzßna na zobrazenφ tΘmata nßpov∞dy. Jak to lze ud∞lat v HTML Help Workshopu?

 

Ano, mßte pravdu. Styl HTML nßpov∞dy vßm dovoluje opat°it i hlavnφ obsahovΘ tΘma p°φsluÜn²m nßpov∞dnφm textem. Na vysv∞tlenφ pro jinΘ Φtenß°e: Termφnem ählavnφ nßpov∞dnφ tΘmaô mßm na mysli tematick² celek, p°ed kter²m je v obsahovΘ stromovΘ struktu°e standardn∞ zobrazena ikona knφ₧ky. Jestli₧e u₧ivatel poklepe na tuto ikonu, knφ₧ka se äotev°eô a zp°φstupnφ u₧ivateli vÜechna vno°enß tΘmata, kterß odpovφdajφ p°φsluÜnΘmu tematickΘmu celku. Ve skuteΦnosti vÜak lze hlavnφ tΘma obsahovΘ struktury änaaran₧ovatô tak, aby se po klepnutφ na polo₧ku tΘmatickΘho celku zobrazil jeho struΦn² obsah, p°φpadn∞ dalÜφ d∙le₧itΘ a vhodnΘ informace.

 

Postupujte podle nßsledujφcφch instrukcφ. Nejprve vyberte tu polo₧ku, kterß tvo°φ jeden tematick² celek. Dßle klepn∞te na tlaΦφtko Edit Selection (), na co₧ se zobrazφ okno Table of Contents Entry. Zde, na zßlo₧ce General, klikn∞te na tlaΦφtko Add a nakonec vyberte ten .HTM dokument, kter² si p°ejete asociovat s polo₧kou tematickΘho celku. Provedete-li kompilaci projektovΘho souboru nßpov∞dy a vytvo°φte-li opravdov² soubor HTML nßpov∞dy (.CHM), ji₧ v n∞m bude implementovßna i uvedenß technika. Vskutku, kdy₧ u₧ivatel jenom jednou klepne na polo₧ku tematickΘho celku, objevφ se k²₧enΘ nßpov∞dnφ tΘma.

 

 

Ke svΘmu programu dodßvßm i nßpov∞du ve formßtu komprimovanΘho souboru HTML (.CHM). Proto₧e program i nßpov∞du pom∞rn∞ Φasto aktualizuji, pot°eboval bych u₧ivatele upozornit na novß tΘmata, kterß byla do nßpov∞dy p°idßna od vypuÜt∞nφ poslednφ verze softwaru. Cht∞l bych vßs proto poprosit o radu, jak toto dilema vy°eÜit.

 

ProblΘm oznaΦovßnφ nov²ch, nebo modifikovan²ch tΘmat nßpov∞dy se v dotazech objevuje s pravidelnφ periodou. Je vskutku chvßlyhodnΘ, ₧e stßle jeÜt∞ existujφ producenti softwaru, kter² se sna₧φ co nejvφce vychßzet vst°φc finßlnφm u₧ivatel∙m tφm, ₧e oznaΦujφ zm∞n∞nß tΘmata specißlnφmi vizußlnφmi znaky v obsahovΘ sekci nßpov∞dy (TOC). A jak oznaΦit modifikovanΘ tΘma v programu HTML HelpWorkshop? Inu, velmi lehce, jak ihned uvidφte.

 

  1. Vyberte v obsahovΘ struktu°e tΘmat to tΘma, kterΘ chcete oznaΦit jako novΘ, nebo aktualizovanΘ.
  2. Klikn∞te na tlaΦφtko Edit Selection (). Nßsledn∞ se objevφ okno Table of Contents Entry.
  3. V dialogovΘm okn∞ oznaΦte zßlo₧ku Advanced. Zde zatrhn∞te volbu Mark as a new entry (viz obrßzek).

 

 

Po potvrzenφ zm∞n se u modifikovanΘ polo₧ky objevφ Φervenß hv∞zdiΦka, kterß indikuje, ₧e jde opravdu o novΘ, nebo aktualizovanΘ tΘma. Situaci ilustruje dalÜφ obrßzek.

 

 

Samoz°ejm∞ ₧e problematika oznaΦovßnφ nov²ch tΘmat nßpov∞dy se dß vy°eÜit i jin²m zp∙sobem. M∙₧ete kup°φkladu vytvo°it svΘ vlastnφ ikony obsahovΘ struktury nßpov∞dy a upozornit u₧ivatele na v²znam t∞chto ikon.

 

 

Pot°eboval bych z HTML nßpov∞dy spustit externφ program. V nßpov∞d∞ typu WinHelp 4.0 jsem pro tento ·Φel pou₧φval makro ExecFile s platn²mi parametry. V HTML nßpov∞d∞ jsem ale ₧ßdnΘ takovΘ makro nenaÜel. Otßzka je nasnad∞, jak lze spustit program z prost°edφ HTML nßpov∞dy?

 

Makro ExecFile (EF) jste hledali v HTML nßpov∞d∞ marn∞. Pro spuÜt∞nφ externφho programu se nynφ pou₧φvß ovlßdacφ prvek ActiveX s nßzvem HTML Help Control. Prost∞ instanci tohoto prvku vlo₧φte do k≤du toho .HTM souboru, ze kterΘho budete chtφt spustit po₧adovan² program. Abyste cel² postup lΘpe pochopili, uvedeme si p°φklad spuÜt∞nφ programu Poznßmkov² blok (notepad) z HTML nßpov∞dy. Postupujte takto:

 

  1. V programu HHW poklepejte na polo₧ku s .HTM souborem, do kterΘho chcete vlo₧it instanci ovlßdacφho prvku.
  2. Umφst∞te kurzor mezi znaΦky </BODY> a </HTML>.
  3. Z nabφdky Tags vyberte p°φkaz HTML Help Control, p°φpadn∞ klikn∞te na stejnojmennΘ tlaΦφtko () na horizontßlnφ liÜte tlaΦφtek.
  4. Objevφ se okno pr∙vodce, ve kterΘm vyberte ze seznamu Specify the command polo₧ku Shortcut (viz spodnφ obrßzek).

 

 

  1. V nßsledujφcφch krocφch vyberte vytvo°enφ tlaΦφtka (mo₧nost As a button), zobrazenφ textu na tlaΦφtku (mo₧nost Display text on the button) a zadejte text, kter² se bude objevovat na vytvo°enΘm tlaΦφtku.

 

  1. Nynφ se dostßvßme k jßdru problΘmu. Ve ΦtvrtΘm kroku pr∙vodce budete moci specifikovat program, kter² se mß spustit a rovn∞₧ m∙₧ete urΦit i parametry, se kter²mi se mß program nastartovat. Proto₧e v naÜem p°φkladu chceme spustit program Poznßmkov² blok, zapiÜte do pole Program °et∞zec notepad (viz obrßzek).

 

 

  1. V p°edposlednφm okn∞ pr∙vodce se vßm jeÜt∞ nask²tß mo₧nost zaslat programu zprßvu, no tato problematika p°esahuje rßmec naÜeho problΘmu. Nßsledujte tedy pr∙vodce a₧ do konce a vÜimn∞te si vygenerovan² HTML k≤d, kter² by m∞l vypadat asi takto:

 

<OBJECT id=hhctrl type="application/x-oleobject"

ááááááá classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"

ááááááá codebase="hhctrl.ocx#Version=4,74,9273,0"

ááááááá width=100

ááááááá height=100

>

ááá <PARAM name="Command" value="ShortCut">

ááá <PARAM name="Button" value="Text:Poznßmkov² blok">

ááá <PARAM name="Item1" value=",notepad,">

</OBJECT>

 

Zkompilujete-li soubor nßpov∞dy, ve zvolenΘm .HTM souboru se bude nachßzet i vytvo°enΘ tlaΦφtko, po aktivaci kterΘho se spustφ urΦen² program.

 

 

Po spuÜt∞nφ nßpov∞dy bych rßd zobrazil firemnφ logo. Pora∩te prosφm, jak to ud∞lat.

 

Zobrazenφ loga po nastartovßnφ nßpov∞dy je vhodnΘ jak pro prezentaci firmy, tak pro sd∞lenφ informacφ ohledn∞ autorsk²ch prßv. Ve skuteΦnosti m∙₧ete nechat zobrazit jak²koli obrßzek, nemusφ jφt nutn∞ o logo spoleΦnosti a zobrazenφ obrßzku se podobn∞ nemusφ nevyhnutn∞ vßzat na start systΘmu nßpov∞dy (obrßzek lze zobrazit po zobrazenφ libovolnΘho .HTM souboru). Uveden² ·kol nßm pom∙₧e vy°eÜit ovlßdacφ prvek ActiveX s nßzvem HTML Help Control, jeho₧ instanci vlo₧φme do toho .HTM souboru, po zobrazenφ kterΘho chceme zobrazit i obrßzek. Postup vklßdßnφ instance ovlßdacφho prvku do konkrΘtnφho .HTM souboru jsem u₧ vysv∞tloval n∞kolikrßt, a proto se k n∞mu ji₧ nebudu vracet. JedinΘ, na co nesmφte zapomenout, je vybrßnφ polo₧ky Splash screen ze seznamu Specify the command v prvnφm kroku pr∙vodce vklßdßnφ prvku do .HTM souboru. Podobn∞ m∙₧ete nastavit i poΦet sekund, po uplynutφ kter²ch mß obrßzek zmizet z obrazovky poΦφtaΦe.

 

 

Rßd bych zaΦal s profesionßlnφm v²vojem nßpov∞dy. Mohl byste mi doporuΦit n∞jakou literaturu, p°φpadn∞ internetovΘ zdroje? D∞kuji p∞kn∞.

 

Pokud vφm, tak literatury zab²vajφcφ se tvorbou nßpov∞dy (Φi u₧ stylu WinHelp 4.0 nebo HTML) je opravdu velice poskrovnu. V ΦeskΘm jazyce vyÜla jenom kniha o tvorb∞ nßpov∞dy ve Windows 95, v originßlu pojmenovanß jako äMicrosoft Windows 95 Help Authoring Kitô. HTML nßpov∞dou se zab²vß v²teΦnß kniha s nßzvem äMicrosoft Official HTML Help Authoring Kitô, kterß je psßna v anglickΘm jazyce. VzpomφnanΘ knihy si m∙₧ete objednat v n∞kter²ch internetov²ch knihkupectvφch. Co se t²Φe druhΘ poloviny dotazu, a sice internetov²ch zdroj∙, v oblib∞ mßm p°edevÜφm dv∞ strßnky (ob∞ jsou zahraniΦnφ). Jde o http://www.helpware.net a http://www.helpmaster.com.áá á

 

 

Na svΘm poΦφtaΦi pou₧φvßm operaΦnφ systΘm Windows XP a takΘ Visual Basic 6.0. ZkouÜel jsem spouÜt∞t soubor HTML nßpov∞dy z VB 6.0, no narazil jsem na jist² problΘm. V₧dy, kdy₧ zav°u aplikaci VB p°φkazem Zav°φt ze systΘmovΘ nabφdky a soubor s nßpov∞dou je stßle spuÜt∞n², VB se okam₧it∞ ukonΦφ, jednoduÜe äzmizne z obrazovkyô. Nevφm, jestli jste se s tφmto problΘmem setkal, no budu vd∞Φn² za jakoukoli radu.

 

Domnφvßm se, ₧e bude zapot°ebφ posoudit p°edstφranou problΘmovou situaci komplexn∞ji, aby Φtenß°i dokonale pochopili podstatu tohoto velmi zajφmavΘho a delikßtnφho problΘmu. P°i ukonΦovßnφ projektovΘ aplikace v prost°edφ VB 6.0 pod systΘmem Windows XP dochßzφ obΦas k zßhadnΘ situaci. Pro naÜφ ·vahu p°edpoklßdejme, ₧e na formulß°i je umφst∞nΘ tlaΦφtko, kterΘho obsluhu udßlosti Click tvo°φ nßsledujφcφ p°φkaz:

 

Call HtmlHelp(Me.hWnd, "c:\soubor1.chm", HH_DISPLAY_TOPIC, 0)

ááá

Tento p°φkaz volß API funkci HTMLHelp, kterß zabezpeΦuje zobrazenφ souboru s HTML nßpov∞dou (abstrahuji od nutnosti deklarace funkce a vÜech pot°ebn²ch konstant). Pro ukonΦenφ b∞₧φcφ instance nßpov∞dy je vypln∞na i obsluha udßlosti QueryUnload formulß°e tφmto p°φkazem:

 

Call HtmlHelp(0, vbNullString, HH_CLOSE_ALL, 0)

 

Nutno podotknout, ₧e po spuÜt∞nφ projektu a po klepnutφ na tlaΦφtko se zavolß funkce HTMLHelp a soubor s HTML nßpov∞dou se ·sp∞Ün∞ zobrazφ. Potφ₧e ovÜem nastßvajφ p°i ukonΦovßnφ aplikace. UkonΦφte-li aplikaci tak, ₧e jednoduÜe klepn∞te na tlaΦφtko X v pravΘ Φßsti titulkovΘho pruhu aplikace, vÜe je v po°ßdku, ukonΦφ se jak aplikace, tak i spuÜt∞nß instance HTML nßpov∞dy. OvÜem pozor! Jestli₧e ukonΦφte aplikaci vybrßnφm p°φkazu Zav°φt ze systΘmovΘ nabφdky, VB odst°elφ projektovou aplikaci a zßhy i sßm sebe. Toto je patrn∞ ten prav² problΘm, na kter² se Φtenß° ptß.

 

UvedenΘ chovßnφ Visual Basicu je ovÜem velice nevyzpytatelnΘ; n∞kdy je HTML nßpov∞da °ßdn∞ ukonΦena a vÜe je OK, jindy naopak dojde ke zhroucenφ aplikace i VB. P°i experimentech jsme narazil i na dalÜφ zajφmavost: Pokusφte-li se vygenerovat samostatn∞ spustiteln² soubor (.EXE) projektu a ten spustφte, sv∞te div se, vÜe je v naprostΘm po°ßdku! Dokonce nenφ hlßÜena ani ₧ßdnß chyba za b∞hu programu! Proto moje rada znφ, abyste v p°φpad∞ uvedenΘ chyby vygenerovali spustiteln² soubor a testovali ten.

 

Naprosto bezproblΘmovΘ jsou experimenty s HTML nßpov∞dou pod Windows XP ve Visual Basicu .NET. Tady nedochßzφ k ₧ßdn²m chybßm ani jak²mkoli nejasnostem. Pokud tedy mßte p°φstup k VB .NET, zapome≥te na VB 6.0 a vyu₧φvejte v²hod .NET prost°edφ.á

 

Pou₧it² k≤d pro volßnφ nßpov∞dy je zcela v po°ßdku, zkouÜel jsem ho i pod Windows Me, kde vÜe b∞halo bez nejmenÜφch potφ₧φ. á

 

 

Sna₧φm se tvo°it nßpov∞du, no program HTML Help Workshop mi moc nevyhovuje. Nevφte mi poradit jin² software na tvorbu HTML nßpov∞dy? D∞kuji.

 

Program HTML Help Workshop m∙₧e b²t opravdu pro n∞koho nevhodn², obzvlßÜt∞ pro u₧ivatele, kte°φ by rßdi tvo°ili svΘ soubory nßpov∞d v u₧ivatelsky p°φv∞tiv∞jÜφm a komfortn∞jÜφm programu. Program∙ pro tvorbu a editaci soubor∙ nßpov∞d existuje pom∞rn∞ znaΦnΘ mno₧stvφ, od t∞ch mΘn∞ kvalitnφch, kterΘ lze po°φdit zpravidla za mrzk² penφz (p°φpadn∞ zadarmo) a₧ po aplikaΦnφ äÜpiΦkyô, kter²ch obstarßnφ vychßzφ i na n∞kolik desφtek tisφc korun. Celkem sluÜn² program pro editaci HTML nßpov∞dy a takΘ nßpov∞dy novΘ generace (MS Help 2.0) je FAR, zkuÜebnφ verzi kterΘho si m∙₧ete stßhnout z webu http://www.helpware.net. JedineΦn²m je zajistΘ softwarov² produkt RoboHelp, kter² mß mezi programy pro tvorbu nßpov∞dy ji₧ dlouhou tradici. Pomocφ uvedenΘho programu lze vytvß°et nßpov∞du ve zcela WYSIWYG prost°edφ. Vφce informacφ o tomto produktu se m∙₧ete dozv∞d∞t na http://www.ehelp.com.

 

 

áJßn Hanßk