OMLUVA
Ještě než se pustím do druhého dílu, chtěl bych se omluvit za minulý díl. Po zběžném napsání prvního dílu a po jeho převedení do formátu pro časopis Narsil ( PNA ), mi zbývalo dost času a já se pustil do hry CIVILIZATION. No a právě v tu dobu kdy jsem vesele pařil tuto šílenou hru, mi vypověděl můj stroj ( ATARI ST - pro ty co to ještě neví ) službu a odešel do věčných lovišť. Takže jsem nemohl provést korekci chyb a zbytek ůprav. Naštěstí byl díl na 98% již hotov. Takže moje omluva "I'M SORRY za ty chyby"
Takže v minulém dílu jsme sestavili první soubor databanky, ale nerozebral jsem jakým způsobem využíváme ATRIBUTES (vlastnosti) jednotlivých dat.
Jak tvrdím, je lepší jeden příklad, než deset teorií o jednom příkladě. Takže pro tento díl vytvoříme datababanku:
Jméno, příjmení, narození, věk, obor.
Každé pole SB musí být jedním z typů, o kterých jsem se zmínil minule: text, číslo, datum, čas nebo vnější soubor. Máme však ještě dalších pět možností výběru.
Required (vyžadované data)
Pole můžeme označit jako Required, to znamená, že vždy do něj je nutno data vložit. Jinak nebudou ani ostatní data tohoto listu přijaty.
Př.: Jméno - TXT - Capitalize - 10 písmen - Required
Tj.: Jméno max. do 10 písmen se uloží vždy s prvním písmenem velkým. A je vždy nutné ho vložit! ( Do TXT je možno vložit i čísla. Naopak nikdy.)
Read only (pro ty co ang. neumí < třeba já> Jen k čtení)
Do tohoto pole se dají data vložit jen jednou, dále slouží jen jako "Read only" (ke čtení). Pokud toto pole není zároveň "Required" není nutné do tohoto pole data uložit.
Př.: Narození - Datum - 1.10.1986 - Read only
Tj.: Narození se nemění, ale pokud toto pole přepíšeme na obrazovce, zůstane stejně uloženo jako původní datum. Nemusím jej vložit ani poprvé, např. když jej nevím.
Validation (kontrola vložených dat)
Tato funkce dovoluje připojit k poli vzorec, který vyhodnotí, zda vložená data vyhovují normě.
Př.: Obor LIKE "ATARI" OR Obor LIKE "PC"
Tj.: Budou přijata jen ta data, které mám označené v OBORU jako ATARI nebo PC. Jiná přijata nebudou.
POZOR - Operátor LIKE: Značí, že vložená písmena mohou být malá či velká. Má i další funkce, využívané hlavně u filtru.
Calculation (výpočet)
Toto pole slouží k výpočtu. Toto pole se nedá editovat, tj. vypočítává se samo. I když do něj vložíme jakýkoliv výsledek, přepíše se jen tím, který si sám vypočte.
Např. počet kusů * cena = zaplatit. Do pole ZAPLATIT dáme formuli Cena * Počet kusů. Výsledek se sám doplní do pole ZAPLATIT. Např. dnešní datum se nám sám doplní do pole DATUM ZÁZNAMU, pokud do jeho formule vložím TODAY. Opravdu i toto je výpočet.
Př.:Věk = TODAY - Narození
Constant (Konstanta)
Pracuje naprosto stejně jako Calkulation, ale s tím rozdílem, že výsledek se zpracuje jen jednou, a to tehdy kdy byl záznam vytvořen poprvé. Při jeho dalším spuštění je tato funkce již nefunkční. Lze ale volně editovat. Tedy pokud není Read only.
Např. Kdy byl záznam vytvořen poprvé, číslo účtu, pořadí záznamu ....
Souhrn při definici nových polí:
1. napište jméno pole
2. zvolte odpovídající tlačítko vlastností tohoto pole
3. upravte detaily pole - např. délku nebo číselný formát
4. zvolte Add k připojení pole do definice souboru
Vytvoření nového pole
Klikněte do boxu pro jméno pole a napište toto jméno. Můžete použít až 15 písmen, včetně mezer. Lze psát pouze alfanumerické znaky, mezery a podtržítka. Jméno pole nesmí začínat číslem a nesmí obsahovat více po sobě jdoucích mezer. Lze psát libovolná slova, vyjma těch, která jsou rezervována programovacím jazykem Superbase.
Použití filtru
Filtr se aktivuje kliknutím do OK. Pokud je filtr v akci, svítí jeho tlačítko na kontrolním panelu. Lze používat všechny funkce, ale Superbase povoluje přístup pouze k těm datům, které odpovídají filtru.
Výjimkou je pouze tlačítko hledání (?). To pracuje vždy s celým souborem.
Inaktivace filtru.
Pokud chcete zrušit funkci filtru, stačí kliknout na svítící tlačítko filtru na kontrolním panelu (=). Toto zhasne a máte opět přístup k celému souboru.
Reaktivace nebo modifikace filtru
Pokud chcete filtr znovu aktivovat, stačí kliknout na jeho tlačítko na kontrolním panelu, příkazový řádek zůstal beze změn, tyto lze provést po stisknutím RETURN a kliknutím OK.
Filter
Přesuňte šipku a stiskněte levou myš na tlačítku Filter (=), Okno má 4 části: panel polí, operátory, box hodnoty a hlavní box. Filtr je vytvořen kliknutím v panelu polí a operátorů, poté vložením hodnoty. Tento postup vytvoří příkazovou řádku filtru v hlavním boxu.
L I K E O P E R Á T O R
LIKE (jako) je operátor, který by měl být používán při vyhledávání textových řetězců v polích. To znamená, že by měl být využíván velmi často ve filtrech k definování a výběru záznamů, které chcete vidět nebo zpracovávat. Like umožňuje použití vzorku, takže lze definovat textové řetězce obsahující přesně definovaná písmena a vzorky, což představuje např. písmena, jejichž obsah může měnit nebo řetězce s proměnným obsahem nebo různou délku řetězců apod. Lze také použít hranatých závorek k definování rozsahu písmen, které budou filtrem akceptovány.
Syntaxe LIKE
LIKE "" hledání prázdného pole
LIKE "?" hledání prázdného pole
LIKE "text" hledání pole s obsahem "text"
Hvězdička reprezentuje textový řetězec libovolné délky:
LIKE "text*" "text" řetězec na začátku pole
LIKE "*text" "text" řetězec na konci pole
LIKE "*text*" "text" kdekoliv v poli
Otazník představuje libovolné písmeno:
LIKE "???" přesná délka (3 znaky), jakýkoliv obsah
LIKE "?text?" přesná délka (6) s přesným obsahem "text
LIKE "?text*" Přesná úvodní délka (5), obsah jakékoliv délky
Rozsah uvnitř hranatých závorek může být použit na místě otazníku:
LIKE "[a-m]" jednoduchý rozsah od "a" po "m"
LIKE "[adg-j] znak "a", "d" nebo od "g" po "j"
Šipka vzhůru na začátku závorkového výrazu značí negaci:
LIKE "[~n-w]" vyjma písmen počínaje "n" konče "w".
POZOR!!! Místo ~ se v píše stříška, kterou nemohu v programu NARSIL použít!!!!
Lze samozřejmě libovolně kombinovat jednotlivé vzorky.
LIKE "a??[c-h]?x*"
Vyhovuje "a" na první pozici, jakýkoliv znak na druhé a třetí pozici, rozsah od "c" po "h" na čtvrté pozici, jakýkoliv znak na páté pozici, "x" na šesté pozici a jakékoliv množství znaků následujících po "x".
UFF !!