#K
KLÍČE - odstavec #K
Klíč je jeden nebo několik údajů ( uložených nebo vypočítaných ) z věty
souboru, které postačují k identifikaci celé věty. Používají se k vyhledá-
vání vět a ke spojování souborů. Rozlišujeme následující typy klíčů:
■ vlastní klíč ........ slouží k identifikaci věty uvnitř souboru
umožňuje rychlé hledání v datovém editoru pomocí
F3 a připojení podřízených souborů cizím klíčem
■ parametrický klíč ... definice globálních proměnných úlohy
■ cizí klíč ........... napojení do nadřízeného souboru (číselníku)
umožňuje přebírat údaje z viditelné věty
(věta nadřízeného souboru se stejnou hodnotou klíče)
a navigaci po databázi směrem nahoru i dolů
Definice klíčů se mohou v deklaraci střídat s odstavcem vypočítaných údajů.
Pomocí parametrických a cizích klíčů se odvoláváme ve výrazech na údaje
viditelných souborů tečkovou notací:
█ NázevSouboru.NázevÚdaje ... tečková notace
█ NázevSpojení.NázevÚdaje ... podle typu spojení nadřízeného souboru
Katalog
KATALOG
Katalog je nepovinný soubor přiřazený k úloze (stejné jméno, přípona .CAT,
kterým lze měnit ve speciálních případech některé implicitní vlastnosti,
především jména fyzických souborů na disku. Jedna věta katalogu odpovídá
jednomu souboru v úloze (soubor je pak katalogizovaný) a obsahuje údaje:
■ Název úlohy ..... Úloha, v níž je soubor popsán a používán.
■ Název souboru ... Logické jméno souboru používané ve zdrojových textech
úlohy (pozor - nemusí jít nutně o kapitolu F).
Název kapitoly F se uvádí bez přípony (.X,.RDB,.DBF)
■ Číslo archivace . Zařazení souboru do úrovně archivace (viz.zálohování)
■ Cesta ........... Fyzické jméno souboru (Jednotka,Cesta,Jméno,Přípona).
Cesta nemusí být úplná, platí běžné konvence MS-DOSu
pro kompletaci cesty s tím, že jako aktuální adresář
platí adresář úlohy.
■ Návěští ......... Volume diskety, pokud se soubor nachází na disketě
nebo znak #, #R, SQL (viz. lokální sítě, SQL)
██ Založení a úprava katalogu
Katalog se zakládá a upravuje z hlavního menu PC FANDu volbou Instalace
úlohy (i v uživatelské verzi).
██ Dynamická změna katalogu aktivní úlohy
Ze spuštěné úlohy je možno dynamicky zasáhnout do katalogu vlastní
úlohy. V každém případě však se zvýšenou opatrností. Jsou v zásadě
dvě možnosti:
■ Přímý přístup k údajům věty katalogu z procedury - path, volume,
generation.
■ Katalog je implicitně deklarovaný datový soubor s názvem catalog,
se kterým lze pracovat jako s běžným souborem.
V katalogu rozlišujeme interní soubory ( datové soubory deklarované v
projektu v kapitole F ) a externí soubory ( texty, programy, záložní kopie
atd. uvedené pouze v katalogu, v projektu se vyskytují bez udání struktury
jako parametry procedur) - viz. soubory v katalogu.
Poznámka Mezi verzí PC FANDu 3.0 (3.01) a 3.2 došlo ke změně struktury
katalogu (položka Ar). Starý formát se na nový převede automaticky,
Převod nového formátu na starý lze provést programem OldCatlg.EXE.
(Samozřejmě lze použít i vhodný MERGE).
Katalog v proceduře
KATALOG V PROCEDUŘE
Key in
PODMÍNKA KEY IN
Často lze dosáhnout řádového zrychlení tím, že se čtení vět ze souboru
podle indexu omezuje na vybrané hodnoty klíče resp. intervaly klíče. Místo
obvyklého logického výrazu pro vstupní podmínku lze použít:
██ key in [SeznamIntervalůNeboHodnot] ... výběr podle indexu
■ prvky seznamu: Hodnota nebo DolníHodnota..HorníHodnota (interval hodnot)
Slovo key se vztahuje na klíč, podle kterého se soubor čte (při fyzickém
pořadí není key in povolen). Hodnoty v seznamu mohou být konstanty nebo
výrazy. Má-li klíč více údajů, píše se seznam výrazů v závorkách-lze zadat
i jen prvních n údajů (pro zbytek údajů chceme všechny hodnoty ). Podmínku
key in lze kombinovat s běžnou vstupní podmínkou:
■ key in [...] & LogickýVyraz ... filtr pro věty vybrané podmínkou key in
■ key in nelze kombinovat s podmínkou owner
Použití podmínky key in v projektu
■ vstupní podmínka sestavy: VstupSestavy - kapitola R nebo příkaz report
■ vstupní podmínka transformace: VstupTransformace - kapitola M
■ vstupní podmínka příkazů procedury edit, report, graph, forall, getindex
░░░░░░░░░░░░
░░příklady░░
░░░░░░░░░░░░
key in ['200'..'499','623','900'..'999'] {seznam intervalů a hodnot}
key in [1.9.39..8.5.45]
key in ['Praha','Brno','Bratislava']
key in [PARAM.Od..PARAM.Do]
key in [i,j,k..l]
key in [(1.1.92,5000)..(31.12.92,10000)]
key in [('010','000','00')..('020','999','99')]
edit(DATA,(),cond=(key in [...])); {použití v projektu}
edit(DATA,(),cond=(key in [...] & Středisko='005'));
report(DATA/@,(),cond=(key in [...]));
forall Věta/Klíč (key in [...]) do ...;
#I_DATA/@ (key in [...]) {vstup sestavy}
#I2_DATA/Klíč (key in [...] & Datum>0) {vstup transformace}
KeyBuf
OŠETŘENÍ KLÁVESNICE
KeyOf
KEYOF
Funkce procedury, která vrací interní string klíče zadané věty souboru.
Jde o jednu z funkcí , které podporují práci s větami souborů. Lze použít
dva formáty.
██ Syntaxe: KEYOF ( RecordProměnná [ /NázevKlíče ] ) : string
KEYOF ( Soubor[/NázevKlíče] ,SeznamArgumentůKlíče) : string
■ RecordProměnná ......... proměnná typu record of soubor
■ NázevKlíče ............. vlastní (alternativní) klíč souboru
■ SeznamArgumentůKlíče ... odpovídá co do počtu a typu položek deklaraci
klíče. Podobně jako recno.
■ Souvislosti ............ funkce edreckey,
příkazy readrec, writerec, deleterec,
parametr editace reckey
SQL
░░░░░░░░░░░░
░░příklady░░
░░░░░░░░░░░░
██ F PSC.x * psc : N,5 ; #K @ psc ; { seznam psc }
P Ukazka1 * VAR rec : record of PSC ;
s : string ;
BEGIN rec.psc := prompt(' zadej psč: ':N,5) ;
s:=keyof(rec) ; { hodnota klice }
readrec( rec,s) ; { pokus o precteni }
if IsDeleted(rec) { vysledek cteni }
then message('psč není v seznamu')
else message('psč je v seznamu') ;
...
END ;
KeyPressed
OŠETŘENÍ KLÁVESNICE
Klávesnice
KLÁVESNICE
V datovém a textovém editoru vyvolá kombinace kláves Alt-F8 nabídku pro
přepínání mezi různým rozložením znaků na klávesnici:
■ klávesnice standardní .......... bez předefinování klávesnice
■ klávesnice česká ............... jako český psací stroj
■ klávesnice česká amatérská ..... mění pouze horní řadu kláves
(malá písmena pod čísly, čárka/háček
a některé úpravy pro slovenčinu)
■ klávesnice slovenská ........... jako slovenský psací stroj
■ klávesnice německá amatérská ... německé rozložení
Lze instalovat, která klávesnice bude aktivní po startu PC FANDu.
Klávesnice česká
ČESKÁ KLÁVESNICE
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
│; │1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │% │hák│' │BS │
│` │+ │ě │š │č │ř │ž │ý │á │í │é │= │čár│pře│ │
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
│ Tab │ │ │ │ │Z │ │ │ │ │ │/ │( │ │
│ │ │ │ │ │z │ │ │ │ │ │ú │) │ │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┘ │
│ Caps │ │ │ │ │ │ │ │ │ │" │! │ Enter │
│ Lock │ │ │ │ │ │ │ │ │ │ů │§ │ │
├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
│ Shift │Y │ │ │ │ │ │ │? │: │_ │ Shift │
│ │y │ │ │ │ │ │ │, │. │- │ │
├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─────┤
│Ctrl │ │ Alt │ │ Alt │ │Ctrl │
│ │ │ │ │ │ │ │
└─────┘ └─────┴───────────────────────────┴─────┘ └─────┘
Klávesnice česká amatérská
ČESKÁ AMATÉRSKÁ KLÁVESNICE
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
│ │! │@ │# │$ │% │^ │& │* │( │) │ │hák│ │BS │
│ │+ │ě │š │č │ř │ž │ý │á │í │é │ │čár│ │ │
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
│ Tab │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┘ │
│ Caps │ │ │ │ │ │ │ │ │ │ │ │ Enter │
│ Lock │ │ │ │ │ │ │ │ │ │ │ │ │
├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
│ Shift │ │ │ │ │ │ │ │ │ │ │ Shift │
│ │ │ │ │ │ │ │ │ │ │ │ │
├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─────┤
│Ctrl │ │ Alt │ │ Alt │ │Ctrl │
│ │ │ │ │ │ │ │
└─────┘ └─────┴───────────────────────────┴─────┘ └─────┘
znaky + a = získáme dvojitým stiskem odpovídající klávesy
Podporované kombinace: háček+A ä,Ä Jen LATIN 2
pro slovensko háček+p,P ö,Ö čárka+p,P ő,║
háček+h,H ü,Ü čárka+h,H ű,Ű
Klávesnice německá amatérská
NĚMECKÁ AMATÉRSKÁ KLÁVESNICE
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
│' │! │" │# │$ │% │^ │& │* │( │) │/ │+ │| │BS │
│` │1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │ß │= │\ │ │
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
│ Tab │ │ │ │ │ │ │ │ │ │ │Ü │} │ │
│ │ │ │ │ │ │ │ │ │ │ │ü │] │ │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┘ │
│ Caps │ │ │ │ │ │ │ │ │ │Ö │Ä │ Enter │
│ Lock │ │ │ │ │ │ │ │ │ │ö │ä │ │
├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
│ Shift │ │ │ │ │ │ │ │; │: │? │ Shift │
│ │ │ │ │ │ │ │ │, │. │- │ │
├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─────┤
│Ctrl │ │ Alt │ │ Alt │ │Ctrl │
│ │ │ │ │ │ │ │
└─────┘ └─────┴───────────────────────────┴─────┘ └─────┘
Klávesnice slovenská
SLOVENSKÁ KLÁVESNICE
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
│ ; │1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │% │hák│ │BS │
│ ` │+ │ľ │š │č │ť │ž │ý │á │í │é │= │čár│ │ │
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
│ Tab │ │ │ │ │ │Z │ │ │ │ │/ │( │ │
│ │ │ │ │ │ │z │ │ │ │ │ú │ä │ │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┘ │
│ Caps │ │ │ │ │ │ │ │ │ │" │! │ Enter │
│ Lock │ │ │ │ │ │ │ │ │ │ô │) │ │
├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
│ Shift │Y │ │ │ │ │ │ │? │: │_ │ Shift │
│ │y │ │ │ │ │ │ │, │. │- │ │
├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─────┤
│Ctrl │ │ Alt │ │ Alt │ │Ctrl │
│ │ │ │ │ │ │ │
└─────┘ └─────┴───────────────────────────┴─────┘ └─────┘
Podporované kombinace: háček+A Ä Jen LATIN 2
háček+p,P ö,Ö čárka+p,P ő,║
háček+h,H ü,Ü čárka+h,H ű,Ű
Klávesnice standardní
STANDARDNÍ KLÁVESNICE
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
│~ │! │@ │# │$ │% │^ │& │* │( │) │_ │+ │| │BS │
│` │1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │- │= │\ │ │
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
│ Tab │ │ │ │ │ │ │ │ │ │ │{ │} │ │
│ │ │ │ │ │ │ │ │ │ │ │[ │] │ │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┘ │
│ Caps │ │ │ │ │ │ │ │ │ │ │ │ Enter │
│ Lock │ │ │ │ │ │ │ │ │ │ │ │ │
├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
│ Shift │ │ │ │ │ │ │ │ │ │ │ Shift │
│ │ │ │ │ │ │ │ │ │ │ │ │
├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─────┤
│Ctrl │ │ Alt │ │ Alt │ │Ctrl │
│ │ │ │ │ │ │ │
└─────┘ └─────┴───────────────────────────┴─────┘ └─────┘
Klíč
KLÍČE - odstavec #K
Klíče
KLÍČE - odstavec #K
Kódy řídících a funkčních kláves
KÓDY ŘÍDÍCÍCH A FUNKČNÍCH KLÁVES
Kódy funkčních kláves se zadávají (např. v proceduře setkeybuf) se znakem '\'
a dekadickou hodnotou kódu podle tabulky):
┌─────────────────────────────────────────┐ ┌──────────────────────┐
│ rozšířené klávesy s prefixem \0: │ │ klávesy bez prefixu: │
│ Home ....... 71 │ Ctrl-Šipka vlevo 115 │ │ Tab ........ 9 │
│ Šipka nahoru 72 │ Ctrl-Šipka vpravo 116 │ │ Esc ........ 27 │
│ PgUp ....... 73 │ Ctrl-End ........ 117 │ │ Enter ...... 13 │
│ Šipka vlevo 75 │ Ctrl-PgDn ....... 118 │ │ ^A až ^Z ... 1 až 26 │
│ Šipka vpravo 77 │ Ctrl-Home ....... 119 │ └──────────────────────┘
│ End ........ 79 │ Ctrl-PgUp ....... 132 │
│ Šipka dolů . 80 │ Shift-Tab ....... 15 └──────────┐
│ PgDn ....... 81 │ F1 až F10 ............ 59 až 68 │
│ Ins ........ 82 │ Ctrl-F1 až Ctrl-F10 .. 94 až 103 │
│ Del ........ 83 │ Alt-F1 až Alt-F10 ... 104 až 113 │
│ │ Shift-F1 až Shift-F10 84 až 93 │
│ │ Ctrl-= ..................... 131 │
└─────────────────┴──────────────────────────────────┘
░ setkeybuf('\0\132\0\80'); {Ctrl-PgUp Šipka dolů}
Komentář
STRUKTURA PROJEKTU
Projektový soubor je soubor s předdeklarovanou strukturou věty. Každá věta
obsahuje jednu kapitolu projektu. Popis struktury viz. projektový soubor.
Hlavní program ( start úlohy ) je v proceduře MAIN. Při programování v
projektantském editoru jsou viditelné údaje:
■ Typ ..... typ kapitoly (File, Edit, Report, Merge, Proc, User, Include,
Deklaration(funkce)).
Jedno písmeno, mezera=komentář a věta se při překladu ignoruje.
■ Nazev ... jednoznačný název kapitoly pro její volání z projektu.
Max.12 písmen, název musí být identifikátor (bez mezer apod.).
Jednoznačnost názvu se kontroluje v rámci každého typu kapitoly,
nebo-li dvě kapitoly s odlišným typem mohou mít stejný název.
Ovšem, zachování jednoznačnosti v celé úloze je vhodné nejen pro
přehlednost ale i pro mechanismus navigace ShiftF1 po úloze.
■ Text .... volný text s vlastní deklarací kapitoly
Editace volného textu: Ins dovnitř, Esc zpět do datového
editoru. Komentáře uzavíráme do složených závorek { komentář }.
Komentáře mohou být i vnořené. { { komentář1 } { aaa } neco; }
Typy kapitol:
■ D ... deklarace uživatelských funkcí
■ F ... deklarace souboru, uložené a vypočítané údaje, klíče, aditivní změny,
kontroly, implicitní přiřazení, uživatelské pohledy, závislosti;
vzhledem k deklarativnímu programování je kapitola F těžištěm projekt
■ E ... editační formulář pro jeden soubor, rozvrh obrazovky
■ R ... tisková sestava, stránkování, součtování, výběr vět, typy písma atd.
■ M ... sekvenční transformace až devíti vstupních souborů, výpočty
■ P ... procedura pro řazení kroků projektu a dialog s uživatelem
■ U ... seznam oprávněných uživatelů a jejich hesel
■ I ... vkládané kapitoly (Include)
■ L ... logický programovací jazyk typu PROLOG
Komunikace s rezidentním programem
KOMUNIKACE S REZIDENTNÍM PROGRAMEM
Komunikační příkazy
KOMUNIKAČNÍ PŘÍKAZY PROCEDURY
■ menu .......... uživatelská nabídka (menu)
■ menuloop ...... nabídka v cyklu
■ menubar ....... vodorovná nabídka
■ write ......... výstup na obrazovku
■ writeln ....... s odřádkováním
■ gotoxy ........ nastavení kurzoru
■ clrscr ........ mazání obrazovky nebo okna
■ clreol ........ mazání konce řádku
■ display ....... uživatelská obrazovky
■ help .......... vyvolání nápovědy
■ headline ...... první řádek obrazovky
■ message ....... hlášení v posledním řádku
■ setkeybuf ..... naplnění bufferu klávesnice
■ clearkeybuf ... vyprázdnění bufferu
■ wait .......... čekání na vstup z klávesnice
■ delay ......... pauza
■ with window do ... definice okna pro další výstup
příkazy pro zvuk
■ sound ......... zapne zvuk se zadanou výškou
■ nosound ....... vypne zvuk
■ beep .......... jednorázové instalovatelné pípnutí
komunikační funkce
■ readkey ....... ošetření klávesnice
■ keybuf
■ keypressed
■ maxcol ........ rozměry obrazovky
■ maxrow
■ prompt ........ dotaz uživateli - zadání hodnoty z klávesnice
■ escprompt
■ promptyn ...... dotaz na 25.řádku
■ getpath ....... dotaz uživateli - výběr souboru z disku
■ selectstr ..... dotaz uživateli - výběr z pole textů
■ edbool ........ text výrazu podmnožiny v datovém editoru
Příkazy a funkce pro myš
■ setmouse ...... nastavení pozice myši
■ mouseevent .... čtení událostí z fronty
■ ismouse ....... větvení dle druhu události
■ mousein ....... testování pozice myši
■ mousex ........ souřadnice kurzoru myši
■ mousey ........ - " -
Konstanty
KONSTANTY
■ číselná konstanta ... celé číslo (příp. se znaménkem)
... číslo s pevnou řádovou čárkou
... exponenciální tvar čísla
... datum ve tvaru DD.MM.YY nebo DD.MM.YYYY
... čas ve tvaru hh:mm, hh:mm:ss nebo hh:mm:ss.tt
■ textová konstanta ... řetězec libovolných znaků v apostrofech
apostrof uvnitř konstanty: dva apostrofy ''
znak zadaný dekadickým kódem znaku: \nnn
■ logická konstanta ... false, true
░░░░░░░░░░░░
░░příklady░░
░░░░░░░░░░░░
██ datum 12.7.1995 lze zadat konstantou 12.7.1995 nebo 12.7.95
12.7.95 12.7.0095
1.1.1 1.1.0001
1.1.1996 1.1.1996 nebo 1.1.96
Konstrukce nápovědy
KONSTRUKCE NÁPOVĚDY
Každá úloha může mít jeden help-soubor ( deklarovaný v kapitole F ) pro
nápovědu k projektu. Věta help-souboru obsahuje Heslo pro identifikaci
konkrétní nápovědy a volný Text obsahující vlastní nápovědu ( obrazovku
textu ). Soubor pro nápovědu má v NázvuSouboru příponu .HLP a obsahuje
povinně dva údaje:
■ Heslo:A,n ... deklarace .HLP souboru
■ Text:T délka hesla i názvy identifikátorů jsou libovolné
Pomocí Hesla lze obrazovku Text vyvolat na různých místech projektu:
■ menu, menuloop, menubar: nápověda k jednotlivým volbám nabídky
■ logické kontroly: bližší vysvětlení chyby pro uživatele v datovém editoru
■ message: bližší specifikace chybové zprávy
■ edit: editace s módem 'F1' nebo 'F124' - nápověda k jednotlivým údajům
souboru pro každý údaj existuje nápověda s heslem
NázevSouboru.NázevÚdaje
Hesla mohou obsahovat masku (se znaky *, ?) - společná nápověda.
Při pohybu po souboru se na posledním řádku ( na 24.řádku při F124)
zobrazí první řádek z textu helpu. Klávesa Ctrl-F1 vyvolá nápovědu
na celou obrazovku. Pokud první řádek textu uzavřeme do {...},
tak se zobrazí jen jako krátká nápověda, ale vynechá se při
zobrazení celé obrazovky.
■ help: příkaz pro vyvolání nápovědy kdekoliv v proceduře.
■ display : pouze zobrazí zvolený text, ale bez mechanismu navigace.
Nápověda v podúlohách
V podúloze může být definována vlastní nápověda. Při použití stejného
hesla se vybere heslo z podúlohy. Pokud není nalezeno heslo v nápovědě
úlohy, hledá se v helpu nadřízené úlohy.
Navigace po nápovědě
Jednotlivé obrazovky (věty help-souboru) mohou být propojeny pomocí hesel.
Heslo uvnitř textu je ohraničeno mezi znaky ^S , zvýrazněné části textu
mezi ^B. Potom lze nápovědu procházet podle obvyklého schématu. Hesla
mohou obsahovat masky (*, ?). Úvodní obrazovka nápovědy ( help index ) má
heslo root - naviguje se na něj dvojím stiskem F1.
Heslo s prázdným textem: jako odpovídající obrazovka (Text) se vezme první
neprázdný text za tímto heslem.Tak může mít několik hesel stejnou nápovědu.
Kontroly
LOGICKÉ KONTROLY - odstavec #L
Logická kontrola je obecný logický výraz, který musí splňovat každá věta
souboru. Jestliže je výsledkem jeho vyhodnocení hodnota false ( nepravda,
tzn. došlo k chybě integrity dat ), datový editor vypíše chybové hlášení
a bude požadovat opravu.
██ Syntaxe: #L { LogickýVýraz [?] [ : ChybovéHlášení ] [ ,Heslo ] ; }
■ LogickýVýraz ..... Vlastní logická kontrola.
■ ? ................ Jde jen o varování, má samostatný přepínač (F5),
místo error se použije warning
■ ChybovéHlášení ... Textový výraz.
Pokud věta nesplňuje LogickýVýraz, vypíše se toto
chybové hlášení. Není-li uvedeno, vypíše se text
logického výrazu.
■ Heslo ............ Odkaz do help-souboru při nesplnění log.podmínky.
Help může obsahovat podrobnější pokyny pro obsluhu.
Pokud heslo není identifikátor, musí být uzavřeno
v apostrofech (textový výraz). Po stisku F1 se
zobrazí jeho Text a vyvolá se nápověda
Logické kontroly lze vypnout (F5 v datovém editoru) - nevztahuje se na
varování. Vypnutí logických kontrol obsluhou může programátor zakázat
použitím mode='#L' (módy datového editoru).
░░░░░░░░░░░░
░░příklady░░
░░░░░░░░░░░░
#L Věk>15 : 'Špatně zadané datum narození';
Pohlaví in ['M','Z'] : 'Přípustné hodnoty jsou M a Z';
Mzda>PARAM.MinMzda & Mzda<=10000
Množství>0: 'Množství musí být kladné', 'Heslo'
ČÍSELNÍK.exist: 'Tento druh zboží neexistuje v číselníku'
Množství>ZBOŽÍ.MaxMnož => Sleva>0
Kopírování a převody
KOPÍROVÁNÍ A PŘEVODY