I
I - duplicitní klíčové slovo
■ #I ..... implicitní hodnoty: odstavec deklarace datového souboru (kap.F)
■ #I_ .... VstupSestavy: vstupní soubor sestavy (kap.R) - může být i #I1_
■ #I1_ ... VstupTransformace: vstupní soubor transformace (kap.M)
■ I ...... kapitola I : kapitola typu I - vkládané texty
Identifikátor
IDENTIFIKÁTOR
Identifikátory slouží k označení jednotlivých konstrukcí v PC FANDu. Může
jít jak o předdefinované konstrukce ( tzv. klíčová slova - názvy příkazů,
operací, funkcí ... ), tak i o konstrukce, vytvořené programátorem ( názvy
údajů souborů , proměnných, procedur, sestav , transformací, uživatelských
funkcí, ...).
Pravidla pro tvorbu identifikátorů :
■ Identifikátory jsou v PC FANDu tvořeny písmeny, číslicemi a znakem
'_' (podtržítko).
■ První znak musí být písmeno.
■ Malá a velká písmena se nerozlišují.
Identifikátory (PROLOG)
Identifikátory, komentář
Kompilátor důsledně rozlišuje velikost písmen identifikátorů.
Zvláštní význam má velikost prvního znaku identifikátoru. Velkým
písmenem se označují proměnné a typy dat. Malá písmena označují
konstanty a predikáty.
Identifikátor musí začínat písmenem nebo znakem "_" a na další
pozici může být i číslice. Celková délka identifikátoru nesmí být větší
než 32 znaků.
Za komentář je považována posloupnost znaků ohraničených znaky "{"
a "}".
If
IF, THEN, ELSE - duplicitní klíčová slova
IFDEF
PODMÍNĚNÝ PŘEKLAD - direktivy kompilátoru
IFNDEF
PODMÍNĚNÝ PŘEKLAD - direktivy kompilátoru
Implicitní hodnoty
IMPLICITNÍ HODNOTY - odstavec #I
Implicitní hodnota se definuje pro rychlejší pořizování dat dat. editorem.
Když při pořizování nových vět datový kurzor dojde až k údaji, který má
implicitní hodnotu, vypočte se zadaný výraz a hodnota se zobrazí na místě
údaje. Obsluha potom hodnotu potvrdí, edituje nebo zadá jinou. Implicitní
hodnoty se při pořízení nasazují i do nezobrazených údajů věty.
██ Syntaxe: #I { NázevÚdaje:=Výraz; }
Při opravách v módu editace dosáhne uživatel nasazení implicitní hodnoty
tak, že původní obsah údaje zruší (včetně mezer) a odešle k uložení
prázdný řetězec.
░░░░░░░░░░░░
░░příklady░░
░░░░░░░░░░░░
#I Datum:=today+currtime;
Norma:=cond(Muž:8.5, Žena:7);
Prémie:=Mzda*0.15 + Soboty*20;
Jméno:=ADRESÁŘ.Jméno;
In
IN - duplicitní klíčové slovo
■ in ............. speciální operátory: test na seznam intervalů nebo
konstant
■ forall i in .... forall cyklus
■ key in ......... čtení souborů podle indexů
Include
VKLÁDANÉ KAPITOLY
Text kapitoly typu I se kopíruje během překladu na dané místo ( kapitola I
musí být ve stejné nebo nadřízené úloze). To znamená, že syntaxe kapitoly
I odpovídá syntaxi kapitoly, kam bude text vložen. Nemusí však obsahovat
syntakticky uzavřený celek. Jakákoli změna takové kapitoly vyvolá nový
překlad celé úlohy. Kapitoly I použijeme tehdy, když se několikrát opakuje
stejný úsek textu programu.
■ Místa, kam se má vložit text kapitoly I se určí speciální direktivou
kompilátoru:
{$include NázevKapitolyI}
■ Pozor na mezery okolo složených závorek (jsou významné).
■ Podmínky použití v kapitole F:
Druhá část kapitoly F (#U/D/L/I) nesmí začít instrukci {$include ..}.
■ Při nenávratném zaheslení úlohy (Alt-F10) se text kapitoly I substituuje
a kapitoly I se zruší. Pozor na dvě úskalí:
- po substituci nesmí být překročena maximální délka volného textu
65000 B (jinak běhové chyby).
- nejprve zaheslit podřízené úlohy
Indent
SETEDITTXT
Index
INDEX of Soubor
Index je strukturovaný typ, který lze použít při deklaraci parametrů nebo
lokálních proměnných procedury. Je to pracovní index indexovaného souboru
(přípona .X) nebo do SQL-souboru s vlastním klíčem (přípona .SQL).
██ Syntaxe: ... : INDEX OF Soubor [ ( TřídícíÚdaje ) ]
■ Přístup do souboru přes pracovní index index of soubor má dvě základní
charakteristiky: podmnožina souboru
třídění souboru (podpora pro vyhledávání dle klíče),
třídění lze buď zahrnout přímo do deklarace
nebo definovat později příkazem getindex
■ TřídícíÚdaje ... setřídění pracovního indexu (nemá vliv na data)
speciální znaky před názvy třídících údajů:
> ... sestupné setřídění
~ ... lexikální setřídění.
Pokud je třídění uvedeno v deklaraci, lze použít pro
takový index konstrukci key in a funkce procedury
recno, recnoabs, recnolog a keyof.
■ Použití: Lze ho použít všude v proceduře, kde je možno psát /NázevKlíče.
■ Inicializace: Po deklaraci je pracovní index prázdný
■ Naplnění: Základním prostředkem pro práci s pracovním indexem je
příkaz procedury GetIndex. Další možnost aktualizace
pracovního indexu je v příkazu
edit(Soubor/LokPromTypuIndex, ... ) ;
Pokud jsou v editu přidány nebo zrušeny věty, je po
ukončení editace aktualizován i pracovní index. Toto
však neplatí při variantách editace, kdy si editor
vytváří vlastní pracovní index, tj. při editaci s cond,
owner, mode='F2', mode='WX'.
Ruční výběr do pracovního indexu je možný pomocí příkazu
edit s parametrem sel.
■ Počet vět pracovního indexu: pomocí konstrukce .nrecs, tj.
PracovníIndex.nrecs
■ Zrušení pracovního indexu: pomocí konstrukce
PracovniIndex.nrecs:=0
░░░░░░░░░░░░
░░příklady░░
░░░░░░░░░░░░
██ P Ukazka1 * VAR WorkIndex : index of Pracov (~Jmeno) ;
BEGIN
GetIndex(WorkIndex, Pracov/DleJmena, cond=(JeMuz)) ;
{ vybere z pracovníků jen muže v třídění dle
jmen }
....
GetIndex(WorkIndex, Pracov/WorkIndex, cond=(vek>60) ) ;
{ postupné zúžení podmnožiny na pracující
důchodce - muže }
edit( Pracov / WorkIndex, .... ) ;
report( Pracov / WorkIndex, Sestava, .... ) ;
...
END ;
██ Příklad vytvoření uživatelského indexu.
...
s:=prompt('zadej podmnožinu:':A,60) ;
GetIndex( WorkIndex, Pracov, cond=(evalb(s)));
...
Index of
INDEX of Soubor
IndexFile
EXPLICITNÍ INDEXOVÁNÍ
Indexovaný soubor
INDEXOVANÝ SOUBOR
Indexovaný soubor je datový soubor podporovaný indexy. Indexy jsou fyzicky
uloženy v pomocném souboru na disku s příponou .X00, PC FAND je automaticky
vytváří, při editaci aktualizuje, v případě potřeby zruší a znovu vytvoří.
Zavedení indexové podpory:
K definici souboru v kapitole F doplňte příponu .X za NázevSouboru. Smazání
přípony zruší i indexy pro tento datový soubor. Soubor může být indexovaný,
když má alespoň jeden vlastní klíč. Naopak soubor, který má alespoň jeden
alternativní vlastní klíč, již musí být nutně indexovaný.
Použití indexů:
Udržuje soubor setříděný bez ohledu na fyzické pořadí vět, a to i podle
několika různých hledisek najednou. Zabraňuje nechtěným duplicitám klíčů,
zrychluje odezvu editoru při mazání a vkládání vět (zrušené věty jsou pouze
označeny, ne fyzicky mazány). Umožňuje navigaci směrem dolů (Ctrl-F7)- pod-
řízený soubor musí mít vlastní klíč podporovaný indexy, který je rozšířením
cizího klíče, podle kterého se hledá (tzv. vazba typu owner).
Má vliv na celý projekt:
navigace nahoru a dolů, editace podle klíče, F3 hledání v datovém editoru
vlastní klíč, alternativní vlastní klíč, uživatelské pohledy v deklaraci
soub. formulář, VstupSestavy, VstupTransformace: pořadí vět v souboru podle
indexu, hledání recno a link, volání forall, edit a report podle indexu
v proceduře
Indexy
INDEXOVANÝ SOUBOR
Instalace abecedy
INSTALACE ABECEDY
Pro podporu národního prostředí PC FAND obsahuje driver klávesnice a fonty
pro obrazovku. Neřeší pouze fonty pro tiskárnu. Při instalaci se vybírá
kódová tabulka pro lexikální třídění z těchto možností:
■ IBM ........... počítač bez instalované národní abecedy
■ Kamenických
■ Latin2 ........ dvě používané varianty kódování češtiny a slovenštiny
(převod mezi oběma kódy procedurou copyfile(...mode...)
Výstupy na tiskárnu lze překódovat - viz. instalace tiskárny
Podle instalované abecedy jsou v PC FANDu podporované funkce:
■ upcase .............. převod malých písmen na velká
■ lowcase ............. převod velkých písmen na malá
■ nodiakr ............. odstranění diakritiky z textu
■ lexikální třídění ... třídění zohlední diakritiku
Instalace barev
INSTALACE BAREV
Každá barva se zadává hexadecimálním číslem atributu podle nápovědy.
■ uživatelská barva č.0-15.. uživatelské barvy přístupné funkcí color
■ MENU normální text ....... jednotlivé (neaktivní) volby nabídky
■ aktivní volba ....... zvýrazněná volba, na které je kurzor
■ první písmeno ....... zvýrazněné písmeno pro rychlou volbu
■ nefunkční volba ..... zobrazená ale nefunkční volba
■ VÝBĚR normální text ...... výběr z prvků seznamu
■ aktivní položka .... zvýrazněná položka, na které je kurzor
■ maska pro soubor ... maska pro výběr souboru z disku
■ ZADÁNÍ zadávaný text ............ prompt na posledním řádku
■ nápověda ................. vysvětlující text k promptu
■ HLÁŠENÍ na posledním řádku ...... F10 message
■ POSLEDNÍ ŘÁDEK nápověda ......... nápověda v datovém a textovém editoru
■ symboly kláves ... označení funkčních kláves v nápovědě
■ přepínače ........ vypnutí aditivních změn a kontrol
■ PRVNÍ ŘÁDEK systém.informace .... první řádek uživatelské obrazovky
■ EDITOR TEXTU text ............... editovaný text
■ ctrl-znaky ......... řídící znaky (kromě přepínačů barev)
■ blok ............... označení bloku
■ DRUHY PÍSMA podtržený text ...... Ctrl-S
■ kurzíva ............. Ctrl-W
■ široký text ......... Ctrl-Q
■ dvojitý text ........ Ctrl-D
■ mastný text ......... Ctrl-B
■ zhuštěný text ....... Ctrl-E
■ písmo elite ......... Ctrl-A
■ EDITOR DAT data ............ editovaná data
■ datový kurzor ... zvýrazněný údaj, na kterém je kurzor
■ podmnožina ...... vybraná podmnožina (F6-akce, F5-přepínače)
■ ostatní text .... názvy údajů apod.
■ zrušené věty .... věty, zrušené jinou stanicí (LAN)
■ výběr(F8,ShiftF8) podmnožina dle pracovního indexu sel
■ UŽIVATELSKÁ OBRAZOVKA ...... základní atribut pro write apod.
■ NÁPOVĚDA text .............. běžný text nápovědy
■ vybrané téma ...... zvýrazněný název, na kterém je kurzor
■ ostatní témata .... ostatní témata, na která lze nastavit kurzor
■ zvýrazněný text ... nadpisy apod.
■ KRÁTKÁ NÁPOVĚDA ............ jednořádková nápověda na (před)posledním
řádku
■ OKNA stíny ............. stíny oken ( menu, with window, ww )
■ DESKTOP ................ barva "pracovního" stolu (hlavní menu PC FANDu)
Instalace kalendáře
INSTALACE KALENDÁŘE
Tabulka kalendářních výjimek (svátky,...) se používá v datumové aritmetice
při počítání s pracovními dny (funkce typeday, addwdays, difwdays ). Pokud
není tabulkou určeno jinak, počítá se funkce typeday podle dne v týdnu.
Instalace pobíhá ve dvou krocích :
Před spuštěním instalačního programu volejte pod PC FANDem úlohu INST.RDB,
kde editujete kalendářní výjimky (datový soubor DNY.000). Pořizujete vždy
dva údaje, datum a nový typ dne (0 až 3 podle požadovaného nového výsledku
funkce typeday).
V druhém kroku zvolte v instalačním programu FANDINST volbu Dny.
Instalace konstant
INSTALACE KONSTANT
■ Počet vět k uložení v editoru
Po pořízení či změně daného počtu vět v datovém editoru dojde k uložení vět
a uvedení souboru do definovaného stavu. Tj. provedou se celkem tři akce:
aktualizuje se hlavička souboru
data se z cache uloží na disk
aktualizují se údaje v adresáři disku (fyzická délka souboru).
V případě havárie, např. přerušení přívodu el.proudu, případná automatická
oprava PC FANDem vede k návratu k tomuto stavu. Implicitní hodnota je 20
vět. Nižší hodnota znamená vyšší bezpečnost ale možné zdržování při práci.
Toto nastavení platí globálně pro všechny spuštěné datové editory, indivi-
duálně lze interval uložení nastavit parametrem saveafter příkazu edit.
■ Automatická sestava - šířka
Základní parametr automatické sestavy, který udává počet znaků na řádce
při generování automatické sestavy. Implicitně 80 znaků. Šířka sestavy
se odvozuje podle normální velikosti písma (10 CPI). Jde vlastně o impli-
citní hodnotu parametru width příkazu report.
■ Automatická sestava - délka
■ - ukončení strany
Délka udává počet řádků sestavy, které se mají generovat na jednu tiskovou
stranu. Jde tedy o logickou délku strany. Přičtením počtu řádků pro
ukončení strany se získá údaj o fyzické délce strany. Uplatní se jak při
automatické tak i při definované sestavě. V definované sestavě lze fyzickou
i logickou délku strany upravit pomocí parametrů sestavy .pagesize a
.pagelimit.
Implicitní hodnoty jsou 69 a 3. Celkem 72 řádků = implicitní fyzická délka
stránky. Vždy na začátku tisku vyšle PC FAND do tiskárny ESC-sekvenci pro
nastavení fyzické délky stránky (pokud je tato sekvence uvedena viz.
instalace tiskárny a fyzická délka strany je jiná než 72). Fyzickou délku
strany lze definovat také tečkovým příkazem .pl.
Ukončení strany lze definovat také tečkovým příkazem .cp.
Při tisku na jednotlivé listy (podavač) doporučujeme nastavit hodnoty
těchto parametrů na 64 (nebo kolik řádků se skutečně vejde na list) a
ukončení strany doplníme na součet 72, tedy 8.
Důležitý je součet 72, při jiné hodnotě se mohou některé tiskárny chovat
"podivně", navíc to až na speciální typy sestav (složenky) nemá význam.
■ Sestava - výstup rovnou na tiskárnu ?
Při generování automatické sestavy pomocí volby datového editoru F6 - opis
sestava vystupuje rovnou na tiskárnu, nikoliv nejdříve do tiskového souboru
PRINTER.TXT. Možné hodnoty A/N, implicitně N. Viz. parametr assign příkazu
report.
■ Výběr tiskárny před tiskem ? A/N (N)
Po vyvolání tisku (F6,CtrlF6,CtrlK-P,příkaz printtxt) se místo hlášky
F10! (ESC) nastavte tiskárnu!
objeví seznam instalovaných tiskáren (jako při AltF6) s nastavenou aktivní
tiskárnou a možností změny.
■ Graficky oddělit stránky ?
■ - znak pro oddělení
Při zapnuté klávese ScrolLock se v textovém editoru oddělovače stránek
(CtrlP-CtrlL) zobrazí jako řada teček (znaků pro oddělení, implicitně
znaku s kódem 250) a tak se "graficky" oddělí stránky. Není zohledněno
nastavení logické délky strany. Implicitně je grafické oddělení zapnuto.
■ Potvrdit ESC z editoru ? A/N (N)
Při opuštění datového editoru aktivuje kontrolní dotaz pro uživatele
opustit editor A/N ?
Neuplatní se při přerušení pořízení nové věty - viz. následující parametr.
Individuálně lze toto nastavit parametrem mode='??' příkazu edit,
viz. módy datového editoru.
■ Potvrdit ESC z nedokončené věty? A/N (N)
Parametrizace přerušení pořízení nové věty v datovém editoru. Při nastavení
na A musí obsluha přerušení pořízení potvrdit na hlášku:
Nedokončená věta bude zrušena! Přesto opustit A/N?
V opačném případě je "rozeditovaná" věta bez varování nenávratně ztracena.
Individuálně lze toto nastavit parametrem mode='?N' příkazu edit,
viz. módy datového editoru.
■ Potvrzení hlášky ENTER místo F10 A/N (N)
Pro potvrzení hlášek PC FANDu (včetně příkazu message) lze kromě klávesy
F10 použít i ENTER. Možné hodnoty A/N, implicitně N.
■ Komentář k RDB při ladění ? A/N (A)
V programátorském prostředí se zobrazí první řádek textu.
■ CP/M šachta (např. D,E,F...)
Pro účely převodu dat z 8-bitové verze PC FANDu (oper.systém CP/M) je možno
speciálním driverem instalovat možnost čtení disket ve formátu CP/M.
V tomto parametru se uvede, kam bylo čtení CP/M disket driverem mapováno.
■ Sítě LAN - obnovení obrazovky
Při editaci sdíleného datového souboru dochází k automatické pravidelné
obnově obrazovky - načtením dat z disku. Interval obnovy se zadává v se-
kundách, implicitně 5 sec. Nižší hodnota parametru znamená lepší přehled
obsluhy o akcích ostatních stanic avšak vyšší zátěž serveru.
Individuálně lze zadat interval parametrem refresh příkazu edit.
lokální sítě - používané pojmy.
■ Sítě LAN - opak. blokovaného přístupu (net delay)
V lokální síti mohou být soubory, požadované pro určitou akci, dočasně
nepřístupné z důvodu práce ostatních stanic. Proto je třeba odmítnutý
pokus o práci s nimi po určitém čase automaticky znovu opakovat. Tento
časový interval se zadává v jednotkách CPU (z důvodu jemnějšího odlišení
jednotlivých stanic), implicitně 54 CPU. ( 1 sec ¸ 18 CPU )
■ Sítě LAN - pípání při opakování blokování A/N (A)
Viz. předchozí parametr. Nepřístupnost souboru je signalizována vizuální
hláškou a pípnutím, které je možno vypnout, ruší-li obsluhu.
První přístup - prodleva (CPU) 0 .. 255 (0)
- počet opakování 0 .. 255
Je-li parametr "počet opakování" > 0, potom PC FAND při odmítnutí prvního
pokusu o systémový zámek čeká dobu podle prodlevy v CPU a zkusí to znovu
aniž by hlásil uživateli blokovací hlášku. Čekací doba mezi pokusy
a počet pokusů bez hlášení jsou dány těmito parametry.
Jde o analogii parametrů Lock Delay a Lock Retries ze souboru NET.CFG pro
konfiguraci stanice v síti Novell. Vhodné nastavení těchto parametrů může
zlepšit chování aplikace při větší zátěži - urychlit a méně hlášek.
Konkrétní hodnoty je třeba ověřit v praxi, používají se spíše nižší.
■ Pípání při chybách ? A/N (A)
Chybová a některá další hlášení doprovází zvukový signál, který lze
zde vypnout / zapnout. Potlačí i efekt příkazu beep, ovšem nepotlačí
příkaz sound.
■ Max.velikost XMS pro PC FAND
PC FAND obsahuje vlastní diskovou cache. Implicitně alokuje 200 KB paměti
XMS. Nedoporučuje se kombinovat s jiným typem cache (např. SMARTDRIVE),
jsou možné kolize a dvojí "kešování" nemá smysl.
■ Potlačit Ctrl-Break ? A/N (N)
Možnost ukončení programu kombinací kláves Ctrl-Break.
■ Číslo implicitní klávesnice ..... 0 až 4 (0)
PC FAND obsahuje podporu národního prostředí pro klávesnici. Celkem
5 typů klávesnic v určitém pořadí - viz. klávesa AltF8 v PC FANDu.
Tento parametr určuje číslo aktivní klávesnice po startu PC FANDU.
Možné hodnoty 0 - 4, implicitně 0.
■ PARAMETRIZACE MYŠI
Myš - podpora vypnuta A/N (N)
Možnost vypnutí podpory myši.
- výměna kláves A/N (N)
Výměna levé a pravé klávesy.
- interval pro dvojitý stisk
Zadává se v CPU, implicitně 8.
- interval pro opakování
Automat.opakování stisku myši. Zadává se v CPU, implicitně 8.
■ Prodleva Ctrl,Alt,Shift
Interval pro vyvolání alternativ. nápovědy po stisku přeřazovací klávesy.
Zadává se v CPU, implicitně 15.
■ Automat.přepsat návěští diskety . A/N (A)
Při zálohování na disketu (příkazy backup, backupm) lze při nesouhlasu
návěští diskety toto návěští po dotazu obsluze přepsat. Je-li tento parametr
nastaven na N, PC FAND striktně vyžaduje disketu s návěštím podle katalogu.
■ Interval zhasnutí obrazovky
Aktivuje šetřič obrazovky, tj. délku intervalu v sekundách po kterém při
nepoužití libovolné klávesy zhasne obrazovka. Je-li hodnota 0 (implicitně),
obrazovka nezhasíná.
Maximální povolená hodnota je 3640 sec (asi 1 hodina).
■ Posun implicitního století (roky, 0)
Parametrizuje dosazení století při zadávání datumu s dvojmístným číslem pro
rok, tj. například při standardní masce 'DD.MM.YY'. Důležité hlavně na
přelomu století. Po zadání datumu se provede test nerovnosti
YY < (AR + konstanta) MOD 100
kde: AR ... aktuální rok
YY ... zadané dvojčíslí roku
konstanta ... zadaná hodnota parametru posunu století
Pokud je splněna, přičte se k zadanému roku 2000, výsledný rok bude 20YY.
V opačném případě 19YY. Pokud je konstanta=0 (implicitně), použije se
vždy aktuální století (tj. neprovádí se vyhodnocení nerovnosti).
Pozor na chybné nastavení konstanty, např. by nemělo být AR+konstanta=99.
Tato parametrizace se projeví na všech místech v PC FANDu, kde lze použít
nějakou formu krátkého tvaru datumu '...YY', přičemž pro další zpracování
se vždy převádí na plný tvar '...YYYY'.
strdate valdate konstanty uložené údaje copyfile
■ Kontrola volného místa na disku A / N (A)
Při práci na diskových polích o velikosti větší než 2 GB nastavíme na 'N'
a tak se můžeme vyhnout neoprávněným hlášením o nedostatku volného místa
na disku.
Instalace monitoru
INSTALACE MONITORU
1.blok - systémové konstanty, které je třeba měnit pouze ve výjimečných
případech na nestandardních konfiguracích PC. Implicitní hodnoty
se liší podle typu monitoru.
■ Adresa videopaměti ........ automaticky nastavena pro Hercules/VGA apod.
■ Počet řádků monitoru ...... nutno nastavit v některých případech, kdy
systém vrací chybnou hodnotu. Pokud = 0,
(implic.) použije hodnotu vrácenou systémem.
■ Ošetřit sněžení ? ......... odstranění "sněžení" na levnějších monitorech
zpomaluje odezvu při zápisu na obrazovku
■ Zapnutý kurzor ............ tvary kurzoru (horní a dolní řádek kurzoru)
■ Vypnutý kurzor viz. dokumentace BIOSu, např. TECHHELP
■ Velký kurzor
2.blok - podpora češtiny na monitoru
■ Použít fonty FANDu ? ...... na EGA/VGA automaticky použije font s dia-
kritikou podle instalace abecedy, implic.A
■ Monitor bez diakritiky ?... pokud je nastaveno A, bude z hlášení pro
komunikaci s uživatelem odstraněna před výpi-
sem na monitor diakritika, implicitně N.
Instalace sítě
LAN - INSTALACE SÍTĚ
Požadavky na software:
■ MS DOS 3.3 nebo vyšší
■ síťový operační systém, který využívá MS DOS open-share módy a lock bytů
i mimo fyzický rozsah souboru (většina dostupných sítí)
Instalace síťového prostředí:
■ Adresáři s datovými soubory přidělujeme přístupová práva RWOCDM (read/
write/ open/ create/ delete/ modify attributes).
Totéž platí pro pracovní soubory PC FANDu ( FANDWORK.?$$ , PRINTER.TXT).
■ Pro již existující plně sdílené soubory (# v katalogu) stačí pouze RWO.
■ Pro existující sdílené soubory, které budou některé stanice v síti pouze
číst ( v katalogu těchto stanic označeny #R ), stačí adresáři přidělit
práva RO. Do této skupiny lze zařadit i moduly FAND.* , (U)FANDHLP.*,
datové soubory jen pro čtení - s DOS-atributem RdOnly a odladěnou ( za-
heslenou) úlohu.
■ Pro úlohu, kterou chceme ještě instalovat nebo ladit, potřebujeme práva
RWOM .
Závěr: V praxi se většinou do jednoho adresáře instalují soubory s různými
nároky na přístupová práva ( FAND.* , FANDWORK.* ). Potom se samo-
zřejmě uplatní nejvyšší z nich. Na rozsáhlejších sítích ( Novell )
se vyplatí tyto záležitosti neignorovat.
■ Je nutné instalovat dostatečně velký maximální počet současně otevřených
handlů pro otevírané soubory a také maximální počet současně provedených
locků na serveru. Některé sítě vyžadují na serveru spuštění programu
SHARE ( součást operačního systému MS DOS ) s příslušnými parametry, u
jiných je třeba postupovat dle instalačního návodu.
Instalace systému
INSTALACE
Instalace tiskárny
INSTALACE TISKÁRNY
Při generování tiskových sestav a jejich tisku na tiskárně odpovídají nároky
PC FANDu na tiskárnu zhruba možnostem textového editoru PC FANDu. To znamená,
že se používá neproporcionální písmo, diakritika v kódování Kamen nebo Latin
a základní typy písma. Tento přístup k tiskárně vychází z možností jehličko-
vých tiskáren, především ohledně typů písem (zhuštěné, elite, široké, ...).
██ TYPY TISKÁREN :
Jehličkové Jsou ovládány z programu v tzv. módu EPSON. V rámci tiskáren s
tímto způsobem ovládání vládne široká kompatibilita a většinou
lze použít řídící sekvence "STANDARD".
Inkoustové, laserové
Novější typy tiskáren, které mají většinou odlišný způsob
ovládání, nejčastěji jazyk PCL, bývají také označovány
jako HP-kompatibilní. Tyto tiskárny mají obecně vyšší kvalitu
tisku než jehličkové, avšak z hlediska tisku z PC FANDu
je jejich kompatibilita - vzájemná nebo na jehličkové - často
problematická.
Z výběru tiskáren v distribuci je nejobecněji použitelná
sada řídících sekvencí pro HP DJ520 (jazyk PCL 3).
Bublinkové Podle konkrétního typu lze často použít buď standardní
sekvence jako pro jehličkové tiskárny (mód EPSON) nebo
přepnout tiskárnu do IBM-modu (DIP přepínače, ovládací
program) a použít přednastavené sekvence IBM PRO (IBM
proprinter).
Pro řízení všech typů tiskáren se používají tzv. escape sekvence, které
se zadávají v hexadecimálním tvaru (např. 1B=Esc) podle manuálu tiskárny.
Řízení tiskárny zahrnuje dva hlavní okruhy problémů:
■ Podpora diakritiky Na rozdíl od klávesnice a obrazovky PC FAND neobsa-
huje podporu diakritiky pro tiskárnu. Proto musí
tiskárna umět češtinu sama (hardwarová podpora, lepší
varianta) nebo musí být použita systémová podpora
(rezidentní program). Důležité je to, že lze tisknout
na tiskárnu v jiném kódování diakritiky než probíhá
zpracování na počítači, případně může být tiskárna bez
podpory češtiny, viz. parametr Kód.
Pokud tiskárna obsahuje hardwarovou podporu češtiny,
je často třeba ji aktivovat, nejčastěji přidáním
speciální ESC-sekvence k resetu.
U tiskáren s jazykem PCL-3 se pro nastavení kódové
stránky 852 (Latin2) používá sekvence 1B 28 31 37 55
pro kód Kamenických sekvence 1B 28 31 38 55.
■ Typy písma V drtivé většině případů lze odpovídající typy písma
nainstalovat pomocí ESC-sekvencí. Pro každý typ písma
se zadává kód pro zapnutí a kód pro vypnutí písma.
Délka sekvence je max. 254 znaků.
Popis jednotlivých řídicích sekvencí:
Po vybrání tiskárny ze seznamu se objeví menu s možnostmi výběru
způsobu tisku. Jsou 3:
Standardní (LPT1-3)
Přes logický port (dos.LPT1-9)
Náhradní tisk (manažer)
Rozlišuje se podle hodnoty timeout. Viz.další popis.
■ TISKÁRNA (název)
Použije se pro generování menu pro výběr tiskárny v PC FANDU (klávesa
Alt-F6) - lze instalovat až 10 tiskáren. Viz. SetPrinter, CPrinter.
Standardní instalace od distributora obsahuje tyto typy tiskáren:
Název dle FANDINST určeno pro tiskárny kódování češtiny
─────────────────────────────────────────────────────────────────
EPS-bez EPSON a kompatibilní bez kódování češtiny
EPS-kam EPSON a kompatibilní Kamenických
EPS-lat EPSON a kompatibilní Latin 2
DJ-PCL3 inkoustové (s jazykem PCL3) Latin 2
LJ-PCL5 laserové (s jazykem PCL5) Latin 2
IBM-bez bublinkové bez kódování češtiny
IBM-lat bublinkové Latin 2
Výjimky a známé nastavení pro další konkrétní typy tiskáren jsou
dostupné na WEBu firmy alis www.alis.cz
■ Typ
Typ tiskárny (M-mozaiková,C-mozaiková-barva,L-laserová HP LaserjetII)
Uplatní se při tisku grafu, při tisku textu jen pro interpretaci ESC
sekvencí s proměnnou částí, viz. délka stránky a odsazení zleva.
■ kód(KL,KN,LK,LN)
Tento parametr umožňuje překódování výstupu na tiskárnu a tak pro tisk
použít jiné kódování diakritiky než pro vlastní zpracování. Častá
kombinace je pro PC (data) kódování Kamen a pro tisk Latin2.
Kód je dvouznaková konstanta:
KL kamen -> latin
KN kamen -> bez diakritiky
LK latin -> kamen
LN latin -> bez diakritiky
nezadáno bez překódování
Viz. také CopyFile.
■ Číslo portu tiskárny (1 až 9)
Označení paralelního portu pro výstup : LPT1 ... LPT9. Implicitně 1.
Lze tisknout i na fyzicky neexistující porty, na které jsou mapovány
síťové tiskárny.
Porty 4-9 lze použít jen při tisku na "logický" port, viz další
parametr.
■ Čekání na odezvu tiskárny
Tzv. timeout. Zadává se v sekundách, význam nastavení hodnot:
1 až 14 ... Při zahájení i v průběhu tisku sleduje PC FAND odezvy
tiskárny a pokud doba přesáhne stanovený limit, vydá
hlášku "F10! (ESC) připojte tiskárnu!
Zadaná konstanta se zapisuje do oblasti BIOSu,
0 ......... Neprovede se žádný zápis a použije se implicitní hodnota
BIOSu na vašem PC.
Pokud se u širokých tiskáren formátu A3, např. STAR LC-15
objeví (neoprávněně) výše uvedená hláška v průběhu tisku
použijte hodnotu 14 nebo 0.
Hodnotu 0 použijte i při tisku pod Windows 95.
253 ....... Speciální tisk. Podpora tisku přes tiskový manažer
(Win95/98/NT), viz. www.alis.cz.
Provedou se dvě akce:
1. Kopie souboru PRINTER.TXT do souboru se jménem podle
parametru Název kopie(uloženo v sekvenci "RESET").
Jméno souboru může obsahovat znak #, který bude nahrazen
pořadovým číslem 1..99.
2. Spustí se externí program (EXEC) podle parametru
Název programu (uloženo v sekvenci "Délka strany").
Jako parametry programu se připojí obsah dalšího
parametru instalace tiskárny Parametry programu
(uloženy v sekvenci "Uk.řetězec/laser").
254 ....... Tisk přes tzv. "logický" port. To znamená že tisk se
z PC FANDu posílá do souboru s názvem LPTx (kde x=1..9)
jehož přesměrování na tiskárnu je již v režii oper. systému
MS DOS. Porty 4-9 lze použít jen pod WIN95/98/NT.
255 ....... Má význam pouze u síťových tiskáren v těch typech sítí,
kde se na vlastní tisk musí čekat delší dobu, případně
až do ukončení aplikace (např. ve WFW nelze parametrizovat,
v Novellu 3.xy program CAPTURE - parametr TI).
PC FAND provede po ukončení tisku formální otevření
a uzavření handle pro odpovídající tiskový port.
Implicitně je nastaveno 7 sec.
■ (^S) Podtržení ........ ^S Underline
■ (^W) Kurzíva .......... ^W Italic
■ (^Q) Široký ........... ^Q Double-width
■ (^D) Dvojitý .......... ^D Double-strike
■ (^B) Mastný ........... ^B Emphasised
■ (^E) Zhuštěný ......... ^E Compressed
■ (^A) Elite ............ ^A Elite
Pro jednotlivé typy písma se instaluje řídicí sekvence pro zapnutí
(lichý výskyt) a pro vypnutí (sudý výskyt přepínače). Tyto sekvence
jsou při tisku textu substituovány na místo výskytu odpovídajících
přepínačů. Na jehličkových tiskárnách lze jednotlivé typy kombinovat,
což však může činit obtíže na některých typech tiskáren s jazykem
PCL (HP-kompatibilní).
■ Reset tiskárny
Tato řídicí sekvence se do tiskárny vyšle vždy na začátku každého tisku
(po potvrzení F6, CtrlF6,...). V tomto smyslu jde o "startovací" řídicí
sekvenci pro tisk. Nejčastěji obsahuje vlastní ESC sekvenci pro reset
daného typu tiskárny, která nastavuje tiskárnu do výchozího stavu.
Někdy (u některých typů podpory diakritiky) dojde při tom ke "shození"
této podpory. V takovém případě je nutno sekvenci pro reset zrušit
(vyprázdnit).
U tiskáren s HP-módem (laserové,inkoustové HP-DJxyz) je naopak často
potřeba sekvenci pro reset rozšířit o nastavení znakové sady, nejlépe
neproporcionálního fontu s diakritikou. Dále zde lze nastavit i velikost
písma, řádkování apod. To je nutné proto, že i tiskárna, která "umí"
češtinu nemusí mít tuto vlastnost aktivní po "čistém" resetu.
■ Délka strany
Pokud je tato sekvence v instalaci zadána, PC FAND ji vždy vyšle na
tiskárnu při zahájení tisku, ihned po sekvenci pro reset. Rozumí se
fyzická délka strany a zadává se v počtu řádků na stranu. Prioritně
se počet řádků vyhodnotí podle tečkového příkazu .pl. Pokud není zadán,
použije se hodnota z instalace konstant - sečte se logická délka a
ukončení strany. Implicitní hodnota je 72.
Zpracování sekvence je různé podle nastavení typu tiskárny. Pro typ
M a C se k instalované sekvenci délky strany připojí hodnota délky
v binárním kódování (1 byte, např. znak s hodnotou 72, tj. 'H') a
vyšle na tiskárnu.
U typu L se údaj délky kóduje znakově, to jest např. znaky '7' a '2'.
Ovšem na konec se připojí ukončovací sekvence, viz. následující parametr
instalace.
■ Uk.řetězec/LASER
Ukončující řídící sekvence pro délku strany, používá se pro laserové
tiskárny (Typ=L). Viz. komentář k parametru délka strany.
■ Odsazení zleva
■ Uk.odsaz.zleva
Používá se pro realizaci tečkového příkazu .PO. Zadává se počet
sloupců zleva. Způsob zpracování proměnné části počtu sloupců je
stejný jako pro délku strany včetně ukončující sekvence.
(tečkové příkazy)
■ (^X) Uživatelský kód 1
■ (^V) Uživatelský kód 2
■ (^T) Uživatelský kód 3
Další typy písma nebo využití speciálních vlastností konkrétní
tiskárny (řádkování, barvy, NLQ, ...). Pro tiskárnu typu STANDARD
jsou tyto typy nastaveny takto: ^X ... dvojnásobné písmo
^V ... čtyřnásobné písmo
^T ... husté řádkování (1/8")
■ PARAMETRY PRO GRAFICKÝ TISK
Řádkování n/72, ....... dle možností tiskárny ──┐
Řádkování n/216 │ lze ovlivnit
Gr.hustota 60, ........ grafická hustota ├ proporce
Gr.hustota 120, │ tisku
Gr.hustota 240 ──┘ tisk grafu
Tyto parametry se nastavují jen u typu tiskárny 'M' a 'C'. Pro typ 'L'
nemají význam.
Nastavení barev
Pouze prefix, PC FAND doplní číslo barvy. Použije se u typu tiskárny C.
■ Závěr.sekvence
Závěrečná sekvence pro ukončení tisku. Má význam jen při speciálních
případech tisku.
Instalace úlohy
INSTALACE ÚLOHY
Z hlavního menu PC FANDu lze volbou Instalace úlohy instalovat nepovinná
rozšíření projektu:
katalog ............ umístění datových souborů jinde než v adresáři
s úlohou, soubory sdílené v lokální síti LAN,
vícedisketové záložní kopie,
generační soubory
seznam uživatelů ... seznam oprávněných uživatelů a jejich přístupových
práv
Celou instalaci lze uzavřít na heslo před nepovolaným zásahem.
Heslo je nutné z bezpečnostních důvodů (překlepy atd.) zadat dvakrát.
Instalační program
INSTALAČNÍ PROGRAM FANDINST
Program FANDINST.EXE naplňuje soubor instalačních parametrů FAND.CFG,který
se zohledňuje během startu PC FANDu při naplňování globálních proměnných.
Instalace je rozdělena do několika bloků:
Program zpracuje soubor FAND.CFG dle nastavení SET parametru FANDCFG.
Pokud není, hledá se v aktuálním adresáři.
■ Barvy ....... barvy pro datový a textový editor, nápovědu, nabídky atd.
■ Tiskárna .... kódy pro přepínání druhů písma a ostatní escape sekvence
pro tiskárny, změna kódování diakritiky pro tiskárnu
lze instalovat až 10 tiskáren
■ Konstanty ... hodnoty všech typů ovlivňující chování PC FANDu
■ Monitor ..... adresa videopaměti, tvar kurzoru, ošetření sněžení
■ Abeceda ..... výběr národní abecedy pro lexikální třídění
připravené tabulky Kamenických a Latin2
■ Dny ......... tabulka výjimečných dnů v roce (svátky,...)
pro zabudovaný kalendář
Int
ARITMETICKÉ FUNKCE
inter
inter_
inter_NázevTypu(L_NázevTypu_1,L_NázevTypu_2,&L_NázevTypu_3)
L_NázevTypu_1 První vstupní seznam.
L_NázevTypu_2 Druhý vstupní seznam.
L_NázevTypu_3 Výsledný seznam.
Prvky prvního seznamu, které existují i v druhém seznamu jsou
přeneseny do výstupního seznamu L_NázevTypu_3.
Příklad:
intr:-inter_String(['A'],['A','B'],X),writeln(X),
inter_String(['B','A'],['a'],Y),writeln(Y).
Interact
PARAMETRY GRAFU
Interní proměnné
INTERNÍ PROMĚNNÉ
Interní proměnné jsou vnitřní proměnné PC FANDu, které jsou zpřístupněny
programátorovi. Na rozdíl od funkcí mohou vystupovat i na levé straně
přiřazovacího příkazu.
Je třeba upozornit na to, že přiřazení hodnoty interní proměnné většinou
vyvolá další akce dle konkrétní proměnné a má spíše charakter příkazu.
accright randseed
soubor.archives usercode
clipbd username
soubor.nrecs soubor.volume
soubor.path
Intervalový klíč
VLASTNÍ KLÍČ
Vlastní klíč identifikuje zadáním jednoho nebo několika údajů větu soubo-
ru. Může být jednoznačný nebo duplicitní. Soubor musí být podle vlastního
klíče setříděn. Soubor může mít jeden nebo několik vlastních klíčů, potom
rozlišujeme jeden vlastní klíč ( na něj se odvoláváme jménem souboru ) a
ostatní alternativní vlastní klíče, které musíme pojmenovat. Volné texty
(textové údaje typu T) nemohou být součástí klíče.
█ @ KlíčovéÚdaje ............... vlastní klíč (identifikace věty,jen jeden)
█ NázevKlíče(@) KlíčovéÚdaje ... alternativní vlastní klíč
(udržuje najednou setřídění souboru podle několika různých hledisek)
■ <= před seznamem údajů ... intervalový klíč (klíče pro celé intervaly)
■ * před seznamem údajů ... duplicitní klíč (jinak jsou duplic. zakázány)
■ > před názvem klíčového údaje ... sestupné třídění (jinak vzestupné)
■ ~ před názvem klíčového údaje ... lexikální třídění (národní abeceda)
lze použít jen pro údaje typu A
Vlastní klíče mohou být podporovány indexy. Potom je setřídění souboru
podle všech vlastních klíčů automaticky zajištěno indexovaným souborem.
Pokud soubor nemá indexy,může mít nejvýše jeden vlastní klíč a programátor
musí zajistit, aby byl soubor setříděn podle vlastního klíče.
░░░░░░░░░░░░
░░příklady░░
░░░░░░░░░░░░
#K @ Název; {příklady deklarace vlastních klíčů}
#K @ Datum,Číslo,~Jméno; {klíč s lexikálním vyhledáváním}
#K @ * Měsíc; {duplicitní klíč}
#K @ <= TarifPásmo; {intervalový klíč}
#K ČÍSFAK(@) ČísloFaktury; {alternativní vlastní klíč}
IntTSR
KOMUNIKACE S REZIDENTNÍM PROGRAMEM
Komunikaci s rezidentními programy zajišťuje speciální funkce inttsr typu
real, která vyvolá přerušení s číslem prvního argumentu, hodnotou druhého
argumentu v registru AX a adresou lokální proměnné v DS:DX. Hodnotou
funkce je hodnota registru AX po návratu z přerušení.
██ syntaxe: INTTSR( ČísloInt ,RegAX ,RecordProměnná | Výraz ) : real
■ ČísloInt ......... číslo přerušení (Interrupt)
■ RegAX ............ hodnota registru AX
■ RecordProměnná ... předá se adresa pro čtení a zápis dat ve formátu
PC FANDu
■ Výraz ............ Výraz typu string, real nebo boolean. FAND předá
pointer na údaj ( ve formátu PASCALu ), který je
hodnotou výrazu. Parametr je volán odkazem, což
znamená, že po volaný interrupt může aktualizovat
hodnotu parametru.
Rezidentní program musí zpracovat dané přerušení, pomocí něhož zjistí kód
požadované činnosti a adresy, kam má psát ( nebo kde má převzít ) data z
úlohy.
inv
Inverze seznamu
inv_NázevTypu(Seznam_Vstup, &Seznam_Výstup)
Seznam_Vstup Vstupní seznam typu NázevTypu.
Seznam_Výstup Invertovaný seznam.
Prvky vstupního seznamu uloží do výstupního seznamu v opačném
pořadí.
Příklad:
inverze:-inv_Integer([1,12,15,19,259,10000],X), writeln(X).
Irec
PROCEDURÁLNÍ PARAMETRY EDITACE
IsDeleted
ZALOŽENÍ, RUŠENÍ A OBNOVENÍ VĚTY SOUBORU
IsMouse
MYŠ V PROCEDUŘE
Větvení programu podle druhu události. Funkce zpracuje aktuální událost,
která byla načtena funkcí mouseevent.
██ syntaxe: ISMOUSE( MaskaUdálostí , MaskaKlávesy ) : boolean
■ MaskaUdálostí Celé číslo, konstanta, pro test druhu události.
1 stisk klávesy
2 pustit klávesu
4 přesun myši
■ MaskaKlávesy Celé číslo, konstanta, maska pro klávesu ( sčítáme čísla
podmínek, které musí být splněny)
1 levá klávesa
2 pravá klávesa
256 dvojité stisknutí
Pro událost 2 (pustit klávesu) lze použít jen masku
klávesy 0. Tedy IsMouse(2,0).
■ Kapitoly .... P,D
IsNewRec
FUNKCE DATOVÉHO EDITORU