F
DEKLARACE SOUBORU - kapitola F
fail
fail - neúspěch
fail
Predikát fail vyvolá neúspěch - návrat k poslednímu bodu větvení a
zrušení všech mezivýsledků mimo assert/retract nebo efektů z volání
procedur FANDu.
Slouží k zajištění průchodu všemi větvemi. Podobně jako u
predikátu not nelze přebírat výstupní parametry volaných predikátů -
při návratu je proměnná uvolněna. Uchování výsledku lze realizovat
pomocí predikátu assert. Tento způsob je časově náročný, rychlejší
řešení přinese predikát all.
Příklad:
e:- a(_) , fail.
Při provádění predikátu "e" je vyhledána struktura "a".
Predikát "fail" vyvolá nesplnění a návrat zpět. Bude vyhledána další
větev "a". Po nalezení všech větví je výsledkem nesplnění cíle. Cíl
může být splněn druhou větví predikátu "e".
FANDCAT
SET-parametry
Tyto parametry interpretuje PC FAND při startu programu a zadávají se
do oblasti systémových proměnných (environment) příkazem
SET PARAMETR=hodnota.
Všechny parametry jsou nepovinné (při jednouživatelském režimu) a nejsou
-li zadány, platí implicitní nastavení.
■ FANDRES .... cesta k souboru FAND.RES (message,fonty,drivery)
■ FANDCFG .... cesta k souboru FAND.CFG (instalační parametry PC FANDu)
■ FANDOVR .... cesta k souboru FAND.OVR nebo UFAND*.OVR (overlay)
použití hlavně v LAN.
■ FANDWORK ... pracovní soubory FANDWORK.$$$, FANDWORK.X$$,FANDWORK.T$$
(realizace ClipBoardu, dočasné třídění, podmnožiny,...)
a PRINTER.TXT - tiskové sestavy. Význam hlavně v LAN.
Implicitní hodnota všech výše uvedených parametrů je adresář PC FANDU.
■ LANNODE .... číslo stanice v síti ( unikátní pro každou stanici ! )
Hodnoty 0..255. Povinný při sdílení datových souborů !
■ FANDDATA ... jiná cesta pro datové soubory a katalog
■ FANDCAT .... adresář pro katalog úlohy (má přednost před FANDDATA)
■ FANDOVRB ... zvětšení operační paměti pro úlohu, zadá se počet KB,
které má použít PC FAND pro oblast overlay místo optimální
velikosti (124 KB). Důsledkem je ovšem zpomalení práce
PC FANDu (zvláště volání exit-procedur).
Přípustné hodnoty parametru jsou v intervalu 80..134 KB,
jinak PC FAND použije 124 KB.
FANDCFG
SET-parametry
FANDDATA
SET-parametry
fandfile
fandfile
fandfile([&]String_Soubor,&String_Typ,&String_Rdb,&String_Cesta)
String_Soubor Logické jméno souboru PC FANDu.
String_Typ Typ souboru: '' - standardní soubor
'SQL' - SQL tabulka
'X' - s podporou indexů
'DBF' - DBF soubor
'DTA' - formát 8-bitového FANDu.
String_Rdb Úloha v které je soubor definován.
String_Cesta Úplná cesta k souboru.
vstupní_parametry
Zjištění informací o popisu souborů projektu. Popis dalších
souborů je vrácen při prohledávání další větve. Seznam popisů souboru
lze vytvořit vyvoláním pomocí predikátu all.
Vrácen je popis všech viditelných souborů, tj. včetně souborů z
nadřízených úloh. Překryté soubory nadřízených úloh nebudou
zpřístupněny.
Příklad:
soubor:-trace(1),fandfile(Soubor,'X','PROLOG',Cesta),
write('Soubor:',Soubor,' Cesta:',Cesta),fail.
Výpis indexovaných souborů projektu "PROLOG".
fandfield
fandfield
fandfield(String_Soubor,[&]String_Název,&String_Typ,&Integer_Delka
,&Integer_DesM,&Integer_Flags,&String_Maska)
String_Soubor Název souboru.
String_Název Název údaje.
String_Typ Typ údaje ('F','A','N','D','B','T','R').
Integer_Delka Délka, resp. počet míst před desetinnou tečkou.
Integer_DesM Počet míst za desetinnou tečkou.
Integer_Flags Maska s následujícím významem bitů:
1 - uložen (1)
2 - zakódován (2)
3 - s maskou (4)
4 - myšlená čárka (8)
5 - zarovnání vlevo pro typy A,N (16)
String_Maska Maska údaje. U údajů bez masky vrací ''.
vstupní_parametry
Zjištění jména a typu údaje určeného souboru včetně popisu masky
údaje.
Maska obsahuje binárně kódovanou informaci. Například při výběru
uložených údajů je nutno vybrat údaje s hodnotou prvního bitu 1, tj
liché hodnoty. Zjištění obsahu bitu lze provést pomocí binárního
operátoru &&.
Příklad:
udaj:-fandfield('HLP',Název,Typ,_,_,_,_),write(Název,Typ).
fandkey
fandkey
fandkey(String_Soubor,&String_Klíč,&Boolean_Int,
&Boolean_Dupl)
String_Soubor Název souboru.
String_Klíč Název vlastního klíče. Primární klíč označen "@".
Boolean_Int Intervalový klíč.
Boolean_Dupl Duplicitní klíč.
vstupní_parametry
Zjistí názvy a typy vlastních klíčů.
Příklad:
klic:-fandkey('ZAMESTN',Klic,_,_),
fandkeyfield('ZAMESTN',Klic,Udaj,_,_), write(Klic,Udaj).
Výpis prvního údaje prvního klíče.
fandkeyfield
fandkeyfield
fandkeyfield(String_Soubor,String_Klíč,&String_Údaj,
&Boolean_Lex,&Boolean_Sest)
String_Soubor Název souboru.
String_Klíč Název vlastního klíče.
String_Údaj Název údaje.
Boolean_Lex Lexikální klíč.
Boolean_Sest Sestupné třídění.
vstupní_parametry
Zjistí jméno údaje tvořícího primární klíč a typ třídění.
Příklad:
klic:-fandkey('ZAMESTN',Klic,_,_),
fandkeyfield('ZAMESTN',Klic,Udaj,_,_), write(Klic,Udaj).
Výpis prvního údaje prvního klíče.
fandlink
fandlink
fandlink(String_Soubor,[&]String_Spojení,[&]String_Soub,
&String_Klíč,&String_Own,&Integer_Fl)
String_Soubor Název podřízeného souboru.
String_Spojení˙˙˙˙˙˙Název spojení do nadřízeného souboru. Může to být
jméno role, klíče, nebo nadřízeného souboru.
String_Soub Jméno nadřízeného souboru.
String_Klíč Název klíče v nadřízeném souboru.
String_Own˙˙˙˙˙˙˙˙˙˙Název vlastního klíče, který lze použít pro
vytvoření vazby owner z nadřízeného souboru do podřízeného.
Integer_Fl Maska s následujícím významem bitů:
1 - referenční integrita ! (1)
2 - referenční integrita !! (2)
3 - možno vytvořit owner spojení (4)
Predikát vyhledává cizí klíče v uvedeném souboru. Výstupní
parametry popisují uvedený klíč.
Podporovány jsou následující dvě kombinace vstupních (i) a
výstupních (o) parametrů: (i,i,o,o,o,o) a (i,o,i,o,o,o)
Příklad:
c_klic:-fandlink('UZIV',Spoj,Soub,Klíč,_,_),
fandlinkfield('UZIV',Spoj,Udaj),
write(Soub,Klíč,Udaj).
Vyhledá první údaj prvního cizího klíče souboru "UZIV".
fandlinkfield
fandlinkfield
fandlinkfield(String_Soub,String_Spoj,&String_Údaj)
String_Soub Jméno podřízeného souboru.
String_Spoj Název spojení.
String_Údaj Jméno klíčového údaje.
vstupní_parametry
Vyhledá klíčové údaje určeného cizího klíče podřízeného souboru.
Příklad:
c_klic:-fandlink('UZIV',Spoj,Soub,Klíč,_,_),
fandlinkfield('UZIV',Spoj,Udaj),
write(Soub,Klíč,Udaj).
Vyhledá první údaj prvního cizího klíče z souboru "UZIV" do
nadřízeného souboru.
FANDOVR
SET-parametry
FANDOVRB
SET-parametry
FANDRES
SET-parametry
FANDWORK
SET-parametry
Field
PROCEDURÁLNÍ PARAMETRY EDITACE
Další parametry procedury edit použitelné výhradně v proceduře.
██ recno=ČísVýraz .... počáteční nastavení editoru - číslo věty (edrecno)
██ irec=ČísVýraz ..... pořadové číslo věty s kurzorem na obrazovce (edirec)
██ field=TextVýraz ... počáteční poloha kurzoru - název údaje (edfield)
██ reckey=TextVýraz .. počáteční poloha kurzoru na větě s touto (interní)
hodnotou klíče (edreckey)
Pomocí těchto parametrů lze přesně definovat, na kterou větu souboru má
editor při startu najet včetně umístění věty a kurzoru v aktuálním okně.
██ owner= ... editace skupiny vět podřízeného souboru podle viditelné věty
██ sel=PracovníIndex...pracovní index je lokální proměnná nebo parametr
procedury, který slouží pro realizaci výběru podmno-
žiny pomocí kláves:
F8 vybrat/nevybrat aktuální větu (přepínač)
ShiftF8 všechny věty do výběru nebo naopak
Věty, vybrané do indexu jsou barevně odlišeny viz.
instalace barev nebo parametr editace v okně.
Třídění pracovního indexu musí odpovídat třídění
editačního indexu (definuje se před editem).
Souvislosti: mode='sl' viz. módy datového editoru
██ check ... příkaz edit provede jen kontrolu syntaxe dynamické deklarace
kapitoly E.
File
FILE
Použití typu file (soubor) se pro parametry procedury poněkud liší od
použití jako typu lokální proměnné procedury.
Parametr typu FILE
──────────────────
██ ( ... ; NázevSouboru : FILE ; ... )
■ NázevSouboru ... Při běžném překladu (Ctrl-F8) se bere jako reálný
soubor (název viditelné kapitoly F). Při vyvolání
procedury se substituuje aktuálním parametrem, lze
použít i dynamickou deklaraci souboru.
Význam parametru typu file je především pro psaní zobecněných procedur,tj.
procedur, použitelných pro více souborů. Dynamizací aktuálního parametru
typu file lze deklarovat lokální soubor.
██ Proc( NázevProcedury,(@NázevSouboru)) ;
Proc( NázevProcedury,(@[NázevSouboru,TextVýraz])) ;
V příkazu Proc při volání procedury syntakticky odlišíme parametr FILE
pomocí znaku '@'.
■ Aktuální parametr nemusí mít stejnou deklaraci se souborem , použitým
jako formální parametr, ale musí se samozřejmě shodovat všechny prvky
deklarace použité v proceduře ( údaje, odstavce ). Tato podmínka je
např. splněna, je-li aktuální parametr souborem deklarovaným LIKE
formální parametr.
Pro substituci názvů vlastních alternativních klíčů platí konvence:
Je-li NázevKlíče == [Prefix_]ZbytekNázvu, pak pokud soubor, substi-
tuovaný místo původního, nemá klíč s tímto názvem, PC FAND zkusí
klíč s názvem NázevAktuálníhoParametru_ZbytekNázvu
Pozor: Při použití nevhodného parametru mohou nastat běhové chyby.
■ TextVýraz ... ve druhé variantě znamená možnost dynamické deklarace
souboru - lokálního v dané proceduře. Nemůže mít indexy
a ignorují se odstavce #U/#D/#L/#I. Slouží jako pracovní
soubor, může mít zápis v katalogu.
Na konci procedury se lokální soubor na disku automaticky
nezruší. To lze v případě potřeby zajistit explicitním
příkazem NázevSouboru.nrecs:=0
Při prvním otevření maže případný starý soubor se stejným
jménem - ale jen tehdy, pokud nesouhlasí s deklarací.
.........................................................................
Lokální proměnná procedury typu FILE - lokální soubor
────────────────────────────────────
██ VAR NázevSouboru : file [DeklaraceSouboru];
NázevSouboru : file.X [DeklaraceSouboru];
NázevSouboru : file.DBF [DeklaraceSouboru];
Na rozdíl od parametru typu file je deklarace struktury souboru přímou
součástí deklarace lokálního souboru.
■ NázevSouboru ... Identifikátor, nesmí se překrývat s žádným názvem
kapitoly typu F (na rozdíl od parametru typu file).
■ Lokální soubor může mít indexy nebo může být typu DBF.
■ DeklaraceSouboru Nesmí obsahovat odstavce #U, #D, #L, #I. Tedy je povo-
lena jen první část kapitoly F. Nepíše se jako textový
výraz, např. do apostrofů (na rozdíl od parametru-dyna-
micky deklarovaného lokálního souboru).
░░░░░░░░░░░░
░░příklady░░
░░░░░░░░░░░░
██ Povolená kombinace parametrů:
( Soubor : File; veta : RECORD of Soubor )
Umožňuje psaní obecných exit-procedur. Odkaz na soubor musí být vždy
za deklarací.
██ Obdobně: ( Soubor : File; indx : INDEX of Soubor )
██ P Ukazka VAR Pracovni : FILE [ Jmeno:A,20; Castka:F,3.0 ] ;
Export : FILE.DBF [ Ucet:A,6; Kc:F,6.2 ] ;
PracX : FILE.X [ Jmeno:A,20; #K @ ~Jmeno ] ;
Begin
....
FileSize
OBSAZENÍ DISKU A VELIKOST SOUBORU
Fill
PARAMETRY GRAFU
■ FILL=TextVýraz ... dva znaky 'AB', první=typ výplně, druhý=tvar objektů
A = N-obrys C-barvy F-vzor
M-barvy&vzor O-1 barva
B = pro 2DBAR|GROUP|GROUPLINE|CIRCLE|APPROX|POLYREG
1|2 - dvojrozměrná verze
3 - trojrozměrná verze
pro 3DBAR 1 - válcové sloupce
2 - jehlany
3 - kvádry
pro 3DLINE 1 - lomená plocha
2 - plochy mezi úsečkami
3 - "kulisy"
■ GRID=TextVýraz ... zobrazení rastru, výpis hodnot do grafu
Y-yes (pro čárové grafy v ose X i Y, jinak jen X)
N-no(impl.)
H-hodnota do grafu (2DBAR,3DBAR,3DLINE).
Pro H lze dále zadat počet desetinných míst
H:n (n = 0..10)
Fix
KOPÍROVÁNÍ A PŘEVODY
FloodFill
FLOODFILL - vyplnění omezené oblasti
Příkaz floodfill vyplní oblast omezenou zadanou hraniční barvou určitým
předdefinovaným vzorem v požadované barvě.
██ syntaxe: FLOODFILL ( X, Y, Vzor, HrBarva, Barva )
■ X,Y ....... Číselné výrazy, bod uvnitř oblasti
■ Vzor ...... Číselný výraz, kód typu výplně. Povolené hodnoty 0..11
■ HrBarva ... Číselný výraz, kód barvy (Ctrl-znak), která ohraničuje
zadanou oblast. Hranice musí být souvislá.
■ Barva ..... Číselný výraz - kód barvy (nebo Ctrl-znak) vzoru, kterým
se vyplní oblast.
Foot
SELECTSTR
For
PŘÍKAZY CYKLU
Jednotlivé typy cyklů se od sebe liší především umístěním a typem podmínky.
Příkaz while se provádí dokud platí logická podmínka, která se testuje
před tělem příkazu (smyčkou). To znamená, že příkaz uvnitř cyklu se nemusí
provést ani jednou.
██ Syntaxe: WHILE LogVýraz DO Příkaz
Sekvence příkazů mezi repeat a until se provádí,dokud je nesplněna podmínka
na konci těla příkazu. To znamená, že příkaz se provede vždy alespoň jednou
(pokud není ukončen jinak).
██ Syntaxe: REPEAT { Příkaz ; } UNTIL LogVýraz
Příkaz cyklu for je řízen lokální řídící proměnnou typu real, která se na
počátku příkazu inicializuje na hodnotu ČísVýraz1 a na konci každé smyčky
se zvýší o 1. Před každou smyčkou se provede srovnání <= na ČísVýraz2.
V podstatě jde o speciální případ příkazu while.
██ Syntaxe: FOR LokálníProměnná := ČísVýraz1 TO ČísVýraz2 DO Příkaz
ForAll
FORALL CYKLUS
Forall cyklus prochází platné věty celého souboru nebo jeho části a provádí
požadované akce. Na věty souboru se odkazuje přímým přístupem podle řídící
proměnné cyklu typu real, která postupně nabývá hodnot fyzických čísel
procházených vět, nebo pomocí record proměnné typu record of, která se
postupně naplňuje jednotlivými větami souboru nebo kombinací obou způsobů.
██ Syntaxe: FORALL RecordProměnná |
RealProměnná in RecordProměnná |
RealProměnná in NázevSouboru
[ /@ | /NázevKlíče | VazbaOwner ]
[ ( LogickáPodmínka ) ] [ ! ] [ % ] do Příkaz
■ RecordProměnná ... Lokální proměnná typu record of zpracovávaný soubor.
Aktualizované věty jsou automaticky vypsány do souboru
včetně aditivních změn. O který soubor jde, je zřejmé
z deklarace proměnné. V této variantě se není třeba
starat o čtení a zápis vět.
■ RealProměnná ..... Obsahuje fyzické číslo zpracovávané věty, které lze
použít pro přímý přístup Soubor[i].Údaj nebo pro
operace typu rušení věty deleterec.
■ /@,/NázevKlíče ... Věty se zpracují v pořadí vlastního resp. alternativ-
ního klíče. Nelze kombinovat s owner. Implicitně se
soubor prochází ve fyzickém pořadí (index of).
■ LogickáPodmínka... Vstupní filtr. Logický výraz, ve kterém lze použít
údaje souboru. Je efektivnější než rozhodování až
v těle cyklu. Je povolena i konstrukce key in.
Pro SQL je možno podmínku realizovat na serveru.
■ Vazba Owner ...... Skupina vět podřízeného souboru podle viditelné věty
nadřízeného souboru.
■ ! ......... Píše se při /klíč nebo owner, když chceme rušit,zařadit věty
či měnit indexy (hodnoty klíče). Pro korektní provedení cyklu
se vygeneruje virtuální index.
■ % ......... Automatické zobrazení procenta zpracování souboru v dolním
levém rohu (jako merge,report). Implicitně definuje okno pro
výstup, které je v případě potřeby nutno předefinovat v těle
cyklu.
Charakteristika variant:
RealProměnná in Soubor se s výhodou použije při jednoduché změně několika
(1-3) údajů - např. vynulování proměnné. Velmi výhodný je v případě, že
soubor obsahuje volné texty, se kterými se ale v cyklu nepracuje.
Pokud se pracuje s více údaji, bude výhodnější varianta s record proměnnou,
sníží počet fyzických přístupů na disk a zápis je přehlednější.
░░░░░░░░░░░░
░░příklady░░
░░░░░░░░░░░░
██ { kolik pracovníků má vyšší mzdu než 33.000 Kč }
Kolik:=0 ;
forall i in PRACOV (mzda>33000) do Kolik+=1 ;
forall i in PRACOV do { takto lze také }
if PRACOV[i].mzda>33000 then Kolik+=1 ; { ale bude to pomalejší}
██ { zpracování podle indexu }
var r:record of PRACOV ; i:real ;
forall i in DATA/@ (key in [...]) do ...
forall r/PodleJmena do ...
██ { vazba owner - výběr podřízených vět pro jednu nadřízenou }
var VětaPod:record of POD;
VětaNad:record of NAD;
VětaNad.Klíč:=...;
forall VětaPod owner VětaNad do ...;
forall VětaPod owner NAD[i] do ... ;
Formátování textu
FORMÁTOVÁNÍ TEXTU
Kvůli formátování v textech PC FANDu rozlišujeme měkké a tvrdé konce řádků.
Odstavec je pak definován jako úsek textu ukončený tvrdým koncem řádku (při
editaci klávesou Enter ). Řádky s tvrdými konci jsou označeny znakem < v
posledním sloupci obrazovky (při zapnutém přepínači pro formátování).
Odstavce lze formátovat do sloupce mezi levý a pravý okraj textu.
■ Ctrl-O Ctrl-L ... nastavení levého okraje textu (implicitně 1)
■ Ctrl-O Ctrl-R ... nastavení pravého okraje textu (implicitně 78)
■ Ctrl-B .......... formátování textu od pozice kurzoru do konce odstavce
■ Ctrl-K Ctrl-F ... formátování celého bloku
Při nastaveném přepínači automatické formátování (Ctrl-O Ctrl-W) se
text formátuje již během pořizování textu vždy při naplnění řádku.
Pokud je navíc nastaven přepínač zarovnávání (Ctrl-O Ctrl-J), bude
text při formátování zarovnán na pravý okraj (do řádku se vloží mezery).
Interní uložení oddělovačů v textu: ^M^J - tvrdý konec, ^M - měkký konec.
Formulář
FORMULÁŘ - kapitola E
Frac
ARITMETICKÉ FUNKCE
FreeMem
EXTERNÍ PROGRAMY
Function
FUNKCE
Funkce
FUNKCE
Funkce datového editoru
FUNKCE DATOVÉHO EDITORU
Funkce pro datum a čas
FUNKCE PRO DATUM A ČAS
PC FAND obsahuje datumovou aritmetiku , tj. funkce pro počítání a převody
datumu a času. Zahrnuje i práci s interním kalendářem - tabulkou pracovních
dní, viz. Instalační program. Pokud funkce pracují s datumem a časem jako
číselným výrazem ( typ real ) , jde o stejný formát jako FANDovský typ D
(celá část - pořadové číslo dne od 01.01.0001 a desetinná část - část dne).
Přehled funkcí:
■ today ......... aktuální (dnešní) datum
■ currtime ...... vrací aktuální čas
■ strdate ....... převod datumu a času na string
■ valdate ....... převod datumu a času v textové podobě na interní (real)
■ addwdays ...... přičtení počtu dní daného typu k počátečnímu datu
■ addmonth ...... k počátečnímu datu přičte zadaný počet měsíců
■ difwdays ...... počet dní daného typu v časovém období
■ difmonth ...... počet měsíců v časovém období
Funkce pro zpracování textu
ZPRACOVÁNÍ TEXTU - přehled funkcí a příkazů
Color .............. kód barvy podle instalace
Copy ............... výběr podřetězce
CopyLine ........... načtení určitého řádku z víceřádkového textu
EdBool ............. vrací text aktuální podmnožiny datového editoru (F6)
EditTxt ............ varianta příkazu edit pro editaci textové proměnné
EquMask ............ porovnání řetězce na masku
EvalB,EvalR,EvalS .. vyhodnocení textu výrazu daného typu
GetTxt ............. načtení úseku textu ze souboru
Char ............... vrací znak s určitým ASCII kódem
LeadChar ........... odstranění nebo nahrazení vedoucích znaků
Length ............. délka textu
LineCnt ............ počet řádků textu
LowCase ............ převod velkých písmen na malé v textu
NoDiakr ............ odstranění diakritiky z textu
Ord ................ hodnota ASCII kódu znaku
Pos ................ pozice výskytu podřetězce v textu
PutTxt ............. příkaz pro zápis textu do (fyzického) souboru
RepeatStr .......... generování textu opakováním řetězce (nebo znaku)
Replace ............ nahrazení podřetězce v textu jiným řetězcem
SelectStr .......... výběr z pole textů (jednoho nebo i podmnožiny)
Str ................ převod čísla na text
StrDate ............ převod datumu (času) z číselné do textové formy
TxtPos ............. určení pozice při (po) editaci textu
TrailChar .......... odstranění nebo nahrazení ukončujících znaků
UpCase ............. převod malých písmen na velké v textu
Val ................ převod textového zápisu čísla na číselný typ (real)
Funkce textového editoru
FUNKCE TEXTOVÉHO EDITORU
██ syntaxe: EDUPDATED : boolean
CLIPBD : string
TXTPOS : real
TXTXY : real
■ EdUpdated ... Test provedení aktualizace souboru během editace. Udává,
zda byl soubor změněn (true) či nikoliv (false).
Je funkční pro datový i textový editor.
■ Clipbd ...... Definována v exit-proceduře, vrací obsah clipboardu
■ TxtPos ...... Pozice kurzoru v textu při opuštění textového editoru. Pro
opětovný vstup do textu lze použít stejnojmenný parametr
příkazu edittxt. Další význam txtpos viz. funkce evalb,
evalr,evals, exit, mode='EX'.
■ TxtXY ....... Pozice kurzoru v okně při ukončení textového editoru.
Výpočet pozice kurzoru :
txtXY = 65536*pozice v řádku + 256*řádek + sloupec
Řádek a sloupec jsou relativní souřad. kurzoru v aktuálním
okně. Pozice v řádku je pozice kurzoru od počátku řádku.
Poznámka:
Pomocí funkcí a parametrů TxtPos a TxtXY se lze po opuštění textového
editoru vrátit na stejné místo textu a obrazovky (okna). Podobně při exit
proceduře. Tento mechanismus však korektně funguje jen za předpokladu, že
se kurzor nachází v rámci textu (nikoliv za posledním znakem řádku).
Funkce v L kapitole
funkce
Funkce typu Integer
max(Integer_1,Integer_2) Funkce vracející maximum.
min(Integer_1,Integer_2) Funkce vracející minimum.
val(String) Převod čísla z typu String do typu Integer.
length(String) Délka řetězce.
pos(String_1,String_2) Pozice podřetězce String_1 v řetězci String_2.
maxcol Počet sloupců obrazovky.
maxrow Počet řádků obrazovky.
Funkce typu String
copy(String,Integer_1,Integer_2) Výběr podřetězce z řetězce String od
pozice Integer_1 v délce Integer_2.
str(Integer) Převod z typu Integer do String.
repeatstr(String,Integer) Opakování řetězce String Integer krát.
leadchar(ZnakKonst,String)˙˙˙˙˙˙˙Odstranění úvodních znaků ZnakKonst z
řetězce String.
trailchar(ZnakKonst,String)˙˙˙˙˙˙Odstranění ukončujících znaků
ZnakKonst z řetězce String.
Integer, Integer_1, Integer_2
Termy typu Integer neobsahující nepřiřazené proměnné.
String, String_1, String_2
Termy typu String neobsahující nepřiřazené proměnné.
ZnakKonst Znaková konstanta.
Příklady:
vetsi:- X:Integer=max(15,10),writeln(' 10 a 15 => větší je',X).
mensi:- X:Integer=min(10,105), writeln('Min: ',X).
fce1:- X:Integer=val(str(2)+copy('0001',1,3))+length('abc')*100 + pos('d','f
Mc:Integer=maxcol, Mr:Integer=maxrow,
write('Obrazovka : ',Mc,' x ',Mr).
fce2:- X:String=repeatstr('d',2)+'X',Y:String=leadchar('d',X), writeln(Y).
Funkční a řídící klávesy
FUNKČNÍ A ŘÍDÍCÍ KLÁVESY
■ F2 (pořiď/edit) ... přepnutí do módu pořízení/editace
■ F3 (hledej) ....... vyhledání věty podle vlastního klíče
■ F4 (duplikace) .... údaj se zkopíruje podle předchozí věty
■ F5 (přepínače) .... nastavení a zrušení přepínačů
■ F6 (akce) ......... spuštění operací nad souborem
■ F8,ShiftF8 (výběr). manuální výběr věty do podmnožiny sel
■ F9 (ulož) ......... uloží aktuální stav souboru na disk proti výpadku proudu
■ Ctrl-F2 ................ obnovení podmnožiny cond (sítě, exit procedury)
■ Ctrl-F3 (věta) ......... nastavení editoru podle čísla věty
■ Ctrl-F5 (vypočítej) .... vyvolání kalkulátoru
(Ctrl-U obnovuje poslední výraz a Ctrl-F4 přenáší výsledek zpět do editoru)
■ Ctrl-<- resp. Ctrl--> ... výměna sousedních vět
■ Ctrl-Y ... zrušení aktuální věty (nebo celé podmnožiny vět, je-li nastavena)
■ Ctrl-N ... vložení věty na místo datového kurzoru
■ Ctrl-U ... zrušení změn ve větě a obnovení původního obsahu načtením z disku
■ Ctrl-\ ... odskok na začátek příští věty.
■ Esc ...... ukončení práce datového editoru
■ případně (Alt,Ctrl,Shift,)-F1 až ...-F10 ... programátorem definované akce