Příkazy
SET
Příkazy SET nastavují parametry prostředí FoxPro. FoxPro obsahuje, podobně jako předchozí verze FoxBASE nebo dBASE, skupinu příkazů SET. Příkazy SET umožňují uživateli nastavovat parametry prostředí podle konkrétních požadavků použité aplikace.
Příkazy SET mají jednoduchou syntaxi a lze je rozdělit do dvou skupin:
- příkazy nastavující hodnotu ON (zapnuto) nebo OFF (vypnuto)
- příkazy nastavující konkrétní hodnotu z množiny hodnot
Nastavení pomocí příkazů SET může být provedeno již při spuštění FoxPro v souboru CONFIG.FP. Syntaxe je podobná jako u příkazů SET.
Tabulka implicitních nastavení příkazů SET je uvedena v knize "Úvod do FoxPro" v tabulkové části.
SET
-------------------------
Otevírá okno pro práci ve FoxPro.
Syntax:
SET
Příkaz SET bez argumentů otevírá aktivní okno, v němž je možné otevírat soubory, nastavovat relace, měnit nastavení FoxPro atd. Bližší podrobnosti viz příručka uživatele.
Odkaz:
SET VIEW
SET ALTERNATE
-------------------------
Posílá obrazovkový výstup přímo na souboru.
Syntax:
SET ALTERNATE on | OFF
SET ALTERNATE TO [<soubor>] [ADDITIVE]
Příkaz SET ALTERNATE umožňuje záznam všech výstupů s výjimkou výstupu celoobrazovkových příkazů do textového souboru. Jméno souboru může obsahovat přístupovou cestu a zařízení. Pokud není uvedena přípona souboru, předpokládá se
přípona ".TXT".
Příkaz SET ALTERNATE ON umožňuje zápis výstupů do textového souboru.
Příkaz SET ALTERNATE TO <soubor> vytvoří textový soubor a otevře jej pro zápis. Fráze ADDITIVE otevře již existující soubor daného jména a bude zapisovat na jeho konec. Bez uvedení volby ADDITIVE je existující soubor přepsán. Zápis se provádí
teprve po příkazu SET ALTERNATE ON.
Příkaz SET ALTERNATE OFF ukončuje zápis výstupů, ale textový soubor zůstane otevřený. Soubor lze uzavřít příkazem SET ALTERNATE TO bez argumentu nebo příkazem CLOSE ALTERNATE.
Příklad:
USE Student
SET ALTERNATE ON
SET ALTERNATE TO Vypis
LIST OFF Oscislo,Prijmeni,Jmeno,Narozen
SET ALTERNATE OFF
CLOSE ALTERNATE
TYPE Vypis.txt TO PRINT
V příkladu je příkazem SET ALTERNATE přesměrován výstup jednoduché sestavy do souboru VYPIS.TXT. Tento soubor je potom vypsán příkazem TYPE na tiskárnu.
Odkaz:
SET PRINT
SET AUTOSAVE
-------------------------
Vyprázdní buffer souboru na disk.
Syntax:
SET AUTOSAVE on | OFF
Příkaz SET AUTOSAVE řídí vyprazdňování bufferu databázového souboru na disk a je vhodný při pořizování dat. Nastavení ON zajistí zápis věty na disk po každé změně ve větě, tj. po ukončení příkazu READ, nebo návratu do příkazového okna. Při nestandartnim zakončení práce se souborem (např. při výpadku elektrického proudu) je většina vět v pořádku. Práce programu se však zpomalí. Nastavení OFF způsobí zápis na disk po naplnění bufferu. Kromě toho je buffer automaticky vyprázdněn vždy po pěti minutách od posledního vyprázdnění, došlo-li během této doby k opeaci READ.
Odkaz:
FLUSH
SET BELL
-------------------------
Přepíná pípnutí a nastavuje jeho atributy.
Syntax:
SET BELL ON | off
SET BELL TO [<frekvence>,<trvání>]
Příkaz zapíná nebo vypíná zvukovou signalizaci počítače v případě vložení posledního znaku položky a přechodu na další položku nebo v případě vkládání nepovolené hodnoty nebo nepovoleného typu do položky. Nastaveni ON tuto signalizaci zapíná, nastavení OFF tuto signalizaci vypíná. Pomocí SET BELL TO je možné nastavit kmitočet a dobu trvaní zvukového signálu. Zakladní nastavení je 512 Hz a 2 časové jednotky (jedna je asi 0.0549 sekund). Kmitočet může být nastaven v rozmezí 19 až 10000 Hz, trvání v rozmezí 1 až 19
jednotek.
Příklad:
PROCEDURE Varováni
SET BELL TO 880,4
?? CHR(7)
SET BELL TO 1400,4
?? CHR(7)
SET BELL TO 880,4
?? CHR(7)
RETURN
V příkladu je vytvořena procedura, která při aktivaci třikrát pípne, přičemž prostřední tón je vyšší.
SET BLINK
-------------------------
Specifikuje atributy obrazovky a barev.
Syntax:
SET BLINK ON | off
Příkaz SET BLINK pracuje pouze s monitory EGA a VGA. Je-li nastaven SET BLINK ON, elementy obrazovky mohou blikat. Nastavení SET BLINK OFF umožňuje projasňení barev pozadí. Bližší informace viz příkaz SET COLOR TO.
Odkaz:
SET COLOR
SET BLOCKSIZE
-------------------------
Určuje způsob alokace diskového prostoru.
Syntax:
SET BLOCKSIZE TO <výrazN>
Příkaz SET BLOCKSIZE určuje, jakým způsobem bude alokován prostor na disku pro memo položky. Je-li <výrazN> celé číslo mezi 1 a 32, diskový prostor je alokován v blocích po <výrazN> krát 512 bytů. Je-li <výrazN> větší než 32, je prostor na disku alokován po <výrazN> bytech. Implicitní hodnota příkazu SET BLOCKSIZE je 64.
SET BORDER
-------------------------
Definuje atributy rámečků menu a oken.
Syntax:
SET BORDER TO [SINGLE | PANEL | NONE | <řetězec1> [,<řetězec2>]
Příkaz SET BORDER umožňuje definovat samotné rámečky a rámečky pro menu a okna. Samotné rámečky jsou vytvořeny příkazem @ ... TO, rámečky menu jsou vytvořeny příkazem DEFINE MENU, DEFINE POPUP a rámečky oken jsou vytvořeny příkazem DEFINE WINDOW. Volby pro definici rámečku jsou následující:
Volba SINGLE je implicitní volbou. Rámeček je tvořen jednoduchou čarou.
Volba DOUBLE vytvoří rámeček s dvojitou čarou.
Volba PANEL vytvoří plný rámeček (ASCII znak 219).
Volba NONE potlačí zobrazení rámečku.
<řetězec1> je užíván u samostatných rámečků, menu a oken. Je tvořen posloupností až 8 čísel, která reprezentují kódy ASCII tabulky pro znaky, které budou tvořit rámeček. Jednotlivá čísla se od sebe odděluji čárkou.
<řetězec2> je používán pouze u oken. Je tvořen posloupností až 8 čísel, která reprezentují kódy ASCII tabulky pro znaky, které budou tvořit rámeček v případě, že okno není aktivní. Jednotlivá čísla se od sebe odděluji čárkou.
Pořadí znaků v parametrech <řetězec1> a v <řetězec2> je následující:
Horní linka, dolní linka, levá linka, pravá linka, levý horní roh, pravý horní roh, levý dolní roh, pravý dolní roh. Je-li uvedena jen jedna hodnota, platí znak pro celý rámec.
Příkaz SET BORDER nemění původní definici rámečku, menu nebo okna a po příkazu SET BORDER TO bez argumentu tato zůstává v platnosti.
Příklad:
SET BORDER TO CHR(4)
Tento příkaz vytváří rámeček z hvězdiček.
Odkaz:
SET COLOR
SET BRSTATUS
-------------------------
Určuje zobrazení stavového řádku příkazu Browse.
Syntax:
SET BRSTATUS on | OFF
Příkaz SET BRSTATUS řídí zobrazení stavového řádku v dolní části okna BROWSE. Stavový řádek zobrazuje název aktivního disku, název aktivního databázového souboru, ukazatel vět, počet vět v aktivní databázi a stav přepínačů NumLock, CapsLock a Insert. Ve FoxPro/LAN, je zobrazen i stav uzamčení věty nebo souboru. Je-li SET BRSTATUS OFF, není stavový řádek zobrazen. Je-li SET STATUS ON, zobrazí se stavový řádek bez ohledu na nastavení SET BRSTATUS ON či OFF.
Odkaz:
SET STATUS
SET CARRY
-------------------------
Přenáší data do další věty.
Syntax:
SET CARRY on | OFF
SET CARRY TO [<seznam>] [ADDITIVE]
Příkaz SET CARRY zapíná nebo vypíná přenos obsahu naposledy zadané věty do nové (právě zadávané) věty, která byla vytvořena příkazem APPEND nebo INSERT v celoobrazovkovém editačním režimu. V některých aplikacích se některé položky ve větách nemění. Proto je vhodné, když se tyto více méně konstantní hodnoty přenášejí při pořizování z jedné věty do druhé. SET CARRY ON tento přenos zapíná, SET CARRY OFF vypíná. Je-li použit příkaz SET CARRY TO, určuje <seznam> ty položky, které budou přenášeny do další věty. Příkaz SET CARRY TO bez argumentu ruší tento seznam a dále se přenášejí všechny položky, pokud to příkaz SET CARRY ON povoluje. Fráze ADDITIVE přidá položky uvedené v seznamu k dříve určeným položkám.
Odkaz:
APPEND, INSERT
SET CENTURY
-------------------------
Specifikuje formát roku v datumu.
Syntax:
SET CENTURY on | OFF
Příkazem SET CENTURY lze zvolit způsob zobrazení roku při práci s údaji, proměnnými a funkcemi typu datum. Nastavení SET CENTURY ON určuje formát roku jako čtyřmístné číslo. Nastavení OFF určuje dvojmístný formát roku (ve výpočtech s položkami typu datum se potom předpokládá 20. století). Je-li nastaveno SET CENTURY ON, je délka zobrazení údaje typu datum 10 znaků; v opačném případě 8 znaků. Datum je ovšem vždy uloženo na osmi bytech i se stoletím. Příkaz SET CENTURY tedy neovlivňuje, jak bude datum uloženo, ale pouze to, zda se století bude zobrazovat.
Příklad:
SET CENTURY ON
? DATE()
01.01.1991
SET CENTURY OFF
? DATE()
01.01.91
SET CLEAR
-------------------------
Určuje způsob mazání obrazovky.
Syntax:
SET CLEAR ON | off
Příkaz určuje, zda se bude mazat obrazovka před provedením příkazů SET FORMAT TO <soubor> a QUIT. V případě příkazu SET FORMAT TO je tak programátorům dána
možnost překrývat pozadí obrazovky formátovanou obrazovkou pro vstup dat. Nastavení SET CLEAR OFF před provedením příkazu QUIT (ukončení FoxPro) umožňuje zobrazit výstupní obrazovku při návratu do MS DOS.
SET CLOCK
-------------------------
Umístí zobrazení času na obrazovce a určuje pozici zobrazení.
Syntax:
SET CLOCK on | OFF
SET CLOCK TO [<r>,<s>]
Příkaz SET CLOCK umožňuje zobrazení systémového času.
Nastavení ON umisťuje zobrazení systémového času do pravého horního rohu obrazovky a nastavení OFF tento čas maže z obrazovky. Příkaz SET CLOCK TO určuje pozici zobrazení v souřadnicích <r>,<s>. Příkaz SET CLOCK TO bez argumentu ruší toto umístění a zobrazení času je v případě SET CLOCK ON umístěno na implicitní pozici. Ta je na řádku 0 v sloupci 69.
Odkaz:
SET HOURS
SET COLOR
-------------------------
Nastavuje atributy barvy. FoxPro nabízí sadu příkazů pro řízení barev uživatelského interface. Kromě těchto příkazů i některé další příkazy podporují nastavenů atributů barev (např. DEFINE WINOW, @ ... SAY/GET). Barvy mohou být ve Foxpro nastaveny dvěma způsoby; buď pomocí volby COLOR v menu Window, nebo příkazy SET COLOR. Bližší popis k nastavení barev pomocí okna Window je uveden v příručce uživatele.
V oblasti řízení barev obrazovky se vyskytují následující termíny:
Dvojice barev.
Dvojice barev se sestává z barvy popředí a pozadí.
Jednotlivé barvy jsou zadány znakovými kódy.
K označení barev se používá těchto kodů :
černá - N nebo mezera červená - R
modrá - B fialová - RB
zelená - G hnědá - GR
tyrkysová - BG žlutá - GR+
šedá - N+ bílá - W
* za kódem barvy způsobí blikání textu,
+ za kódem barvy způsobí zintenzivnění textu,
X "neviditelný znak" (je-li nežádoucí zobrazit text, například při zadávání hesla).
Pro černobílé monitory platí pouze čtyři "barvy":
W bílá
N černá
U písmo s podtržením
I inverzní zobrazení
Seznam dvojic barev
Kompletní nastavení všech atributů objektu obrazovky je možné zadat seznamem výše uvedených dvojic. Seznam se sestává z jedné až deseti dvojic. Význam jednotlivých dvojic je popsán v níže uvedené tabulce.
Schéma barev
Schéma barev je seznam deseti dvojic barev. Každá dvojice však koresponduje s daným atributem objektu obrazovky, takže při zadání schématu musí toto jednoznačné (pokud je dvojice barev pro určitou část obrazovky nepoužita, musí být zadána prázdná – viz příklad). Schémata jsou číslována od 1 do 24. Podrobný popis všech schémat a nastavení pomocí volby WINDOW - Color systémového menu je uveden v příručce uživatele.
Sada barev
Sada barev se sestává z 24 schémat barev. Tyto sady mohou být podobně jako klávesnicová makra uchovány pro pozdější použití v souboru FOXUSER.DBF. Sadám je přiřazeno jméno s délkou max.10 znaků. Při zahájení práce FoxPro je použita standartní sada barev. V souboru CONFIG.FP může být zadána odlišná sada v řádku COLOR SET = <jméno>, která nastaví standartní sadu barev. Následující příkazy popisují řízení barev objektů obrazovky. K zajištění kompatibility s nižšími verzemi databázových produktů FoxBASE+ i dBASE jsou v některých funkcích duplicitní. Pro vytváření nových programových produktů je však vhodnější používat mocného a přehledného aparátu schémat barev.
Zobrazení standartní | zvýrazněné
Z nižších verzí FoxBASE a dBASE jsou převzaty termíny standartní a zvýrazněný text, pomocí kterých lze popsat jakýkoli objekt na obrazovce. Nejlépe se vysvětlí na monochromatickém monitoru s černobílým zobrazením, kde bílý text vystupuje
z černého pozadí.
- standartní - text vystupuje na standartní ploše pozadí, tj. bíle na černém (W/N).
- zvýrazněný - text vystupuje černě na bílém obdélníku (N/W), jehož výška je určena výškou řádku a délka je určena délkou zobrazeného objektu. U barevného monitoru mohou být dvojice sestaveny z kódů barev.
SET COLOR
-------------------------
Nastavuje barvy uživatelem definovaných menu a oken.
Syntax:
SET COLOR OF NORMAL | MESSAGES | TITLES | BOX | HIGHLIGHT | INFORMATION | FIELDS TO [<standartní>,<zvýraznění>]
Příkaz SET COLOR OF...TO ... je převzat z dBASE IV a nastavuje barvy některého druhu textu (běžný text, hlášení, hlavičky, rámečky, prosvícený text, informace, pole).
Jednotlivé fráze se vztahují k těmto zobrazením:
Normální text:
NORMAL - editor, nezvýrazněný text obrazovek, ...
MESSAGES - zprávy a oznamy na spodním řádku obrazovky, nezvýrazněné volby v menu, chybová hlášení, ...
TITLES - záhlaví výpisů, záhlaví tabulek, ...
BOX - rámeček menu, okna, ...
Zvýrazněný text:
HIGHLIGHT - vybraná volba v menu, zvýrazněný text obrazovek, ...
INFORMATION - hodiny, rámeček chybového hlášení, stavový řádek, ...
FIELDS - položky na obrazovkách, ...
Příkaz SET COLOR OF pracuje s nastavením ve schématu č. 1 a 2, tj. s atributy pro uživatelem definivaná okna a menu. Praktické využití má pouze pro kompatibilitu s programy v dBASE IV.
SET COLOR TO
-------------------------
Nastaví atributy barev v menu a oknech.
Syntax:
SET COLOR TO [[<standardní>] [,/[,zvýraznění>] [,[<rámeček>] [,<pozadí>]]]]
Příkaz SET COLOR TO je převzat z FoxBASE+ a nastavuje dvojice barev. Standardní a zvýrazněné zobrazení je určeno dvojicemi kódů barev oddělených lomítkem (/). Atributem okraje (jen pro barevné monitory) je pouze jeden kód barvy. Příkaz SET COLOR TO bez argumentů přepne obrazovku na standardní barvy nebo standardní zobrazení bílé na černém. Praktické využití má pouze pro kompatibilitu s programy z FoxPro.
SET COLOR OF SCHEME
-------------------------
Nastavuje barvy ve schématech barev.
Syntax:
SET COLOR OF SCHEME <výrazN> TO [<seznam>]
Příkaz SET COLOR OF SCHEME dovoluje nastavit seznam dvojic barev ve schématu barev. <výrazN> udává číslo schématu, které může být v intervalu <1,10> a <17,24>. Úplná tabulka dvojic barev je uvedena v přiručce uživatele. Do seznamu <seznam> je možné zahrnout maximálně deset dvojic, není však nutné zadávat všech deset. Pokud chceme měnit jen některé atributy, zadávají se jen tyto a ostatní, kterí chceme nechat v původní hodnotě, zadáváme jen čárkou. Funkce SCHEME() vrací seznam dvojic barev vew schématu.
Příklad:
SET COLOR OF SCHEME 2 TO ,,W/B
SET COLOR OF SCHEME 8 TO;
W+/B, W+/BG, GR+/B, GR+/B, R+/B, W+/GR, GR+/RB, N+/N, GR+/B, R+/B
V prvním příkazu jsou změněny barvy rámečku (3. dvojice ve schématu). V druhém příkazu jsou nově nastaveny všechny dvojice barev u systémového okna (schéma č. 8).
SET COLOR OF SCHEME TO
-------------------------
Kopíruje jedno schéma barev do druhého schématu.
Syntax:
SET COLOR OF SCHEME <výrazN1> TO [SCHEME <výrazN2>]
Příkaz SET COLOR OF SCHEME ... TO SCHEME umožňuje zkopírovat jedno schéma do druhého tak, že schéma <výrazN2> přebírá dvojice barev schématu <výrazN1>. Není li uvedena fráze SCHEME <výrazN2>, obnovuje se pro schéma <výrazN1> dvojicemi barev z naposled používané sady barev (příkaz SET COLOR SET TO) nebo sady schémat určené v souboru CONFIG.FP nebo implicitní sady FoxPro.
SET COLOR SET
-------------------------
Aktivuje již definovanou sadu schémat barev.
Syntax:
SET COLOR SET TO [<jméno>]
Příkaz SET COLOR SET TO aktivuje sadu schémat barev, která byla předem definována se jménem <jméno>. Sada může být definována z okna Window volbou COLOR, nebo příkazem SET COLOR OF SCHEME. Není-li v příkazu použito jméno sady <jméno>, nastaví se atributy barev z naposled používané sady barev (příkaz SET COLOR SET TO) nebo sady určené v souboru CONFIG.FP nebo implicitní sady FoxPro.
SET COMPATIBLE
-------------------------
Určuje kompatibilitu s programy ve FoxBASE+.
Syntax:
SET COMPATIBLE db4 | FOXPLUS | on | OFF
Příkaz SET COMPATIBLE s nastavením OFF dovoluje spouštět programy napsané ve FoxBASE+ beze změn. Nastavení ON dovoluje spouštět programy z dBASEIV bez větších změn. Kompatibilita se týká příkazů a funkcí SELECT(), STORE (pole), PLAY MACRO a fráze LIKE. Nastavení FOXPLUS a OFF je identické stejně jako nastavení DB4 a ON.
SET CONFIRM
-------------------------
Určuje, musí-li být vyplňení položky potvrzeno klávesou <Enter>.
Syntax:
SET CONFIRM on | OFF
Příkaz SET CONFIRM určuje, zda po vyplnění posledního znaku pole přejde kurzor na následující pole (nastavení SET CONFIRM OFF) nebo čeká na potvrzení klávesou <Enter> (nastavení SET CONFIRM ON). Příkaz má význam ve všech editačních příkazech a jeho nastavení ON je výhodné např. v aplikacích, kdy je nutné vzhledem k závažnosti vyplněných dat potvrdit jejich správnost uživatelem před opuštěním položky. Naopak nastavení OFF je výhodné tam, kde vstupují data pevné délky nebo je nutné, aby se uživatel nezdržoval zbytečným stiskem klávesy. Opuštění položky je signalizováno pípnutím, pokud je nastaveno SET BELL ON.
SET CONSOLE
-------------------------
Řídí výstup na obrazovku nebo do okna.
Syntax:
SET CONSOLE ON | off
Příkaz SET CONSOLE má využití pouze v programu. Povoluje nebo nepovoluje výstup na obrazovku nebo do okna. Nastavení SET CONSOLE OFF způsobí např., že výstup sestavy, směrovaný na tiskárnu, není zobrazen současně na obrazovce. Je-li nastaveno SET CONSOLE ON, jsou všechny výstupy směrovány i na obrazovku. Příkaz SET CONSOLE se nevztahuje na výpisy prostřednictvím příkazů @..SAY nebo @..GET. Ty jsou řízeny příkazem SET DEVICE TO.
Odkaz:
SYS(100)
SET CURRENCY
-------------------------
Určuje měnový symbol a jeho pozici.
Syntax:
SET CURRENCY TO [<výrazC>]
SET CURRENCY LEFT | right
Příkaz SET CURRENCY definujem symbol měny pro frázi PICTURE v příkazu @ ... SAY. Hodnota symbolu měny může být max. devět znaků a pozice tisku znaku měny je vlevo nebo vpravo od čísla. Implicitní hodnota je dolar "$" a pozice vlevo od čísla.
Příklad:
SET CURRENCY RIGHT
SET CURRENCY TO ' Kčs '
Cislo = 1991.20
? TRANSFORM(Cislo, '@$')
1991.20 Kčs
SET POINT TO ','
SET SEPARATOR TO '.'
SET CURRENCY LEFT
SET CURRENCY TO 'Kcs '
STORE 120000.50 TO Cislo
? TRANSFORM(Cislo, '$$$,$$$,$$$.99')
Kcs 120.000,50
První příklad nastaví znak měny vpravo a nastaví jej na označení Kčs. Druhý příklad nastaví desetinnou tečku na znak "," a oddělovače tisíců na ".", znak měny je vpravo.
SET CURSOR
-------------------------
Řídí zobrazování kurzoru.
Syntax:
SET CURSOR ON | off
Příkaz SET CURSOR potlačuje či naopak umožňuje zobrazení kurzoru. Je podobný funkci SYS(2002). Stav přepínače je možné zjistit funkcí SET nebo SYS(2001). Nastavení SET CURSOR OFF je užitečné tam, kde je běh programu pozastaven a čeká se na vstup od uživatele (např. příkaz WAIT, funkce INKEY()).
Příklad:
SET CURSOR OFF
? SET("CURSOR")
OFF
Odkaz:
SET(), SYS(2001), SYS(2002)
SET DATE
-------------------------
Nastavuje formát datumu.
Syntax: SET DATE [TO] AMERICAN | ANSI | BRITISH | FRENCH | GERMAN | ITALIAN | JAPAN | USA | DMY | MDY | YMD
Příkaz SET DATE nastavuje pro proměnné nebo položky typu datum formát, který se použije ve výrazech typu datum. Možné volby jsou uvedeny v následující tabulce:
AMERICAN mm/dd/rr
ANSI rr.mm.dd
BRITISH/FRENCH dd/mm/rr
GERMAN dd.mm.rr
ITALIAN dd-mm-rr
JAPAN rr/mm/dd
USA mm-dd-rr
MDY mm/dd/rr
DMY dd/mm/rr
YMD rr/mm/dd
Implicitní nastavení je AMERICAN.
Příklad:
Datum = CTOD("11/01/91")
? CMONTH(Datum)
November
SET DATE BRITISH
Datum = CTOD("11/01/91")
? CMONTH(Datum)
January
V příkladu je ukázán rozdíl mezi zápisem datumu běžným v Evropě a zápisem datumu, který je běžný v USA a který je ve FoxPro standartní.
SET DEBUG
-------------------------
Řídí práci s okny pro ladění a trasování programu.
Syntax:
SET DEBUG ON | off
Příkaz SET DEBUG určuje, zda bude při ladění programu využito okno pro ladění a trasování. Je-li nastaveno SET DEBUG ON, jsou otevřena obě okna, je-li nastaveno SET DEBUG OFF, není otevřeno žádné. Při současném nastavení SET SYSMENU ON a SET DEBUG ON lze ze systémového menu i při běhu programu otevřít okno pro ladění i trasování. Bližší informace jsou uvedeny u příkazu SET SYSMENU. K využití okna pro trasování a ladění je nutné, aby oba soubory - ".PRG" i ".FXP" byly ve stejném adresáři. Trasovací okno nelze otevřít, byl-li program přeložen příkazem COMPILE s volbou NODEBUG.
SET DECIMALS
-------------------------
Určuje počet desetinných míst pro zobrazování.
Syntax:
SET DECIMALS TO <výrazN>
Příkazem SET DECIMALS se zadává počet desetinných míst, se kterými se mají vyjádřit výsledky operace numerických funkcí a výpočtů. Standartní hodnotou jsou dvě desetinná místa, maximální hodnotou 18 desetinných míst a minimální hodnotou 0. Je-li součástí výrazu operace dělení nebo funkce EXP(), LOG(), SQRT(), vztahuje se počet desetinných míst určený příkazem SET DECIMALS i na hodnotu příslušného mezivýsledku během výpočtu hodnoty výrazu.
Příklad:
SET DECIMALS TO 3
D=1/8
? D
0.125
SET DECIMALS TO 8
? D
0.12500000
SET DEFAULT
-------------------------
Určuje implicitní disk a nebo adresář.
Syntax:
SET DEFAULT TO <výrazC>
Příkaz SET DEFAULT slouží k definici implicitní diskové jednotky či adresáře. Podporuje způsob změny adresáře jako v MS DOS (příkaz Change Directory). Standardně je nastavena implicitní disková jednotka a aktuální adresář před vyvoláním FoxPro. Pro změnu adresáře platí stejná pravidla jako pro příkaz CD v operačním systému MS DOS včetně zkrácené notace. Při změně diskové jednotky se nastaví ten adresář, který byl
na této jednotce nastaven naposled jako implicitní. Příkaz SET DEFAULT nekontroluje existenci zvoleného zařízení.
Poznámka: Procedurové soubory jsou po provedení ponechávány v paměti pro případné další použití. Proto bude i po změně implicitního disku (s cílem volat z něho stejně pojmenovaný program) FoxPro provádět program uložený v paměti. Aby se programy uložené v dané chvíli v paměti vymazaly, musí být zadán příkaz CLEAR PROGRAM. Potom se plně uplatní zadání implicitního disku.
Příklad:
SET DEFAULT TO A
* je rovnocenné
SET DEFAULT TO A:
SET DEFAULT TO C:\FOXPRO\SAMPLE
* při změně do adresáře \FOXPRO stačí zadat
SET DEFAULT TO ..
* při změně do kořenového adresáře stačí zadat
SET DEFAULT TO \
Odkaz:
FULLPATH(), SYS(5)
SET DELETED
-------------------------
Řídí práci s větami označenými ke zrušení.
Syntax:
SET DELETED on | OFF
Příkaz SET DELETED určuje, budou-li některé příkazy pracující s větami databázového souboru zahrnovat do svých operací i věty určené k rušení. Je-li přepínač SET DELETED nastaven ON, ignorují se při provádění příkazů, které pracují nad zadaným rozsahem platnosti, věty označené k rušení. Je-li přepínač nastaven ON, příkaz RECALL ALL žádné věty neobnoví. Nastavení SET DELETED OFF povoluje přístup ke všem větám, ať jsou nebo nejsou označené k rušení.
Příkazy, které zpracovávají pouze aktuální větu nebo větu se zadaným oborem vět RECORD <n>, zpracují danou větu bez ohledu na nastavení příkazu SET DELETED. Příkazy INDEX a REINDEX zpracují vždy všechny věty databáze a příkaz SET DELETED se neuplatní.
SET DELIMITERS
-------------------------
Řídí práci s větami označenými ke zrušení.
Syntax:
SET DELIMITERS on | OFF
SET DELIMITERS TO <výrazC> | TO DEFAULT
Příkaz SET DELIMITERS určuje, zda se mají zvýraznit pole obrazovky pro vstup dat v režimu editace celé obrazovky pomocí oddělovačů na začátku a na konci pole. Příkaz SET DELIMITERS OFF nastavuje standartní způsob zobrazení těchto polí bez oddělovačů. Standartně jsou pole pro vstup údajů zvýrazněna inverzním zobrazením. Nastavením SET DELIMITERS ON se zobrazí oddělovače dvojtečka ":" před a za položkou.
Příkaz SET DELIMITERS TO <výrazC> mění dříve nastavenou nebo standardní dvojici oddělovačů pro zvýraznění vstupních polí v režimu editace celé obrazovky. Hodnotou výrazu <výrazC> je jednoznakový nebo dvojznakový řetězec. V případě zadání pouze jednoho znaku se tento znak zobrazí na začátku i na konci pole. V případě dvou znaků se první z nich umístí na začátek, druhý na konec pole. Příkaz SET DELIMITERS TO DEFAULT nastaví standardní oddělovač - dvojtečku ":".
SET DEVELOPMENT
-------------------------
Kontroluje datum a čas vytvoření programového souboru.
Syntax:
SET DEVELOPMENT ON | off
Příkaz SET DEVELOPMENT ON porovnává datum a čas vytvoření zdrojového textu (".PRG") proti datu a času překompilovaného programu (".FPX"). Jsou-li časová data vytvoření zdrojového textu novější, je zdrojový text před spuštěním programu znovu přeložen. Nastavení SET DEVELOPMENT OFF výše uvedené porovnání neprovádí. Uživatel potom nemá jistotu, že spouští nejnovější verzi programu.
Odkaz:
MODIFY COMMAND
SET DEVICE
-------------------------
Řídí směrování výstupu na zařízení.
Syntax:
SET DEVICE TO SCREEN | PRINTER | FILE <soubor>
Příkaz SET DEVICE řídí výstup zadaný příkazem @..SAY. Výstup může být směrován na obrazovku (argument SCREEN), na tiskárnu (argument PRINT) nebo do diskového souboru (argument FILE). Příkazy @ ... GET nejsou zobrazovány. Jsou-li souřadnice <r>,<s> uvedené v příkaze @..SAY menší než souřadnice <r>,<s> předchozího příkazu @..SAY, přejde v případě nastavení SET DEVICE TO PRINTER tisk na novou stránku.
Příklad:
SET DEVICE TO FILE Pozdrav.txt
SET DEVICE TO SCREEN
TYPE Pozdrav.txt
Nazdar, Stando!
V příkladu je příkazem @ ... SAY poslán na výstupní zařízení, kterým je soubor POZDRAV.TXT, znakový řetězec. Soubor je potom možné příkazy TYPE nebo PRINT operačního systému MS DOS vytisknout.
Odkaz:
SYS(101)
SET DISPLAY
-------------------------
Přepíná mezi různými typy zobrazení.
Syntax: SET DISPLAY TO CGA | COLOR | EGA25 | EGA43 | MONO43 | VGA25 | VGA50
Příkaz SET DISPLAY umožňuje přepínat mezi jednotlivými typy hardwarového zobrazení na monitoru. Jednotlivé volby určují způsob zobrazení. Pokud zvolená fráze není podporována hardwarem, je hlášena chyba "Display mode not available."
Odkaz:
SYS(2006)
SET DOHISTORY
-------------------------
Umisťuje příkazy z programu do příkazového okna.
Syntax:
SET DOHISTORY on | OFF
Nastavení SET DOHISTORY ON zajistí, že se příkazy prováděného programového souboru budou ukládat do příkazového okna. Takto uložené příkazy se mohou později používat stejným způsobem jako příkazy, které byly do příkazového okna uloženy během interakčního režimu. Zdrojový text programu a přeložený program musí být na témže disku.
Poznámka: Příkaz SET DOHISTORY by měl být v rutinně zpracovávaných programech nastaven na OFF, neboť podstatně zpomaluje chod programu.
SET ECHO
-------------------------
Otevírá okno pro trasování a zobrazuje prováděný program.
Syntax:
SET ECHO on | OFF
Příkaz SET ECHO ON otevírá okno pro trasování a zobrazuje zdrojový text právě prováděného příkazu. Prováděný řádek je prosvícen. Bližší informace jsou uvedeny v příručce uživatele.
Poznámka: V provozní verzi (runtime) je nutné uvést příkaz SET ECHO OFF jako první příkaz zdrojového textu.
SET ESCAPE
-------------------------
Umožňuje nebo zabraňuje použít klávesu <Esc>.
Syntax:
SET ESCAPE ON | off
Nastavení SET ESCAPE OFF znemožní použití klávesy <Esc> k přerušení prováděného příkazu. Nastavení SET ESCAPE ON možnost povolí. Je-li stlačena klávesa <Esc> během provádění příkazu, který byl zadán z příkazového okna, zobrazí se zpráva:
*** INTERRUPTED ***.
Je-li klávesa <Esc> stlačena v průběhu zpracování programu, nabídnou se tři možnosti: Cancel Program je okamžitě přerušen a řízení je předáno do interakčního režimu (implicitní volba). Suspend Program je pozastaven a řízení je předáno do interakčního režimu. Příkazem RESUME nebo volbou RESUME z menu Program se pokračuje v provádění programu. Ignore Ignoruje se přerušení od klávesy <Esc> a program pokračuje tam, kde došlo k přerušení. Nastavením SET ESCAPE OFF se zabrání přerušovací funkci klávesy <Esc>. Zároveň se však zabrání možnosti přerušit výpis na obrazovku. Stisk <Esc> obvykle nezpůsobí okamžité přerušení práce programu. Vykoná se ještě několik instrukcí uložených v bufferu.
Poznámka: Je-li nastaveno SET ESCAPE OFF, lze přerušit běh programu pouze znovuzavedením operačního systému, což může způsobit ztrátu dat. Proto je nutné používat toto nastavení jen u ověřených programů, kde nehrozí nebezpeči nekonečného cyklu.
Odkaz:
ON ESCAPE
SET EXACT
-------------------------
Určuje způsob porovnání znakových řetězců.
Syntax:
SET EXACT on | OFF
Příkaz SET EXACT udává způsob srovnávání dvou znakových řetězců. Je-li nastaveno SET EXACT OFF, začíná srovnávání dvou řetězců od prvního znaku a pokračuje znak po znaku, dokud neskončí řetězec na pravé straně srovnávacího výrazu. Pokud se do té doby nevyskytne žádný rozdíl, je výsledkem porovnání logická hodnota .T.. Je-li nastaveno SET EXACT ON, vyžaduje se při srovnávání dvou řetězců i jejich stejná délka.
Příklad:
SET EXACT ON
? "ABC" = "ABCD"
.F.
SET EXACT OFF
? "ABC" = "ABCD"
.F.
? "ABCD" = "ABC"
.T.
SET EXCLUSIVE
-------------------------
Určuje způsob sdílení následně otevřených souborů.
Platí pouze ve FoxPro/LAN.
Syntax:
SET EXCLUSIVE ON | off
Příkaz SET EXCLUSIVE ON dovoluje otevřít soubor ve výlučném režimu tj. do souboru nemá po otevření přístup jiný uživatel (ani pro čtení). Je-li zadán příkaz SET EXCLUSIVE OFF, všechny soubory otevřené později (bez volby EXCLUSIVE v příkazu USE) mohou být sdíleny více uživateli. Změna nastavení příkazem SET EXCLUSIVE nemá vliv na dříve otevřené soubory. Některé příkazy FoxPro/LAN vyžadují, aby databázový soubor byl otevřen pro výlučné použití:
INSERT [BLANK]
MODIFY STRUCTURE
PACK
REINDEX
ZAP
Odkaz:
FLOCK(), LOCK(), RLOCK(), USE
SET FIELDS
-------------------------
Vymezuje položky, které jsou v databázovém souboru přístupné.
Syntax:
SET FIELDS on | OFF
SET FIELDS TO [<seznam> | ALL]
Příkaz SET FIELDS TO ... definuje seznam polí souboru, s nimiž se bude pracovat. Příkaz SET FIELDS ON tento zúžený výběr aktivuje (nesmí být uveden před SET FIELDS TO ...), tj. další příkazy začnou pracovat pouze s vyjmenovanými poli. Příkaz SET FIELDS TO <seznam> nebo ALL automaticky nastaví SET FIELDS ON. Další příkazy SET FIELDS TO ... nebo SET FIELDS ALL ... přidávají další jména položek do seznamu. Položky z jiné pracovní oblasti se popisují uvedením kvalifikovaného jména (s příslušným alias). Tento popis musí být použit i v případě, že se v seznamu vyskytují položky z provázaných databázových souborů se stejným jménem položky.
Příkaz SET FIELDS TO bez parametru ruší seznam polí, se kterými se pracuje a umožní opět pracovat se všemi položkami souboru. SET FIELDS OFF provede totéž, ale dočasně. Bude se pracovat se všemi poli, ale seznam se nezruší. Lze jej obnovit pomoci SET FIELDS ON. Příkaz SET FIELDS TO ALL má stejnou funkci jako SET FIELDS TO a zpřístupňují celou databázi.
SET FILTER
-------------------------
Vymezuje věty, které jsou v databázovém souboru přístupné.
Syntax:
SET FILTER TO [<výrazL>]
Příkaz SET FILTER vymezuje v aktivním databázovém souboru skupiny vět, které splňují podmínku určenou logickým výrazem <výrazL>. Po zadání příkazu budou přístupné pouze ty věty, jež splňují podmínku <výrazL>.
Příkaz SET FILTER se vztahuje na všechny příkazy FoxPro zpracovávající položky aktivního souboru. SET FILTER se uplatní pouze na soubor v aktivní pracovní oblasti, proto pro každou otevřenou databázi lze nastavit jiný filtr.
SET FILTER TO bez argumentu <výrazL> zruší podmíněný výběr vět a nadále budou opět přístupné všechny věty databázového souboru.
Poznámka: Filtr se stane aktivním až po přesunu ukazatele vět. Je proto vhodné po příkazu SET FILTER vynutit přemístění ukazatele např. příkazem GO TOP.
Poznámka: Skupinu vět vyhovující určité podmínce lze vymezit i příkazem INDEX ON ... FOR <výrazL>. Tento způsob (v dBASE III+ i dBASE IV chybějící) implementovaný v produktech firmy Fox Software vykazuje větší rychlost zpracování.
Odkaz:
FILTER(), INDEX
SET FIXED
-------------------------
Určuje zobrazení desetinných míst.
Syntax:
SET FIXED ON | off
Příkaz SET FIXED nastavuje způsob zobrazení desetinné části číselných hodnot. Je-li nastaveno SET FIXED OFF, závisí počet zobrazených desetinných míst na hodnotě konkrétních konstant a proměnných a na použitých operátorech (viz SET DECIMALS TO). Zobrazení databázových údajů je určeno definicí příslušného údaje. Po nastavení SET FIXED ON budou číselné hodnoty zobrazovány s pevným počtem desetinných míst, který je dán příkazem SET DECIMALS TO nebo standartní hodnotou 2.
Odkaz:
SET DECIMALS
SET FORMAT
-------------------------
Otevírá formátový soubor.
Syntax:
SET FORMAT TO [<soubor> | ?]
Příkaz SET FORMAT aktivuje uživatelem definovaný formátový soubor, podle kterého se formátuje obrazovka pro příkazy APPEND, EDIT, INSERT, READ. Není-li zadán <soubor>, uvolní se právě aktivní formátový soubor. Je-li zadán otazník, otevírá se dialogové okno k výběru formátového souboru. Standardní přípona formátových souborů je ".FMT".
Formátový <soubor> může být vytvořen pomocí FoxView. Uživatelem popsaná obrazovka je uložena do souboru s příponou ".FMT". Příkazem SET FORMAT TO je potom tento soubor přiřazen ke všem celoobrazovkovým editujícím příkazům.
Soubor s příponou ".FMT" může být přeložen, v tom případě získává stejné jméno a příponu ".PRX".
Vložením příkazu READ na konec každé stránky obrazovky lze vytvářet vícestránkové formátové soubory. V jednom formátovém souboru je možné popsat tímto způsobem maximálně 128 obrazovek. Přechod z jedné stránky na druhou potom zajišťují klávesy PgUp a PgDn.
Pokud není otevřen žádný formátový soubor, používají příkazy APPEND, CHANGE, EDIT a INSERT standardní formát FoxPro.
V každé pracovní oblasti s otevřenou databází může být otevřen jiný formátový soubor. SET FORMAT TO či CLOSE FORMAT zavírá formátový soubor pouze v aktivní pracovní oblasti.
Odkaz:
SYS(7)
SET FULLPATH
-------------------------
Určuje způsob zobrazení cesty (path) se jménem souboru.
Syntax:
SET FULLPATH ON | off
Příkaz SET FULLPATH vyrovnává rozdíl mezi nižšími verzemi dBASE nebo FoxBASE+. Funkce, které vracejí jména souboru, vracejí ve vyšších verzích tato jména i s přístupovou cestou, zatímco v nižších verzích vracejí jen disk a jméno. Aby byl program, používající funkce NDX() a DBF() a vytvořený např. v dBASE III PLUS, spustitelný i ve FoxPro, je třeba nastavit SET FULLPATH OFF. V tom případě bude vrácen pouze disk a jméno souboru.
SET FUNCTION
-------------------------
Definuje funkční klíč.
Syntax:
SET FUNCTION <výrazN> | <výrazC> | <klávesa> TO <výraz>
Příkaz SET FUNCTION přiřazuje klávesnicové makro funkční klávese. <výraz> obsahuje sérii stisků kláves, kde jednotlivé příkazy jsou odděleny středníkem (;), který plní funkci návratu vozíku (CR, <Enter>). Středník musí být i na konci posledního příkazu. Funkční klávesa může být popsána dvěma způsoby:
- <výrazN> určuje číslo číslo funkční klávesy. Maximální číslo programovatelné klávesy lze zjistit funkcí FKMAX(),
- <výrazC> určuje jméno funkční klávesy. Jméno funkční klávesy lze zjistit funkcí FKLABEL().
FoxPro podporuje i kombinaci funkčních a řídících kláves. <klávesa> je určena z tabulky u příkazu ON KEY.
Příklad:
SET FUNCTION 9 TO 'DIR *.PRG;'
SET FUNCTION F4 TO "USE Student;DISPLAY ALL;USE;"
Odkaz:
FKLABEL(), FKMAX(), ON KEY LABEL
SET HEADING
-------------------------
Určuje zobrazení záhlaví tabulek.
Syntax:
SET HEADING ON | off
Příkaz SET HEADING ON způsobí, že se v příkazech LIST, DISPLAY, SUM, AVERAGE a CALCULATE zobrazí v záhlaví nad jednotlivými sloupci položek jejich jména ze struktury databázového souboru. Příkaz SET HEADING OFF způsobí, že záhlaví nebude zobrazeno.
SET HELP
-------------------------
Řídí zobrazení pomocného textu nebo určuje soubor pomocných textů.
Syntax:
SET HELP ON | off
SET HELP TO <soubor>
Příkaz SET HELP zpřístupňuje nebo naopak zabraňuje zobrazení tzv. on-line help, příkaz SET HELP TO nastavuje jiný než standartní soubor pomocných textů (Help).
Je-li nastaveno SET HELP ON, je Help přístupný přes klávesu F1, příkazem HELP z příkazového okna nebo volbou Help ze systémového menu.
Pomocí příkazu SET HELP TO <soubor> je možné použít aparátu FoxPro k vytváření Help systému uvnitř vlastní aplikace. Bližší informace jsou uvedeny v příručce uživatele.
Standartní soubor Help má jméno FOXHELP.DBF.
Odkaz:
SET TOPIC
SET HOURS
-------------------------
Definuje formát zobrazení času.
Syntax:
SET HOURS TO [12 | 24]
Příkaz SET HOURS nastavuje hodiny v intervalu 0-12 (s údajem, zda jde o dopoledne nebo odpoledne (am - pm)) nebo v čtyřiadvacetihodinovém cyklu. Změna se dotýká zobrazení času ve všech celoobrazovkových příkazech i v zobrazení systémového času např. v systémovém menu. Nemá vliv na funkci TIME(). Je-li uveden bez argumentů, je nastaven implicitní formát
Odkaz:
TIME()
SET INDEX
-------------------------
Řídí práci s indexovými soubory.
Syntax:
SET INDEX TO [<seznam> | ?]
Příkaz SET INDEX TO ... otevírá zadané indexové soubory (dále jen indexy). Index, který je v seznamu uveden na prvním místě, je řídící index (Master index). Pomocí tohoto indexu bude ovládán přístup k databázi. Pořadí indexových souborů a tím i řídící index lze měnit příkazem SET ORDER TO. Fráze ? otevírá dialogové okno, které zpřístupňuje k výběru všechny dostupné indexové soubory.
Příkaz SET INDEX TO ... nejprve zavře indexové soubory doposud otevřené pro danou pracovni oblast. Potom teprve otevírá soubory dané seznamem. Ukazatel vět u databáze je nastaven na začátek souboru (podle řídícího indexu). Řídící index sice způsobí změnu pořadí vět při přístupu k databázi, fyzický pořádek vět na disku však zůstane nezměněn. Pokud je obnoveno toto přirozené pořadí příkazem SET ORDER TO 0 či SET ORDER TO, budou se všechny indexy, které byly předtím otevřené, při změnách automaticky aktualizovat. Pokud však je obnoveno přirozené pořadí příkazem SET INDEX TO, indexové soubory se zavřou a nebudou se aktualizovat. Po jejich otevření je nutné provést příkaz REINDEX. Stejný učinek má příkaz CLOSE INDEX.
Příkaz APPEND přidává větu na fyzický konec databáze. Po vyplnění všech položek nové věty je klíčový výraz zatříděn do databáze podle řídícího indexu na příslušné místo. Stejně tak se změna zaznamená do všech otevřených indexů. V jednom okamžiku lze jedné otevřené databázi přiřadit nejvýše 25 indexů, nejvýše však 25 indexových souborů celkové ve všech oblastech. Při doplnění či zrušení věty databáze nebo při jiné aktualizaci klíče se automaticky aktualizují všechny otevřené indexy.
Příklad:
USE Student
INDEX ON Prijmeni+Jmeno TO Jmeno
* Pořadí abecední
INDEX ON Zn_Ma TO Prospech
* Pořadí dle prospěchu
CLOSE INDEX
* Fyzické pořadí bez aktualizace indexů
SET INDEX TO Prospech,Jmeno
* Pořadí dle prospěchu
SET ORDER TO 0
* Fyzické pořadí s aktualizací indexů
Odkaz:
INDEX, ORDER(), REINDEX, SET ORDER, SYS(14)
SET INTENSITY
-------------------------
Řídí zvýraznění vstupních položek při editaci.
Syntax:
SET INTENSITY ON | off
Příkaz SET INTENSITY určuje, budou-li mít vstupní pole editovaných položek zvýrazněný jas pro celoobrazovkové příkazy (např. @ ... GET, EDIT, APPEND).
Nastavení SET INTENSITY ON umožňuje použití atributu zvýraznění, volba OFF jej potlačuje. Standartní zobrazení zvýrazněných vstupních polí je černé na bílém (N/W), ale pomocí příkazu SET COLOR je možné tento standard změnit.
Při nastavení SET INTENSITY OFF je použita dvojice barev určená pro normální zobrazení.
SET LOCK
-------------------------
Řídí zamykání a odmykání vět v souboru.
Pracuje pouze ve FoxPro/LAN.
Syntax:
SET LOCK on | OFF
Příkaz SET LOCK dovolí nebo naopak nedovolí provádět změny ve větě souboru současně několika uživatelům. Příznak uzamčení je přidáván k souboru nebo k jeho větám, aby se zabránilo kolizi při zápisu do souboru ve viceuživatelském režimu. Tento příznak povoluje více uživatelům soubor či jeho jednotlivé věty číst, zapisovat do něj však může v jednom okamžiku jen ten, který uzamkl soubor příkazem SET LOCK ON.
Některé příkazy používají soubor pouze pro čtení a v tom případě FoxPro/LAN soubor automaticky nezamyká. Jestliže však např. tiskneme sestavu (soubor je odemčen, pouze čteme) a jiný uživatel provede změnu ve větě, která již byla vytištěna, neobsahuje sestava nejnovější obsah souboru. V těchto případech je vhodné nastavit příznak SET LOCK ON. Ten způsobí, že soubor je uzamčen i v případě, že použijeme příkaz, který pouze čte. Ostatní uživatelé mají soubor otevřen pouze pro čtení. Po provedení příkazu SET LOCK OFF je soubor odemčen. V následujících příkazech FoxPro/LAN nezamyká automaticky soubor:
AVERAGE
CALCULATE
COPY TO
COPY TO ARRAY
COUNT
DISPLAY s rozsahem platnosti
INDEX
JOIN (oba soubory)
LIST s i bez rozsahu platnosti
LABEL
REPORT
SORT
SUM
TOTAL
Explicitní nastavení SET LOCK OFF je možné použít tam, kde nezáleží na nejaktuálnější verzi výstupní informace. Některé příkazy však provádějí uzamčení souboru i přes nastavení SET LOCK OFF:
INSERT [BLANK]
MODIFY STRUCTURE
PACK
REINDEX
ZAP
Podobný účinek jako příkaz SET LOCK ON má i použití funkce FLOCK() před zpracováním vět v souboru a příkazu UNLOCK po zpracování vět v souboru.
SET LOGERRORS
-------------------------
Řídí výstup chyb z překladu.
Syntax:
SET LOGERRORS ON | off
Příkaz SET LOGERRORS ON vytváří při překladu textový soubor téhož jména jako zdrojový soubor s příponou ".ERR", do něhož uloží zprávy z překladu. Jestliže soubor již existuje, je přepsán. Při nastavení SET LOGERRORS OFF se tento soubor nevytváří.
Je-li program bez chyb a soubor chyb již existuje, je smazán.
Odkaz:
COMPILE
SET MACKEY
-------------------------
Definuje klávesu pracující s klávesnicovými makry.
Syntax:
SET MACKEY TO [<výrazC>]
Klávesa Shift-F10 otevírá okno s dialogem pro klávesnicová makra. Příkaz SET MACKEY mění toto standartní přiřazení na klávesu <výrazC>. Možné kombinace ve <výrazC> jsou uvedeny v tabulce příkazu ON KEY.
Příkaz SET MACKEY TO bez argumentu ruší jakékoliv přiřazení. Je vhodné jej použít v případě, kdy je nutné zachovat kompatibilitu s programy v nižších verzích, které mohou klávesu Shift-F10 využívat.
Odkaz:
CLEAR MACROS, PLAY MACRO, RESTORE MACROS, SAVE MACROS
SET MARGIN
-------------------------
Určuje levý okraj tištěného výstupu.
Syntax:
SET MARGIN TO <výrazN>
Příkaz SET MARGIN zarovnává levý okraj tištěného textu, tj. tiskne text od dané pozice. Účinkuje pouze na tiskárně a výstup na obrazovku zůstane neovlivněn. Nastavení <výrazN> je dosazeno do systémové proměnné _PLOFFSET. Základní nastavení je 0.
Příklad:
SET MARGIN TO 10
? _PLOFFSET
10
SET MARGIN TO 4
? _PLOFFSET
4
SET MARK
-------------------------
Určuje oddělovače v datumech.
Syntax:
SET MARK TO <výrazC>
Příkaz SET MARK zadává znak, který bude sloužit jako oddělovač mezi dnem, měsícem a rokem v proměnné či položce typu datum. Tento znak musí byt uzavřený do apostrofů, uvozovek nebo hranatých závorek.
Použití příkazu SET MARK TO bez argumentu mění explicitní nastavení na lomítko /.
Příklad:
SET DATE GERMAN
SET MARK TO ':'
? DATE()
11:01:91
SET MEMOWIDTH
-------------------------
Určuje šíři zobrazované memopoložky.
Syntax:
SET MEMOWIDTH TO <výrazN>
Příkaz SET MEMOWIDTH určuje šířku řádku memo položky při výstupu na obrazovku nebo na tiskárnu. Základní hodnota je 50 znaků na řádek a může být zadána v rozsahu 8 až 256. Pokud je zadána větší, zobrazuje se pouze šíře 256 znaků. Pokud je systémová proměnná _WRAP nastavená na .T., určují šířku řádku memo položky hodnoty systémových proměnných _LMARGIN a _RMARGIN. Hodnota <výrazN> má vliv i na vrácené hodnoty funkcí ATLINE(), ATCLINE(), MEMLINE(), NLINE().
SET MESSAGE
-------------------------
Definuje zprávu a její pozici na obrazovce či v okně.
Syntax:
SET MESSAGE TO <výrazC>
SET MESSAGE TO <výrazN> [LEFT | CENTER | RIGHT]
Formát příkazu SET MESSAGE TO <výrazC> definuje znakový řetězec, který bude zobrazen jako zpráva. <výrazC> může mít délku nejvýše 79 znaků.
Formát příkazu SET MESSAGE TO <výrazN> určuje řádek, na němž bude zpráva zobrazena. Účinkuje pouze s příkazy pro definici a zobrazování menu, ne však s příkazy @ ... SAY/GET. Je-li nastaveno na 0, nezobrazí se nic. Umístění na řádku je definována frázemi LEFT (zarovnán doleva), CENTER (vystředěn) a RIGHT (zarovnán doprava). Tyto fráze ovlivňují pouze zprávy příkazu zprávu automaticky vystřeďují. Uvedením SET MESSAGE TO bez argumentu je obsah zprávy nulován a pozice zprávy je na fyzicky poslední řádce okna nebo obrazovky.
Odkaz:
@ ... PROMPT, DEFINE BAR, DEFINE MENU, DEFINE PAD, DEFINE POPUP
SET MOUSE
-------------------------
Řídí práci s myší a její citlivost.
Syntax:
SET MOUSE on | OFF
SET MOUSE TO <výrazN>
Příkaz SET MOUSE ON umožňuje plnou práci s myší, nastavení SET MOUSE OFF této práci zabraňuje.
Příkaz SET MOUSE TO řídí citlivost myši při pohybu po obrazovce. Hodnota <výrazN> je z intervalu 1 až 10, přičemž 1 je nejmenší citlivost a 10 je největší citlivost. Implicitní hodnota je 5.
SET MULTILOCKS
-------------------------
Řídí zamykání nebo odmykání více vět.
Pracuje pouze ve FoxPro/LAN.
Syntax:
SET MULTILOCKS on | OFF
Příkaz SET MULTILOCKS OFF určuje, že funkcemi LOCK() a RLOCK() bude uzavřena pouze jedna věta. Věta může být uzavřena v aktivní oblasti i v jiné pracovní oblasti. Je-li zamčena další věta, je předchozí zamčená věta odemčena.
Nastavení SET MULTILOCKS ON umožňuje uzamknout skupinu vět, přičemž rozsah uzamčených vět je limitován dostupnou pamětí serveru. Skupina vět může být uzamčena dvěma způsoby:
- Umístit ukazatel vět na větu, kterou chceme uzamknout a použít funkci LOCK() a RLOCK(). Tento postup násobně opakovat.
- Použít seznamu vět ve funkcích LOCK() a RLOCK().
Je-li nastaveno SET MULTILOCKS ON, není uzamčením další věty předchozí věta odemčena (tak jak je tomu při SET MULTILOCKS OFF). Je nutné mít na paměti, že přepínáním příkazu SET MULTILOCKS z ON na OFF nebo z OFF na ON implikuje provedení příkazu UNLOCK ALL a všechny věty ve všech oblastech jsou odemčeny.
Příklad:
SET MULTILOCKS ON
SELECT 1
USE Student
? LOCK("1,2,3,4,5", 1)
? RLOCK("1,2,3,4,5", "Student")
V příkladu je ukázán druhý způsob uzamčení skupiny vět funkcemi LOCK() a RLOCK().
Odkaz:
LOCK(), RLOCK(), UNLOCK
SET NEAR
-------------------------
Určuje pozici větného ukazatele po neúspěšném hledání v souboru.
Syntax:
SET NEAR on | OFF
Příkaz SET NEAR určuje pozici ukazatele vět, jestliže některý z příkazů pro hledání v souboru (SEEK, FIND) nebyl úspěšný.
Je-li nastaveno SET NEAR ON, pak v případě, že příkaz SEEK či FIND nenalezne příslušnou větu, je ukazatel vět nastaven navětu, následující za větou, jejíž klíč nejvíce odpovídá klíči hledané věty a která by byla jako následující za hledanou větou, pokud by se hledaná věta v souboru vyskytla. Funkce RECNO() vracíčíslo věty, funkce FOUND() vrací hodnotu .F. a funkcem EOF() vrací hodnotu .F..
Je-li nastaveno SET NEAR OFF, je ukazatel vět v takovém případě nastaven na konec souboru. Funkce RECNO() vrací počet vět + 1, funkce FOUND() vrací hodnotu .F. a funkcem EOF() vrací hodnotu .T..
Bez ohledu na nastavení příkazu SET NEAR vrací funkce RECNO() s nulovým argumentem při neúspěšném hledání číslo věty, která je nejblíže k hledanému kritériu.
Poznámka: Při nastavení SET NEAR ON nelze testovat nalezení věty funkcí EOF() a je nutné použít funkci FOUND().
Příklad:
USE Student INDEX Prijmeni
SET NEAR OFF
SEEK "Novák"
? EOF()
.T.
? FOUND()
.F.
SET NEAR ON
SEEK "Novák"
? EOF()
.F.
? FOUND()
.F.
USE
Odkaz:
RECNO()
SET NOTIFY
-------------------------
Řídí výstup systémových zpráv.
Syntax:
SET NOTIFY ON | off
Příkaz SET NOTIFY umožňuje potlačit nebo naopak umožnit výstup některých systémových zpráv na obrazovku. Systémové zprávy vystupují v pravém horním rohu obrazovky. Některé (např. "Do canceled", "Expression is valid" atd.) je možné potlačit, některé (např. "Press any key to continue ... ", "Attempting to lock ... Press <Esc> to Cancel" atd.) potlačit nejdou.
Ve FoxPro/LAN ovlivňuje nastavení příkazu SET NOTIFY systémovou zprávu "Attempting to lock..." , která se objeví, je-li nastaven příkaz SET REPROCESS TO AUTOMATIC nebo SET REPROCESS TO 0. Je-li nastaveno SET NOTIFY OFF, zpráva se nezobrazí, je-li nastaveno SET NOTIFY ON, zpráva se zobrazí. Jestliže je nastaveno SET NOTIFY ON, SET STATUS ON a SET SCOREBOARD ON, emuluje se prostředí FoxBASE+.
SET ODOMETER
-------------------------
Nastavuje interval pro informaci o počtu zpracovaných vět.
Syntax:
SET ODOMETER TO <výrazN>
Příkaz SET ODOMETER mění hodnotu intervalu výpisu hlášení, která jsou aktivována příkazem SET TALK ON při zpracování vět některými příkazy (COPY, INDEX, PACK, REINDEX, APPEND, ...). Rozsah je 1 - 32 767. Základní nastavení je 100.
Odkaz:
SET TALK
SET ORDER
-------------------------
Určuje řídící index.
Syntax:
SET ORDER TO [<výrazN>]
Příkaz SET ORDER určuje, který z dříve otevřených indexů bude řídicím (Master) indexem databázového souboru v aktivní oblasti. Nezavírá přitom ostatní otevřené indexové soubory. Hodnota výrazu <výrazN> je pořadové číslo názvu indexového souboru v seznamu otevřených indexů, které byly uvedeny v příkazu SET INDEX TO nebo USE ... INDEX. Hodnota <výrazN> musí být v intervalu 0 až 25 (podle počtu otevřených indexů).
Je-li hodnota <výrazN> rovna 0 nebo není zadána vůbec (SET ORDER bez argumentu), zůstanou indexy otevřeny, ale žádný z nich nebude řídící. K větám databáze se bude přistupovat podle pořadových čísel vět. Případné zmEny databáze (doplnění nebo zrušení věty, změna klíčového údaje) se budou nadále promítat i do všech otevřených indexových souborů. Příkaz SET ORDER TO nemění pozici větného ukazatele, řídící index se stane aktivním až po jakémkoli přesunu větného ukazatele.
Odkaz:
INDEX, ORDER(), SYS(14)
SET PATH
-------------------------
Určuje přístupovou cestu (path) pro hledání souborů.
Syntax:
SET PATH TO [<seznam>]
Příkaz SET PATH udává nastavení přístupových cest pro hledání souboru, pokud nebyl nalezen v aktuálním adresáři. Neovlivňuje příkaz DIR ani vytváření souboru, obojí se provádí v aktuálním adresáři. Jednotlivé adresáře v seznamu <seznam> se oddělují čárkou nebo středníkem.
Poznámka: FoxPro si v paměti ponechává zavedené programy-soubory s příponou ".PRG" pro případ jejich opakovaného zpracování. Proto i po zadání nové cesty k programu téhož jména, který je právě v paměti, je aktivován původní program v paměti. Proto je nutné použít nejprve příkaz CLEAR PROGRAM. Teprve po zadání tohoto příkazu se bude definice adresářů vztahovat na programy bez tohoto omezení.
Odkaz:
CLEAR PROGRAM
SET POINT
-------------------------
Mění desetinnou tečku na jiný znak.
Syntax:
SET POINT TO [<výrazC>]
Příkaz SET POINT řídí nastavení znaku pro oddělení desetinných čísel. Implicitním nastavením je desetinná tečka. Nastavovaný znak musí být uzavřen do apostrofů, uvozovek nebo hranatých závorek a nesmí být číslicí ani mezerou.
Příkaz SET POINT bez argumentu vrací nastavení znaku na implicitní hodnotu.
Příklad:
SET POINT TO ','
SET SEPARATOR TO '.'
SET CURRENCY LEFT
SET CURRENCY TO 'Kcs '
STORE 120000.50 TO Cislo
? TRANSFORM(Cislo, '$$$,$$$,$$$.99')
Kcs 120.000,50
V příkladu je nastavena desetinná tečka na znak "," a oddělovače tisíců na ".", znak měny je vlevo.
SET PRINTER
-------------------------
Řídí výstup na tiskárnu.
Syntax:
SET PRINTER on | OFF
Příkaz SET PRINTER určuje, bude-li výstup směrován na tiskárnu nebo na obrazovku. Nastavení SET PRINTER ON určuje, že výstup bude směrován i na tiskárnu, nastavení SET PRINTER OFF tento výstup potlačí a nadále bude směrován pouze na obrazovku. Pokud je nutné při nastavení SET PRINTER ON potlačit výstup na
obrazovku, lze použít příkaz SET CONSOLE OFF. Nastavení SET PRINTER ON se nevztahuje na výpisy zadané příkazem @ ... SAY. Je-li požadován výstup tohoto příkazu na
tiskárnu, musí být zadán příkazem SET DEVICE TO PRINT.
SET PRINTER
-------------------------
Určuje výstupní zařízení.
Syntax:
SET PRINTER TO [<soubor> [ADDITIVE] | <port>]
Příkaz SET PRINTER TO určuje soubor nebo port, kam bude výstup směrován. Přesměrování výstupu do souboru pomocí fráze TO <soubor> zapíše výstup do souboru s příponou ".TXT". Fráze ADDITIVE přidá tento výstup k existujícímu obsahu souboru. Není-li zadána, je obsah souboru (pokud existuje) přepsán.
Na výstupní zařízení MS DOS (většinou lokální tiskárnu) je výstup přesměrován pomocí fráze TO <port>. Je možné určit jeden ze tří paralelních portů (LPT1, LPT2 or LPT3) nebo jeden ze dvou sériových portů (COM1 or COM2). Zadáním SET PRINTER TO bez argumentu je výstupní port nastaven na implicitní DOS PRN.
SET PRINTER
-------------------------
Určuje výstupní zařízení při práci v síti.
Platí pouze pro FoxPro/LAN.
Syntax:
SET PRINTER TO [\\<jméno1>\<jméno2> = <určení>]
SET PRINTER TO [\\SPOOLER [\NB] [\F = <výrazN>] [\B = <výrazC>] [\C = <výrazN>] [\P = <výrazN>]]
První formát příkazu SET PRINTER TO směruje výstup do síťové tiskárny. <jméno1> je unikátní jméno Vaší pracovní stanice, které přiděluje správce sítě. <jméno2> je jméno přiřazené tiskárně, které je též přiděleno správcem sítě. Ve frázi <určení> je označení portu, který je přesměrován na síťovou tiskárnu (může být zadáno LPT1, LPT2 nebo LPT3).
Druhý formát příkazu SET PRINTER je vytvořen specielně pro práci pod systémem Novell Advanced Netware (R) verze 2.00 a vyšší. Fráze SPOOLER je zde uvedena pouze pro kompatibilitu s dBASE IV a je ignorována. Volitelné fráze pro příkaz:
NB - Potlačuje tisk úvodní stránky (banner page).
F - Určuje číslo formuláře (<výrazN> je číslo v intervalu 0 až 255), na kterém může být tisk proveden. Tato volba je užitečná tehdy, je-li nutné tisknout různé typy dokladů - faktury, šeky, dopisy atd.
B - Udává hlavičku, která je tištěna na úvodní stránce (banner page). <výrazC> může být maximálně 12 znaků dlouhý. Implicitně je tištěno jméno uživatele.
C - Udává počet kopií (1 až 255), které budou zařazeny do fronty síťové tiskárny. Implicitní hodnota je 1.
P - Určuje číslo síťové tiskárny, na které se bude tisknout. Implicitně je 0.
Pokud budete používat výše uvedený formát, porovnejte tuto pasáž s manuálem k síti, kde je popsán tisk v síti.
Odkaz:
PRINTSTATUS(), SYS(6), SYS(13), SYS(102)
SET PROCEDURE
-------------------------
Otevírá procedurový soubor.
Syntax:
SET PROCEDURE TO <soubor>
Příkaz SET PROCEDURE TO otevírá procedurový soubor. V souboru jsou umístěny procedury a funkce. Pokud není zadána přípona, předpokládá se ".PRG". V jednom okamžiku smí být otevřen jen jeden procedurový soubor.
Procedurový soubor je diskový soubor, který může sloužit jako knihovna obecnějších programových modulů. Příkazem SET PROCEDURE je tato knihovna připojena k prováděnému programu a programové moduly v ní obsažené jsou přístupné z prováděného programu. Použití procedurového souboru zrychlí výpočet.
Příkaz SET PROCEDURE TO bez parametru uzavře procedurový soubor. Stejnou funkci má příkaz CLOSE PROCEDURE.
Odkaz:
PROCEDURE
SET REFRESH
-------------------------
Vypisuje změněné informace při víceuživatelském režimu.
Pracuje pouze ve FoxPro/LAN.
Syntax:
SET REFRESH TO <výrazN>
Příkaz SET REFRESH určuje, bude-li Vaše obrazovka aktualizována změnami věty od jiných uživatelů a nastavuje časový interval mezi dvěma kontrolami, při nichž se kontroluje, zda došlo k nějaké změně. Příkaz účinkuje pouze tehdy, jestliže editujeme v síti příkazy BROWSE, MODIFY MEMO nebo EDIT/CHANGE bez formátového souboru.
Po uplynutí intervalu FoxPro prohledává všechny věty, které jsou editovány v síti a vypisuje na obrazovkách uživatelů změněné věty, pokud je má uživatel zobrazeny na obrazovce. Interval se zadává v sekundách od 0 do 3600, předdefinovaná hodnota je 0 (vypnuto). V tomto případě je změněná věta vypsána až poté, kdy je věta odemčena.
Jestliže je věta uzamčena jiným uživatelem, informace o změně se objeví na Vaší obrazovce až poté, kdy je věta odemčena, bez ohledu na nastavení SET REFRESH. Při Vašem editu je věta automaticky uzamčena v momentě, kdy je kurzor přemístěn do prvního editovaného pole, a odemčena v okamžiku, kdy je ukazatel vět přemístěn na další větu. Mimo tento interval je věta odemčená a přístupná ke změnám jiných uživatelů.
Odkaz:
BROWSE, CHANGE, EDIT, MODIFY MEMO
SET RELATION OFF
-------------------------
Ruší již nastavenou relaci mezi dvěma soubory.
Syntax:
SET RELATION OFF INTO <alias>
Příkaz SET RELATION OFF ruší již nastavenou relaci mezi dvěma soubory. Řídící rodičovská databáze musí být aktivní, podřízená databáze je zadána svým alias. Alias múže být zadán i písmenem nebo číslem pracovní oblasti.
Odkaz:
RELATION(), SET RELATION, TARGET()
SET RELATION
-------------------------
Nastavuje relace mezi dvěma nebo více soubory.
Syntax:
SET RELATION TO <výraz> INTO <alias> [ADDITIVE]
SET RELATION TO <výraz1> INTO <alias> [ADDITIVE] [,<výraz2> INTO <alias> [ADDITIVE] ...]
Příkaz SET RELATION TO spojuje dvě otevřené databáze podle klíčového výrazu, který odpovídá buď hodnotě indexového klíče nebo pořadovému číslu věty. V okamžiku definice tohoto vztahu je první databáze souborem otevřeným v aktivní pracovní oblasti a druhá databáze je soubor otevřený v jiné pracovní oblasti. Druhá databáze je definována frází INTO <alias>. Aktivní databáze řídí relaci. Nazývá se rodičovský soubor (parent file). Soubor, který je připojen k rodičovskému, se nazývá potomek (child).
Kdykoliv se po zadání tohoto příkazu změní poloha ukazatele věty v rodičovské (aktivní) databázi, nastaví se ukazatel druhého souboru na větu s odpovídající hodnotou výrazu <výraz>. Není-li nalezena odpovídající věta, nastaví se ukazatel v druhém souboru
na jeho konec (EOF(<alias>)=.T.). Je-li použito více frází <výraz> INTO <alias>, vytváří jeden příkaz více relací. K propojení databází slouží dvě metody:
- <alias> soubor je indexován - v tom případě musí být indexován podle výrazu <výraz> složeným z konstant a položek aktivní databáze. Typ výrazu může být znakový, numerický nebo datový.
- <alias> soubor není indexován - v tom případě musí být výraz <výraz> numerický. Výsledek výrazu udává větu v podřízené databázi.
V příkazu SET RELATION TO může být uvedena fráze ADDITIVE. Je-li použita, zůstanou v platnosti veškeré stávající relace. Příkaz SET RELATION TO (bez dalších parametrů) ruší relace v aktivní pracovní oblasti .
Příklad:
SELECT 1
USE Student
SELECT 2
USE Adresy INDEX Os_cislo
SELECT 1
SET RELATION TO Os_cislo INTO B
LIST Prijmeni, Jmeno, B->Ulice, B->Obec, B->Psc
V příkladu je nastavena relace mezi dvěma souboru – STUDENT a ADRESY. Klíčovou položkou je OS_CISLO. Při pohybu v souboru STUDENT jsou automaticky k dispozici údaje z odpovídající věty souboru ADRESY.
Odkaz:
RELATION(), SET RELATION OFF, TARGET()
SET REPROCESS
-------------------------
Udává, kolikrát se FoxPro pokusí uzamknout soubor nebo větu.
Platí pouze pro FoxPro/LAN.
Syntax:
SET REPROCESS TO <výrazN> [SECONDS] | TO AUTOMATIC
Pokus o uzamčení souboru není vždy úspěšný (spíše naopak). Příkaz SET REPROCESS řídí další činnost v případě, že pokus o uzamčení věty nebo souboru je neúspěšný. Je možné udat buď počet dalších pokusů, nebo jak dlouho mají pokusy pokračovat. Hodnata <výrazN> je v intervalu -2 až 32 000. Je možné zadat druhý formát příkazu pomocí fráze AUTOMATIC. SET REPROCESS TO AUTOMATIC | -2 V tomto formátu se FoxPro pokouší zamknout větu nebo soubor v nekonečném cyklu. Na obrazovce se objeví zpráva "Attempting to lock... Press <Esc> to Cancel" do té doby dokud není pokus o uzamčení úspěšný. V případě, že se podařilo větu uzamknout a uzamčení je vyvoláno z funkce, vrací tato hodnotu .T. Stisk klávesy <Esc> způsobí zobrazení systémové zprávy na obrazovce (např. "Record is in use by another."). Jestliže byl definován chybový podprogram nastavením ON ERROR, způsobí stisk klávesy <Esc> jeho aktivaci. Jestliže byl pokus o uzamčení vyvolán z funkce, není ON ERROR aktivováno, funkce vrací hodnotu .F..
Formát příkazu SET REPROCESS TO 0 (implicitní hodnota) se pokouší zamknout větu nebo soubor v nekonečném cyklu. Na obrazovce se objeví zpráva "Attempting to lock... Press <Esc> to Cancel" do té doby dokud nejsou pokusy úspěšné. V případě, že se podařilo větu uzamknout a uzamčení je vyvoláno z funkce, vrací tato hodnotu .T. Stisk klávesy <Esc> způsobí zobrazení systémové zprávy na obrazovce (např. "Record is in use by another."). Jestliže byl definován chybový podprogram nastavením ON ERROR, způsobí stisk klávesy <Esc> jeho aktivaci. Chybová rutina získává přednost před jinými činnostmi a je okamžitě provedena bez jakýchkoli dalších pokusů o uzamčení. Jestliže byl pokus o uzamčení vyvolán z funkce, není ON ERROR aktivováno, funkce vrací hodnotu .F..
Formát příkazu SET REPROCESS TO -1 se pokouší zamknout větu nebo soubor v nekonečném cyklu. Pokud je nastaveno SET STATUS ON, objeví se na obrazovce systémová zpráva "Waiting for lock". Je nutné pamatovat na to, že jiný uživatel může uzamknout větu na velmi dlouhý čas a v některých méně pravděpodobných situacích může dojít k "zamrznutí" celého systému.
Je-li <výrazN> příkazu SET REPROCESS TO > 0, FoxPro se pokouší zamknout větu <výrazN> krát. Je-li uvedena fráze SECONDS, určuje <výrazN> dobu ve vteřinách, po kterou se bude FoxPro nepřetržitě pokoušet zamknout větu. Pokud je nastaveno SET STATUS ON, objeví se na obrazovce systémová zpráva "Waiting for lock". V případě, že se podařilo větu uzamknout a uzamčení je vyvoláno z funkce, vrací tato hodnotu .T. Jestliže se větu nebo soubor nepodaří v daném okamžiku uzamknout, objeví se na obrazovce příslušná systémová zpráva (např. "Record is in use by another."). Pokud byl definován chybový podprogram nastavením ON ERROR, je spuštěn.Jestliže byl pokus o uzamčení vyvolán z funkce, není ON ERROR aktivováno, funkce vrací hodnotu .F..
Příklad:
SET REPROCESS TO 60
SET REPROCESS TO 60 SECONDS
V prvním příkazu se FoxPro pokusí 60 krát uzamknout větu nebo soubor. Druhý příkaz určuje, že pokusy o uzamčení souborunebo věty budou trvat 1 minutu.
Odkaz:
FLOCK(), LOCK(), ON ERROR, RLOCK(), SET STATUS
SET RESOURCE
-------------------------
Určuje nebo mění soubor uživatelských nastavení.
Syntax:
SET RESOURCE ON | off
SET RESOURCE TO [<soubor>]
FoxPro umožňuje uchovávat informace o systému a uživatelem definovaných zdrojích (sady barev, makra, preference, umístění oken a jejich velikost ...) v tzv. souboru zdrojů (RESOURCE). Soubor uživatelských nastavení má odlišnou funkci od souboru CONFIG.FP. Soubor CONFIG.FP se uplatní především při instalaciprostředí FoxPro a při chodu FoxPro se nemění.
Je-li nastaveno SET RESOURCE ON, jsou veškeré změny výše uvedeného prostředí automaticky uchovány v tomto souboru.
Je-li nastaveno SET RESOURCE OFF, změny se neuchovávají.
Pokud se uživatel rozhodne pro jiný soubor zdrojů, musí jej popsat příkazem SET RESOURCE TO. Informace o prostředí budou uchovány do souboru <soubor>. Standartní název souboru zdrojů je FOXUSER.DBF.
SET SAFETY
-------------------------
Řídí ochranu souborů.
Syntax:
SET SAFETY ON | off
Nastavení SET SAFETY ON slouží jako pojistka pro příkazy mazání a přepisování souboru. Upozorní, že soubor již existuje a ptá se, jestli jej lze opravdu přepsat. Příkaz SET SAFETY ON Je-li SET SAFETY OFF, je původní soubor přepsán či smazán bez varujícího hlášení.
SET SCOREBOARD
-------------------------
Zobrazuje stavové informace.
Syntax:
SET SCOREBOARD on | OFF
Příkaz SET SCOREBOARD ovlivňuje zobrazení některých indikací (Insert, NumLock, CapsLock) ve spolupráci s nastavením SET STATUS.
Je-li SET STATUS OFF, FoxPro některé indikace ze stavového řádku uvádí na řádku 0. V případě, že je stavový řádek zobrazen (nastavení SET STATUS ON), vypisují se informace o stavu indikátorů prostředí FoxPro vždy na stavový řádek a SET SCOREBOARD se neuplatní. Jsou-li volby obou příkazů SET STATUS i SET SCOREBOARD OFF, žádné informace se nevypisují.
Odkaz:
SET BRSTATUS, SET STATUS
SET SEPARATOR
-------------------------
Určuje oddělovač tisíců v numerických položkách.
Syntax:
SET SEPARATOR TO <výrazC>
Příkaz SET SEPARATOR TO mění symbol, používaný v číslech k oddělování tisíců. Standartním oddělovačem je čárka.
Příklad:
SET POINT TO ','
SET SEPARATOR TO '.'
SET CURRENCY LEFT
SET CURRENCY TO 'Kčs '
STORE 120000.50 TO Cislo
? TRANSFORM(Cislo, '$$$,$$$,$$$.99')
Kčs 120.000,50
V příkladu je nastavena desetinná tečka na znak "," a oddělovače tisíců na ".", znak měny je vlevo.
SET SHADOWS
-------------------------
Řídí zobrazení stínů za oknem.
Syntax:
SET SHADOWS ON | off
Příkaz SET SHADOWS ON umisťuje stíny za systémová i uživatelem definovaná okna, menu a další objekty. Stíny nepřekrývají jiné objekty, které jsou ve stínu normálně viditelné.
Příkaz SET SHADOWS OFF tyto stíny odstraňuje z obrazovky.
Příkaz SET SHADOWS nemá vliv na okna, která jsou definována s frází SHADOW.
SET SPACE
-------------------------
Řídí umístění mezery mezi položkami v příkazech ? | ??.
Syntax:
SET SPACE ON | off
Příkaz SET SPACE udává, zdali bude mezi jednotlivými zobrazovanými položkami příkazu ? nebo ?? umístěna mezera.
Nastavení SET SPACE ON umístí automaticky mezeru mezi dva po sobě jdoucí výrazy v příkazu,
SET SPACE OFF zobrazí výrazy bezprostředně po sobě.
Příklad:
Prijmeni='Smetana'
Obec='Litomyšl'
SET SPACE ON
? Prijmeni,Obec
Smetana Litomyšl
SET SPACE OFF
? Prijmeni,Obec
SmetanaLitomyšl
Odkaz:
? | ??
SET STATUS
-------------------------
Řídí zobrazení stavového řádku.
Syntax:
SET STATUS on | OFF
Příkaz SET STATUS určuje, zda bude zobrazen stavový řádek na posledním řádku obrazovky. Stavový řádek obsahuje aktivní disk, zpracovávaný soubor, číslo věty a celkový počet vět souboru, informace o stavu klávesnice (Insert, Numlock, CapsLock). Ve FoxPro/LAN je zobrazen i příznak zamčení věty.
Je-li SET STATUS OFF a SET SCOREBOARD ON, vypisují se některé informace na řádek 0. Jsou-li volby obou příkazů SET STATUS i SET SCOREBOARD OFF, žádné informace se nevypisují.
Odkaz:
SET BRSTATUS, SET SCOREBOARD
SET STEP
-------------------------
Provádí výpočet programu po řádcích.
Syntax:
SET STEP on | OFF
Příkaz SET STEP slouží k ladění programu. Je-li zadáno SET STEP ON, provádí se program po jednotlivých krocích.
Zadáním příkazu SET STEP ON se otvurá okno pro trasování. V něm se zobrazuje každý řádek programu, který je právě vykonáván. V levém dolním rohu je možné si vybrat ze dvou voleb. RESUME pokračuje v chodu programu řádek po řádku, CANCEL přerušuje běh programu.
SET STICKY
-------------------------
Řídí zobrazování systémových menu. Pracuje pouze s myší.
Syntax:
SET STICKY ON | off
Příkaz SET STICKY se uplatní v případě, že pracujeme s myší v systémovém menu.Nastavení SET STICKY ON způsobí, že popup menu zůstává při výběru volby bar menu na obrazovce tak dlouho, dokud není vybrána volba z popuo menu, není stisknuta klávesa <Esc>, nebo dokud je ukazatel myši uvnitř popup menu.
Je-li nastaveno SET STICKY OFF, zůstává popup menu na obrazovce při výběru volby bar menu jen po tu dobu, dokud je stisknut knoflík myši. Nastavení může být provedeno z příkazového okna, z programu nebo z volby View window systémového menu.
Odkaz:
SET SYSMENU
SET SYSMENU
-------------------------
Řídí přístup k systémovému bar menu při běhu programu.
Syntax:
SET SYSMENU ON | off
Příkaz SET SYSMENU ON umožňuje aktivovat systémové menu v programu během provádění příkazu READ stiskem kláves Alt nebo F10 nebo pomocí double click pravým knoflíkem myši.
Je-li nastaveno SET SYSMENU OFF, systémové bar menu nebude přístupné.
Je-li nastaveno SET SYSMENU ON a SET DEBUG ON, je možné otevřít okno pro ladění a trasování během programu právě ze systémového menu.
Odkaz:
SET STICKY
SET TALK
-------------------------
Řídí zobrazování informace o stavu zpracování.
Syntax:
SET TALK ON | off
Příkaz SET TALK určuje, zda se bude zobrazovat výsledek některých příkazů. Je-li SET TALK ON, vypisuje se po provedení příkazu číslo věty, obsah paměťové proměnné či výsledek příkazu APPEND FROM, COPY, PACK, SUM. Při interakčním režimu práce je vhodné nastavení ON, při volání programu by mělo být vždy nastaveno OFF. Interval mezi zprávami u příkazů pracujících s větami souboru je určen příkazem SET ODOMETER, standartní hodnota je 100.
Příklad:
SET TALK ON
Hodnota=999.99
999.99
? Hodnota
999.99
SET TALK OFF
Hodnota=999.99
? Hodnota
999.99
Odkaz:
SET ODOMETER
SET TOPIC
-------------------------
Určuje propojení tématu helpu se souborem Help.
Syntax:
SET TOPIC TO [<výrazC> | <výrazL>]
Příkaz SET TOPIC TO určuje kritérium, podle kterého bude vybráno téma nápovědného textu - helpu. <výrazC> určuje, které téma bude vybráno. Jestliže je vytvářen vlastní on-line help, je vhodné použít kritérium <výrazL>. Téma je potom vybráno na základě logického výrazu.
Odkaz:
SET HELP
SET TYPEAHEAD
-------------------------
Určuje počet znaků, které může pojmout buffer klávesnice.
Syntax:
SET TYPEAHEAD TO <výrazN>
Příkaz SET TYPEAHEAD určuje, kolik znaků je uloženo ve vyrovnávací paměti type-ahead buffer), tj. kolik znaků zadaných z klávesnice si FoxPro pamatuje a postupně je aktivuje. Standartní hodnota je 20, povolený rozsah je od 0 do 128.
Je-li nastaveno SET TYPEAHEAD TO 0, není možné uchovat v bufferu žádný znak, takže nejde použít funkce INKEY() a ON KEY. Toto je výhodné zejména při zpracování chyby, neboť tato činnost by neměla být žádným způsobem přerušena. Je tedy vhodné jako první příkaz ON ERROR bloku uvést SET TYPEAHEAD TO 0.
Příkazu je možné použít i tehdy, pracuje-li s klávesnicí zkušený operátor, který je schopen psát rychleji než je FoxPro schopna přijímat. Tímto je možné zvětšit počet
pamatovaných znaků.
Pokud je vyrovnávací paměť pro zapsané znaky plná a je stisknuta další klávesa, tento znak již FoxPro nepřijme. Je-li nastaveno SET BELL ON, ozve se zvukový signál.
Odkaz:
INKEY(), ON KEY
SET UDFPARMS
-------------------------
Řídí předávání parametrů do uživatelem definovaných funkcí.
Syntax:
SET UDFPARMS TO VALUE | REFERENCE
Příkaz SET UDFPARMS určuje, jsou-li parametry uživatelem definované funkce (UDF) předávány hodnotou nebo odkazem.
Standartně FoxPro předává parametry do UDF hodnotou. Během zpracování UDF však může být hodnota parametru změněna, ve volajícím programu se však tato změna neobjeví. Je-li parametr předán odkazem a UDF změní hodnotu předávaného parametru, je jeho hodnota změněna i ve volajícím programu.
Příklad:
CLEAR
SET TALK OFF
SET UDFPARMS TO VALUE
STORE 1 TO X
? Pridej(X)
? X
1
SET UDFPARMS TO REFERENCE
STORE 1 TO X
? Pridej(X)
? X
2
FUNCTION Pridej
PARAMETER X
X = X + 1
RETURN X
K demonstraci dvou způsobů předání parametru je použita výše uvedená funkce. Tato funkce inkrementuje parametr X o 1 a vrací jej do volajícího programu.
Jestliže je nastaveno SET UDFPARMS TO VALUE, je předáván parametr hodnotou. Do proměnné X je uložena hodnota 1 a proměnná X je předána do funkce PRIDEJ. Funkce PRIDEJ přidá 1 do předávaného parametru volajícího programu, který zobrazí X s hodnotou 1, protože hodnota parametru nebyla změněna. Jestliže je nastaveno SET UDFPARMS TO REFERENCES, je předáván parametr odkazem. Do proměnné X je uložena hodnota 1 a proměnná X je předána do funkce PRIDEJ. Funkce PRIDEJ přidá 1 do předávaného parametru a vrátí součet do volajícího programu, který zobrazí X s hodnotou 2. Na rozdíl od prvního příkladu je nyní měněn předávaný parametr.
Odkaz:
PARAMETERS, PARAMETERS(), UDF
SET UNIQUE
-------------------------
Řídí způsob indexace u duplicitních klíčů.
Syntax:
SET UNIQUE on | OFF
Příkaz SET UNIQUE určuje, jakým způsobem se zpracují stejné hodnoty klíčů v indexových souborech.
Je-li nastaveno SET UNIQUE ON, pak při vytváření indexového souboru se v případě, že má více vět stejný klíč, zapíše do indexového souboru jen první z nich.
Je-li nastaveno SET UNIQUE OFF, zapíší se do indexového souboru všechny klíče. Týká se pouze indexového souboru. Zápis věty s duplicitním klíčem do databázového souboru se provede vždy.
Příkaz REINDEX pracuje podle toho, jak bylo nastaveno SET UNIQUE v době vzniku indexového souboru, nikoli v době provádění příkazu. Stejně tak přidávání indexu při přidávání vět do databáze se řídí nastavením SET UNIQUE v době vzniku indexového
souboru. Bližší informace a příklad jsou uvedeny u příkazu INDEX.
Odkaz:
INDEX, REINDEX, SET INDEX
SET VIEW
-------------------------
Otvírá nebo zavírá okno View a obnovuje prostředí FoxPro ze souboru.
Syntax:
SET VIEW on | OFF
SET VIEW TO <soubor>
Příkaz SET VIEW ON aktivuje okno View, v němž je možné otevírat databázové soubory, nastavovat relace a měnit některá uvedeny v příručce uživatele. Příkaz SET VIEW OFF toto okno zavírá.
Formát příkazu SET VIEW TO obnovuje prostředí FoxPro, které bylo uchováno v souboru <soubor> v při jeho vytvoření příkazem CREATE VIEW. U tohoto příkazu jsou též uvedeny další informace.
Odkaz:
CREATE VIEW, SET
SET WINDOW
-------------------------
Určuje okno pro editaci memo položek.
Syntax:
SET WINDOW OF MEMO TO <jméno okna>
Příkaz SET WINDOW OF MEMO TO aktivuje okno pro zobrazování memo položek při editaci příkazy APPEND, BROWSE, CHANGE, EDIT, READ a MODIFY MEMO. Toto okno musí být předtím definováno. K otevření okna pro editaci memo položky je nutné umístit kurzor na memo položku a stisknout klávesu <Ctrl-Home>.