Náhodné číslo

NÁHODNÉ ČÍSLO
Funkce random vrací náhodné číslo z intervalu <0,1). Protože však PC FAND
interně také používá generátor náhodných čísel, je třeba při specifických
požadavcích generátor inicializovat. Procedura randomize inicializuje
generátor náhodných čísel náhodnou hodnotou , odvozenou ze systémových
hodin. Interní proměnná randseed obsahuje startovací hodnotu generátoru.
Po nastavení randseed na určitou hodnotu jsou generována náhodná čísla v
naprosto konkrétním pořadí.


██ Syntaxe: RANDOM : real .... funkce

RANDSEED := ČísVýraz .... interní proměnná

RANDOMIZE .... příkaz procedury

Nápověda

NÁPOVĚDA
Právě si prohlížíte nápovědu PC FANDu. Kromě toho může programátor opatřit
projekt vlastní nápovědou pro konkrétní úlohu. Nápověda obsahuje řadu
spojených obrazovek, ve kterých se můžete pohybovat prostřednictvím
zvýrazněných hesel. Nápověda se vyvolává z projektu klávesami:

Uživatelské prostředí:
■ F1 ....... v datovém a textovém editoru -> ovládání editoru (help FANDu)
v menu -> nápověda k volbě (help FANDu nebo úlohy dle kontextu)
■ Ctrl-F1 .. v datovém editoru (mód F1,F124) -> nápověda k aktuálnímu údaji
(help úlohy)
■ Alt-F10 .. aktivuje poslední volaný help (nezaměnit s F10).

Projektantské prostředí:
Další možnosti navíc oproti běžnému uživatelskému prostředí.
■ Alt-F1 ... v projektantském prostředí uvnitř kapitoly -> syntaxe kapitoly
■ Ctrl-F1 .. uvnitř kapitoly, kurzor ukazuje na jméno -> syntaxe funkce
■ Alt-F2 ... z editace úlohy -> vyvolání helpu úlohy
z editace souboru -> vyvolání odpovídající položky helpu úlohy
z menu -> vyvolání odpovídající položky helpu úlohy, pokud
není, založí

Během prohlížení nápovědy lze použít klávesy:

■ šipky ............ pohyb po zvýrazněných heslech (tématech)
■ Enter ............ přechod k další obrazovce popisující zvýrazněné heslo
■ F10 .............. návrat k předchozí obrazovce
■ F1 ............... přechod k první obrazovce nápovědy (help index)
■ F6 ............... tisk aktuálního textu helpu
■ Esc .............. ukončení nápovědy a návrat do programu
■ PageUp, PageDn ... listování v několikastránkových nápovědách
■ CtrlHome,CtrlEnd . lineární pohyb po helpu

Navigace

NAVIGACE PO DATABÁZI
Navigace umožňuje vyvolat z editace souboru datový editor pro jiný soubor,
tedy vloženou editaci s pozdějším návratem do místa vyvolání. Před vyvoláním
editoru z okna vyberete požadovaný soubor nebo uživatelský pohled.

■ F7 (soubor) ... navigace směrem nahoru z podřízeného souboru do nadřízeného
nabídnou se pouze k němu nadřízené soubory
editor najde viditelnou větu (má stejný klíč) nebo nejbližší vyšší
■ Ctrl-F7 (podřízený soubor) ... navigace směrem dolů (nad.-> pod.)
nabídnou se pouze podřízené soubory s odpovídajícím vlastním klíčem
vyberou se jen odpovídající věty podřízeného souboru (se stejným klíčem)
■ Alt-F7 .............. navigace po celé databázi (všechny soubory)
■ Esc ................. návrat z vložené editace
■ Ctrl-F4 (převzít) ... návrat z vložené editace s převzetím hodnoty do údaje

■ Shift-F7 ............ zrychlený způsob navigace směrem nahoru
určeno pro hledání a přenos údaje z nadřízeného souboru
vyvolá se pouze z klíčového údaje, který definuje vazbu směrem nahoru
následuje okamžitý odskok do nadřízeného souboru (pouze prohlížení)
bez výběru souboru nebo uživatelského pohledu, viz. módy datového editoru(S7)
Enter znamená návrat s přenosem klíčového údaje, Esc návrat bez přenosu
Pokud v odpovídajícím pohledu uvedeme parametr tab=(), lze nadřízený soubor
také editovat (i pořizovat věty).

Navigace po databázi

NAVIGACE PO DATABÁZI

Název spojení

CIZÍ KLÍČ

Net delay

LAN - PŘEHLED POUŽÍVANÝCH POJMŮ

NewRec

PŘERUŠENÍ EDITACE
Běžná editace datového souboru může být přerušena požadovanou akcí (vnořená
procedura, tisková sestava z aktuální věty, nestandardní ukončení editace).
Spuštění akce je buď automatické ( vázané na přechod přes editovaný údaj,
změnu věty, mazání nebo přidání nové věty ) nebo ruční ( vyvolané funkčními
nebo kurzorovými klávesami - viz. edbreak ). Po skončení akce se pokračuje
v editaci souboru. Pro přerušení editace z funkčních kláves lze vytvořit
alternativní nápovědu pomocí parametrů editace ctrl,alt nebo shift.

██ syntaxe: EXIT=( SeznamPřerušení )

■ SeznamPřerušení ... ZpůsobPřerušení : Akce [{ ,ZpůsobPřerušení : Akce }]

■ ZpůsobPřerušení ... Seznam údajů | SeznamKláves | record | newrec
Seznam událostí se může skládat i z událostí různého
typu. Např. (udaj1,udaj2),F8,record : akce) ...

■ Akce .............. Exit-procedura | Report | quit |

Nutná poznámka: Čtvrtá možnost je vynechání specifikace akce, což
lze použít pro "odstavení" standardních kláves
editoru (funkčně rovnocenná je prázdná procedura)

Každý prvek seznamu přerušení definuje způsob přerušení (typ události) a
požadovanou akci. Lze definovat více přerušení najednou.

■ SeznamKláves ... povolené klávesy viz. edbreak, jednotlivé klávesy jsou
oddělené čárkou. Akci vyvolá stisk klávesy.
■ Seznam údajů ... přerušení vyvolá stisknutí Enter nebo F4 na údaji nebo
přeskok údaje po tabelátorech (edbreak=12)
■ record ......... Toto přerušení může vyvolat pouze exit-proceduru.
Procedura se vyvolá před změnou, zapsáním nebo zrušením
věty. edbreak=16: nová nebo změněná věta
edbreak=17: zrušená věta (po Ctrl-Y)
Dokončení započaté akce lze zabránit přiřazením
EdOk:=false před návratem z exit-procedury.
■ newrec ......... Procedura se vyvolá před začátkem pořízení nové věty,
tj. po vytvoření a zobrazení prázdné věty ale před
editací prvního údaje. (edbreak=18).

AKCE
■ Exit-procedury.. NázevProcedury[(SeznamParametrů)] nebo
[TextVýraz][(SeznamParametrů)] ... Dynamické deklarace
■ report ......... report(NázevReportu)
Tisková sestava z aktuální věty.
Mohou následovat parametry reportu assign nebo edit
■ quit ........... nestandardní ukončení editace místo běžného Esc
(quit na údaji není funkční při pořízení)
*
Uvnitř exit - procedur lze použít funkce edupdated ( byla věta změněná ?) a
návratový kód editoru edbreak (jak byla přerušena editace ?). Aktuální stav
právě editované věty je předán vnořené proceduře jako dodatečný poslední
parametr volané procedury (typu record of editovaný soubor).
Vnořená procedura může (ale nemusí) parametr deklarovat (použít). Případné
změny record proměnné se po návratu promítnou do souboru.

Další použitelné "stavové" funkce: edirec, edrecno, edfield, edreckey

nextlex

nextlex
nextlex

Zkrátí seznam lexemů v interní paměti vypuštěním prvního prvku.
Predikát lze použít pouze ve větvi po loadlex.

NoCancel

NOCANCEL - duplicitní klíčové slovo
Parametr NoCancel vesměs zajišťuje, že havárie při provedení příkazu
neukončí celý program ale program pokračuje za příkazem a je nastaveno
exitcode<>0 .

■ exec(...,nocancel)................. volání externího programu
■ copyfile(...,nocancel) ............ kopírování souborů
■ mount(...,nocancel) ............... vložení diskety do jednotky
■ restore,backup(...,nocancel)
restorem, backupm(...,nocancel) ... zálohování dat

NoCompress

BACKUP

Nocr

LAN - POUŽITÍ NIŽŠÍCH MÓDŮ BLOKOVÁNÍ

NoDel

LAN - POUŽITÍ NIŽŠÍCH MÓDŮ BLOKOVÁNÍ

NoDiakr

PRÁCE S DIAKRITIKOU A ABECEDOU

NoEd

PARAMETRY EDITACE

NoEdit

PŘÍKAZY PRO EDITACI TEXTU

NoExcl

LAN - POUŽITÍ NIŽŠÍCH MÓDŮ BLOKOVÁNÍ

NoSound

OŠETŘENÍ KLÁVESNICE

Not

not - negace
not(predikát[(Term{,Term})])

Volá uvedený predikát. Při úspěšném návratu z vyvolaného predikátu
vyvolá zpětný chod. Při neúspěchu predikátu pokračuje další instrukcí.
Na pozici výstupních parametrů musí být podtržítko. Výstupní parametry
nelze přebírat, přebírání umožňuje později probíraný predikát all.

Negaci nelze aplikovat u standardních predikátů write, save,
consult, wait, !, fail, error ,trace, assert, retract, loadlex.

Příklad:

je_v_sezn(X):- mem_String(X,['Alis','Derby','Pussa']).
neni_v_sezn:- not(je_v_sezn('S')),writeln('Prvek není v seznamu'),wait.

NotAtend

SPECIÁLNÍ FUNKCE V SESTAVĚ
V popisné části sestavy mohou kromě obvyklých konstrukcí vystupovat speciální
funkce (všechny jsou typu real):
█ page ............ číslo právě vystupující tiskové strany
█ line ............ číslo právě vystupujícího řádku na straně
█ pagelimit ....... počet řádků (kromě #PF) na jedné tiskové straně sestavy

█ sum(ČísVýraz) ... kumulace číselného výrazu za skupinu vět
jen v úrovních ukončujících skupinu vět (#RF, #PF, #CF)
█ owned ........... přístup k podřízeným souborům

█ group :real ............ ─┐
█ Ii.count :real ........ │
█ Ii.error :boolean ...... │
█ Ii.errortext :string ... ├ viz. speciální funkce v transformaci
█ Ii.warning :boolean .... ─┘

Funkce sum, group a count jsou obdobně použitelné také ve výpočetní části
transformace (kapitola M).

Před seznamem výrazů (ovšem za případnou výpočetní částí) popisné části se
mohou vyskytovat speciální příkazy:
█ .line:=ČísVýraz ... před výstupem úrovně přejde na zadaný řádek
█ .page:=ČísVýraz ... nastaví interní počítadlo stran (pro funkci page)
V úrovni RH nastaví přečíslování od první strany sestavy
█ .line<=ČísVýraz ... při překročení hranice (řádku) před výstupem odstránkuje
█ .notatend ......... pouze úroveň PF, netiskne se na poslední stránce sestavy
█ .notsolo .......... pouze pro úroveň DH, vystupuje pouze při nové stránce
nebo výstupu CH, resp.CF. Zamezí se tak výstupu úrovně
DH při změně třídících údajů (CHi).

NotSolo

SPECIÁLNÍ FUNKCE V SESTAVĚ

Novell

NOVELL
Kromě sítě NetWareLite a Personal NetWare není třeba používat program
SHARE.EXE.

Většinou je nutno upravit konfigurační soubor stanice NET.CFG (ve starších
verzích ovladačů SHELL.CFG)

■ parametr FILE HANDLES= počet souborů, které se otevírají ze serveru.
Platí určité kontroly vzhledem k parametru FILES
v CONFIG.SYS (viz. dokumentace Novellu).
Základní kontrola se provádí takto:
file handles + files < 255
net.cfg config.sys

■ parametr SHOW DOTS=ON Při prohledávání adresářů v okně se objeví
i odkaz na nadřízený adresář, t.j. dvě tečky.

■ parametr READ ONLY COMPATIBILITY=OFF
nutný pro sdílení RdOnly souborů - např. úloh
při použití VLM-ovladačů. Ve verzi PC FANDu 4.0
je sdílení úloh již řešeno interně ve FANDu.
Tento parametr je v dokumentaci popsán dosti
neurčitě a také v praxi někdy "zabralo" nastavení
na ON.

■ Při vyšším zatížení sítě, což může být kromě výkonu sítě způsobeno
i nevhodným způsobem programování úlohy, může dojít k nadměrnému
blokování souborů, zdánlivě neoprávněnému. Důvodem může být "zahlcení"
algoritmů pro blokování souborů na systémové úrovni. Často lze chování
sítě zlepšit nastavením těchto dvou parametrů v NET.CFG (podle dokumentace
pro Novell 4.x):

Lock Delay=CPU ... prodleva při pokusu o uzamčení oblasti souboru
Povolené hodnoty 0 .. 255, implicitně 1.
Lock Retries=počet opakování pokusů

-----------
Pro přesměrování tiskárny se používá utilita CAPTURE:

CAPTURE Q=Fronta NB NT NOFORMFEED TI=5 Local=1

Parametry:
Q=Fronta označení síťové fronty
NB nebude tištěna hlavička
NT není prováděna konverze tabelátoru na mezery
NOFORMFEED potlačí odstránkování na konci tisku
TI=5 tisková úloha vytištěna po 5 s
Local=1 číslo portu (LPT1)

NRecs

NRECS - duplicitní klíčové slovo
■ NázevSouboru.nrecs ...... údaje o souboru : počet platných v vět souboru
■ NázevPracIndexu.nrecs ... počet vět pracovního indexu, index of
■ graph(...nrecs...) ...... počet vět pro zobrazení v grafu, nrecs

NRecsAbs

ÚDAJE O SOUBORU

Null

LAN - POUŽITÍ NIŽŠÍCH MÓDŮ BLOKOVÁNÍ

NULL-hodnoty (SQL)

ODBC