8. Příklad tvorby nápovědného souboru
8.1 Projektový soubor PROD_95.HPJ
[OPTIONS]
BMROOT = C:\FAR10\DBACC2\PRODEJ
COMPRESS = True
CONTENTS = o_uloze
COPYRIGHT = (c) Ing. Radim Farana, CSc. 1994
ERRORLOG = Chyby.TXT
REPORT = On
ROOT = C:\FAR10\DBACC2\PRODEJ
TITLE = Databaze prodeje KAKI
WARNING = 3
[FILES]
prod_95.RTF
[MAP]
hlavni_objekt 1
horke_klavesy 2
formular 3
menu 4
tlacitko 5
dvojcvak 6
list_box 7
combo_box 8
text_box 9
label 10
option_group 11
option_button 12
check_box 13
uctovani 14
volba_akce 15
volba_cisla 16
sestava 17
o_uloze 18
[CONFIG]
CreateButton("999","&About","About()")
BrowseButtons()
CreateButton("998","&Print","Print()")
8.2 Textový soubor s tématy PROD_95.RTF
Na následujících osmi stranách je uveden výpis textového souboru s jednotlivými tématy nápovědného souboru. Skloněným písmem jsou přitom naznačeny texty, které jsou ve skutečnosti psány skrytým písmem (hidden). Všechny odstavce s nadpisy témat jsou označeny jako vázané na další text (Keep With Next), takže je zakázáno jejich rolování.
# $ K Úloha evidence prodeje
Úloha evidence prodeje slučuje prodej pomocí bezhotovostních plateb s platbami hotovostními. Přitom umožňuje rozčlenit účetní operace podle jednotlivých akcí, jak to vyžadují platné zákony, zejména Zákon o daních z příjmů
pro právnické osoby.Základní formulářformular umožňuje zadat všechny informace o odběrateli a konkrétním prodeji včetně nastavení akcevolba_akce, ke které se tento prodej váže. Dále je možno vytisknout fakturu nebo účtenku při platbě v hotovosti.
Platby prostřednictvím faktur přicházejí na běžný účet. V úloze je možno je evidovatuctovani a získat tak možnost tisknout celkové přehledy příjmů za jednotlivé akce včetně sledování očekávaných plateb. Tím je řešena evidence odeslaných faktur a návaznost na evidenci pohledávek.
Platby v hotovosti, které jsou obvykle drobné je možno za zvolený časový úsek sumarizovat a zavést do hlavní účetní knihy (peněžní deník) vcelku. Tím se úloha chová jako účetní evidence samostatné
pokladny.Samozřejmostí je možnost rychlého
nalezení požadované fakturyvolba_cisla.
Tato úloha slouží současně jako ukázka možností programu MS-Access. Všimněte si zejména použití
menumenu u formulářůformular a sestavsestava, dále pak obsluhy horkých kláveshorke_klavesy (makro AutoKeys), automatické spuštění obsluhy po otevření úlohy (makro AutoExec), komunikaci s globálními proměnnými v programu (module Podpora), s jejichž pomocí jsou přebírány některé globální informace jako aktuální rok apod. A zejména spolupráce se souborem kontextové nápovědy (soubor prod_95.hlp). Na ten se ostatně právě díváte. Záhy zjistíte, že nápověda je přístupná jen u formulářů a sestav. U ostatních objektů ji nelze připojit.
# o_uloze
$ Informace o úloze
K úloha;hlavní informace;informace o úloze
# $ K + Účtování
Pro zavádění plateb došlých na běžný účet slouží formulář
formular Účtování. Umožňuje zadávat jednotlivé platby. Pro snadnější orientaci je možno vyhledávat požadované fakturyvolba_cisla z nabídky existujících faktur. V tomto formuláři není dovoleno rušit faktury. Pokud je některá platba označena jako zaúčtovaná do hlavní účetní knihy (peněžní deník), pak ji již nelze editovat ani zrušit. Tím je zajištěna kontrola konzistence dat v úloze.
Bližší informace
o_uloze po stisku tlačítka.
# uctovani
$ Účtování
K účtování;zavádění plateb
+ o_uloze:005
# $ K + Volba čísla faktury
Tento formulářformular slouží k volbě čísla faktury, se kterou chceme dále pracovat. Do uvedeného Combo Boxucombo_box je možno zadat ručně požadované číslo faktury (při bezhotovostních platbách je na výpise z běžného účtu uvedeno jako konstantní symbol platby). Případně je možno využít nabídky existujících faktur a z ní vybrat.
# volba_cisla
$ Volba čísla faktury
K číslo faktury;volba čísla
+ o_uloze:010
# $ K + Volba čísla akce
Tento formulářformular slouží k volbě čísla akce, se kterou chceme dále pracovat. Do uvedeného Combo Boxucombo_box je možno zadat ručně požadované číslo. Případně je možno využít nabídky existujících akcí a z ní vybrat.
# volba_akce
$ Volba čísla akce
K číslo akce;volba akce
+ o_uloze:015
# $ K + Horké klávesy
Při práci s formulářem
formular nebo sestavousestava je možno použít horké klávesy.Jsou to předdefinované kombinace kláves. Po
stisknutí horké klávesystisk_klavesy je provedena příslušná činnost.
V úloze jsou použitelné následující
horké klávesy :CTRL+Shift+A - tisk seznamu akcí.
CTRL+Shift+C - tisk celkového přehledu prodeje zboží.
CTRL+Shift+D - tisk adresních štítků pro účastníky zvole
né akce.CTRL+Shift+E - konec práce s fakturami, přechod do hlavního okna databáze.
CTRL+Shift+I - tisk seznamu instalací programu SIPRO.
CTRL+Shift+N - přechod k formuláři
formular pro účtováníuctovani.CTRL+Shift+O - odúčtování nových (dosud nezaúčtovaných) účtenek prodeje příruček (akce č.3).
CTRL+Shift+P - tisk přehledu nových (dosud nezaúčtovaných) účtenek prodeje příruček (akce č.3).
CTRL+Shift+R - volba aktuálního roku, se kterým se pracuje, pro který se tisknou sestavy apod.
CTRL+Shift+U - konec práce, uzavření databáze i programu MS-Access.
CTRL+Shift+V - tisk vyúčtování pro zvolenou akci.
CTRL+Shift+Z - tisk seznamu nabízeného zboží.
Pokud je možno některou činnost
menumenu nebo stisk tlačítkatlacitko vyvolat také horkou klávesou, je tato klávesa znázorněna podtržením příslušného písmene v názvu. Tato činnost menu se pak vyvolává stiskem klávesy Alt+podtrhnutého písmene. Postup je standardní jako ve všech aplikacích pod OS MS-Windows. Z toho vyplývá, že u každého menu (tedy u každého formuláře nebo sestavy) mohou tyto horké klávesy vyvolávat jinou činnost menu.Poznámka : Horké klávesy jsou přístupné ve všech formuláříchformular nebo sestaváchsestava. Jejich pomocí jsou tedy vyvolatelné jen globální činnosti, které nejsou závislé na aktuálním otevřeném objektu.
Bližší informace
o_uloze po stisku tlačítka.
# horke_klavesy
$ Horké klávesy
K klávesa horká;horká klávesa; Hot Keys;provedení činnosti
+ o_uloze:020
# $ K + Tisková sestava
Tisková sestava slouží k výstupu informací z úlohy na tiskárnu. Informace přehledně zpracovává, poskytuje také řadu informací o součtech položek apod.
U tiskové sestavy je možno nastavit parametry tiskárny, rozměry papíru apod., následně vytisknou sestavu na tiskárnu.
Bliž
ší informace o_uloze po stisku tlačítka.
# sestava
$ Tisková sestava
K sestava;tisková sestava;Report
+ o_uloze:025
# $ K + Hlavní formulář
Hlavní formulář slouží ke vstupu hlavních údajů a současně k řízení úlohy. Obsahuje objekty pro vstup údajů, jako :
Text Boxtext_box,
List Boxlist_box,
Combo Boxcombo_box,
Option Groupoption_group,
kterými jsou vybaveny všechny formulářeformular. Informace o tom, k čemu jednotlivé objekty slouží, nese řada návěští Labellabel.
Obsahuje také prostředky pro řízení činnost s úlohou. Jsou to především různá tlačítka
tlacitko, dále pak menumenu a případně také horké klávesyhorke_klavesy.V některých úlohách hlavní formulář neumožňuje vkládání ani editaci údajů, ale slouží jen k řízení úlohy, např. :
{bmc hlavni.shg}
Bližší informace
o_uloze po stisku tlačítka.
# hlavni_objekt
$ Hlavní formulář
K formulář hlavní;objekt hlavní;úloha;řízení úlohy
+ o_uloze:030
# $ K + Menu
Menu je seznam činností, které je možno v daném okamžiku provádět. Menu je umístěno na horním okraji obrazovky.
Všechny činnost jsou rozděleny do několika skupin uvedených na vodorovné liště menu. Volbou skupiny je rozvinuta svislá nabídka konkrétních činností. Zvolením některé z činností je tato činnost provedena a menu opuštěno.
Menu s rozvinutou skupinou činností :
Poznámka : V názvech některých činností jsou některá písmena podtržena. Jsou tak naznačeny horké klávesyhorke_klavesy, kterými je možno vyvolat stejnou činnost přímo při práci s aktuálním objektem.
# menu
$ Menu
K menu;nabídkové menu
+ hlavni_objekt:005
# $ K + Formulář slouží ke vstupu údajů a současně k řízení celé úlohy, je tedy základním objektem databáze. Obsahuje objekty pro vstup údajů, jako :
Text Boxtext_box, List Boxlist_box, Combo Boxcombo_box, Option Groupoption_group,nebo řízení úlohy. Sem patří především obslužná tlačítka
tlacitko, připojené menumenu nebo horké klávesystisk_klavesy.
# formular
$ For
mulářK formulář
+ hlavni_objekt:010
# $ K + Tlačítko
Tlačítko je výkonný prvek formuláře
formular. Slouží k vyvolání požadované činnosti. Název tlačítka nebo piktogram v tlačítku naznačuje o jakou činnost se jedná. Je přitom možné, aby jedno tlačítko vykonávalo více činností. Např. při stisku tlačítka bude vykonána jiná činnost než při dvojím kliknutídvojcvak (”dvojcvaku”) na tlačítku.
Tlačítko s popisem činnosti, kterou vykonává :
Tlačítko s piktogramem naznačujícím jakou či
nnost vykonává :Poznámka : V názvech některých činností jsou některá písmena podtržena. Jsou tak naznačeny horké klávesyhorke_klavesy, kterými je možno vyvolat stejnou činnost přímo při práci s aktuálním objektem.
# tlacitko
$ Tlačítk
oK tlačítko;provedení činnosti
+ formular:005
# $ K + Text Box
Objekty třídy
Text box slouží pro ruční vkládání hodnot. Mohou být různého datového typu (textové, číselné, datumové apod.). Příklad :
Objekt třídy
Text box nemusí sloužit pro vkládání hodnot konkrétní položky, ale také pro informační výpisy apod. Příklad :
# text_box
$ Text box
K Text box;zadání hodnoty
+ formular:010
# $ K + List Box
Objekt třídy
List box slouží ke vstupu údajů s výběrem z nabízených možností. Objekt má vyhrazen prostor, na kterém zobrazuje jednotlivé možnosti. Pokud je není možno zobrazit současně všechny, je možno mezi nimi listovat pomocí rolovacího pásku na pravé straně objektu. Není možno zadat jinou hodnotu než tu, která je nabízena. Tím se tento objekt zásadně liší od objektu třídy Combo Boxcombo_box.V objektu třídy
Combo box není možno zadat prázdnou hodnotu (NULL), a to ani zrušením předchozí hodnoty. (Pokud je v objektu některá hodnota nastavena jako implicitní).
Příklad :
# list_box
$ List box
K List box;výběr z nabídky
+ formular:015
# $ K + Combo Box
Objekt třídy
Combo box slouží ke vstupu údajů s možností vybrat si některou z nabízených možností. Nabídku přípustných možností rozvíjí tlačítko na pravé straně objektu. Pokud budeme zapisovat obsah objektu ručně, v nabídce bude prováděn přesun vždy na první hodnotu, která se svým začátkem shoduje s napsanou hodnotou. Při zadávání hodnot je možno zadat také hodnotu, která se v nabídce vůbec nevyskytuje. Obsluha tuto skutečnost zjistí a nabídne nám vložení nové hodnoty do nabídky. Pokud novou hodnotu do nabídky vložíme, bude od příštího otevření tohoto formulářeformular nabízena mezi ostatními.V objektu třídy
Combo box je možno zadat také prázdnou hodnotu (NULL), a to i zrušením předchozí hodnoty.
Příklad :
Poznámka : Pokud vložíme do objektu novou hodnotu a neuložíme ji do nabídky hodnot, může dojít ke ztrátě informací v některých sestavách, které jsou prováděny jen pro zvolené hodnoty příslušné položky. Námi vložená nabídka se nenachází v seznamu hodnot a proto ji nebude možno zvolit.
# combo_box
$ Combo box
K Combo box;výběr s nabídkou
+ formular:020
# $ K + Option Group
Objekt třídy
Option Group slouží pro určení obsahu položky výběrem některé z nabízených možností.Jednotlivé možnosti jsou přitom zastoupeny výběrovými tlačítky
Option buttonoption_button nebo výběrovými boxy Check boxcheck_box. Volbu provedeme výběrem jednoho z tlačítek. Výběrem jiného tlačítka je předchozí volba zrušena. Lze tedy zvolit jen jednu z těchto možností.
Příklad :
Poznámka : Jednotlivým tlačítkům z nabídky jsou přiřazeny číselné hodnoty, které jsou v případě jejich volby uloženy do zdrojové položky.
# option_group
$ Option Group
K Option Group;výběr z nabídky
+ formular:025
# $ K + Option Button
Objekty třídy
Option Button slouží k zadávání položek obsahujících logické hodnoty. Stisknutím tlačítka změní hodnotu na Yes (True) nebo No (False). Stav tlačítka indikuje nastavenou hodnotu :plné tlačítko - Yes (True),
prázdné tlačítko - No (False).
Obdobný význam a použítí má objekt třídy
Check Boxcheck_box.
Příklad:
Poznámka : Pokud objekt nemá zadánu implicitní hodnotu pak je na počátku nastavena hodnota NULL, která je indikována stejně jako hodnota No (False).
# option_button
$ Option Button
K Option Button;zadání logické hodnoty
+ formular:030
# $ K + Check box
Objekty třídy
Check box slouží k zadávání položek obsahujících logické hodnoty. Stisknutím tlačítka změní hodnotu na Yes (True) nebo No (False). Stav tlačítka indikuje nastavenou hodnotu :zaškrtnuté tlačítko - Yes (True),
prázdné tlačítko - No (False).
Obdobný význam a použítí má objekt tří
dy Option Buttonoption_button.
Příklad:
Poznámka : Pokud objekt nemá zadánu implicitní hodnotu pak je na počátku nastavena hodnota NULL, která je indikována stejně jako hodnota No (False).
# check_box
$ Check box
K Check box;zadání logické hodnoty
+ formular:035
# $ K + Návěští (Label)
Pomocí objektů třídy
Label jsou tvořeny různé informační popisy a komentáře.
Příklad :
# label
$ Návěští
K Label;návěští;informační text
+ formular:040
# $ K Horké klávesy jsou předdefinované kombinace kláves. Po jejich stisku je provedena příslušná činnost. Mohou být jednoduché, např. klávesy F1, F2 ..., ale také složené, jako CTRL+Shift+A. Tyto složené klávesy musí být stisknuty současně. Nejjednodušeji jejich stisk provedeme tak, že stiskneme klávesy jako CTRL, Shift a při jejich stálém držení stiskneme klávesu příslušného písmene. Tak dojde k provedení požadované činnosti.
# stisk_klavesy
$ Stisk horké klávesy
K klávesa stisk;provedení činnosti
# $ K Jako dvojí kliknutí nebo též ”dvojcvak” označujeme manipulaci s myší, při níž umístíme ukazovátko myši na některý objekt. Pak dvakrát rychle stiskneme levé tlačítko myši, aniž bychom s ní pohnuli.
Tato manipulace s tlačítky myši je snad nejčastě
jší.
# dvojcvak
$ Dvojí kliknutí
K dvojí kliknutí;kliknutí;dvojcvak;myš
Jak ste si jistě povšimli, jsou všechny obrázky zařazeny přímo do textu. Dvojím podtržením obrázku znázorňujícího tlačítko s textem "O úloze" je vytvořeno tlačítko, které způsobí přechod na určené téma:
Bližší informace
o_uloze po stisku tlačítka.
Stejného výsledku bychom dosáhli, pokud bychom na tento obrázek umístili v editoru horkých ploch (SHED.EXE) horkou plochu přes celý obrázek a nastavili, že plocha nemá být viditelná. Připojení pak provedeme takto :
Bližší informace {bmc tlacitko.shg} po stisku tlačítka.
Jedinou výjimku tvoří obrázek znázorňující obslužný formulář. V tomto obrázku bylo vytvořeno několik
horkých ploch. Ty byly vytvořeny v editoru horkých ploch (SHED.EXE). Výsledný obrázek s horkými plochami již nelze umístit přímo do textu, proto je připojen pomocí odkazu :
{bmc hlavni.shg}
Na obr. 6 je znázorněna tvorba jednotlivých horkých ploch v obrázku HLAVNI.SHG pomocí editoru horkých ploch (SHED.EXE).
Obr. 66. Tvorba horkých ploch v obrázku HLAVNI.SHG
8.4 Práce s nápovědným souborem
Jakmile jsou všechny soubory potřebné pro vytvoření nápovědného souboru hotovy, spustíme nápovědný překladač (HC31.EXE) a provedeme překlad souboru. Získáme soubor s názvem PROD_95.HLP, který můžeme otevřít pomocí obslužného programu WINHELP.EXE. V otevřeném okně bude zobrazeno hlavní téma (Contents), jak vidíme na obr.
7.
Obr.77. Otevřený nápovědný soubor
Při práci s nápovědným souborem můžeme využívat všechny vytvořené skokové texty, horké plochy apod. Kromě toho je přístupné standardní menu. Zde je nejzajímavější činnost Bookmark, pomocí ní si můžeme aktuální téma označit a pak se k němu rychle vrátit. Zbývající činnosti s nápovědným souborem jsou zpřístupněny pomocí tlačítek. Část tlačítek je standardních a část jsme při tvorbě nápovědného souboru přidali a připojili k nim nápovědná makra. Rozeberme si nyní krátce činnost jednotlivých tlačítek :
Tlačítko Contents
Toto tlačítko provádí standardní činnost. Zobrazí
hlavní téma nápovědného souboru, tedy téma, které je zapsáno v klauzuli CONTENTS sekce [OPTIONS] projektového souboru.Tlačítko Search
Tlačítko
Search otevře okno pro vyhledání požadovaného tématu. Okno má dvě části, jak vidíme na obr. 8. V horní části najdeme požadované klíčové slovo (ve zdrojovém souboru PROD.RTF jsou klíčová slova pro jednotlivá témata uvedena za poznámkou "K"). Po výběru klíčového slova se v dolní části objeví seznam témat u kterých je toto klíčové slovo uvedeno. To znamená, že stejné klíčové slovo může být použito u více témat. Po výběru tématu je proveden přechod na zvolené téma.Obr. 88. Okno pro vyhledání požadovaného tématu v nápovědném souboru
Tlačítko Back
Pokud byl proveden alespoň jeden přechod na jiné téma (pomocí skokového textu, vyhledání tématu apod.), je po stisku tlačítka Back proveden přechod na předchozí téma. Postupným mačkáním tlačítka Back se můžeme vrátit i o několik témat zpět. Pořadí prohlédnutých témat je možno zobrazit pomocí tlačítka History.
Tlačítko History
Toto tlačítko otevře okno obsahující seznam témat v pořadí, jak jsme do nich při práci s nápovědným souborem vstupovali, viz obr.
9. Volbou požadovaného tématu se k němu vrátíme.Obr. 99. Seznam prohlédnutých témat
Tlačítko About
Tlačítko
About bylo přidáno do úlohy pomocí nápovědného makra :CreateButton ("999", "&About","About ()")
v sekci [CONFIG] projektového souboru. Je k němu připojeno makro, které otevře okno s informacemi o stavu systému, autorovi (pokud byl zapsán v klauzuli COPYRIGHT sekce [OPTIONS] projektového souboru), jak vidíme na obr.
10. V definici tlačítka si všimněte zápisu &About. Způsobí, že písmeno A ze slova About bude podtrženo. Současně je možno vyvolat stisk tohoto tlačítka kombinací kláves Alt+A. Jedná se o standardní službu Windows, která byla takto aktivována.
Obr. 1010. Okno zobrazené činností About
Tlačítka << >> (Browse Buttons)
Tlačítka << >> byla připojena v projektovém souboru pomocí makra BrowseButtons (). Jejich zobrazení umožňuje využít nastavené prohlížecí sekvence (ve zdrojovém souboru PROD_95.RTF jsou prohlížecí sekvence pro jednotlivá témata uvedena za poznámkou "+"). Pokud je zobrazeno hlavní téma (Contents) jsou obě tlačítka zneplatněna, nebo toto téma není zapojeno do žádné prohlížecí sekvence. Pokud se přesuneme např. na téma Účtování, které je první v sekvenci, bude možno se pomocí tlačítka >> posouvat na další témata, v pořadí :
Volba čísla faktury, Volba čísla akce, Horké klávesy, Tisková sestava, Hlavní formulář,
čímž sekvence končí.
Tlačítko Print
Toto tlačítko bylo rovněž připojeno v sekci [CONFIG] projektového souboru a bylo mu přiřazeno vyvolání nápovědného makra Print () :
CreateButton("998","&Print","Print()")
Po stisku tlačítka
Print dojde k okamžitému vytištění aktuálního tématu na implicitní tiskárnu. Stejnou činnost lze vyvolat z menu činností File a následně Print Topic. Pokud potřebujeme změnit nastavení tiskárny, je třeba z menu File zvolit činnost Print Setup ... . Během tisku je zobrazeno informační hlášení, které vidíme na obr. 1111.