Fiasco 1.1 - Úspěšné fiasko

Napsal Král Vlastimil on .

Mezi komerčním softwarem pro Amigu není příliš mnoho databází (ostatně o tom jsem psal také ve svém článku o kancelářských aplikacích). To je zřejmě jeden z důvodů, proč existuje tolik PD databází. Jejich kvality jsou však velmi rozdílné, některé příliš použitelné nejsou.

Sem tam se ovšem najde i něco zajímavého. K nim patří také databáze Fiasco. Již první verze byla velice zajímavá, ačkoli v ní bylo ještě dost nedodělků. Nedávno se však na Aminetu objevila verze 1.1. Jedna desetina v čísle verze rozhodně neodpovídá změnám, k nimž od verze 1.0 došlo. Němec Nils Bandener, autor Fiasca, je prostě příliš skromný, mnozí jiní by to označili za verzi 2.0.

Docela zajímavý je také způsob, jímž tento program vznikl. Původně chtěl Nils napsat jednoduchý program pro testování slovní zásoby v cizích jazycích. Postupně program rozšiřoval, až se mu z toho nakonec vyklubala kompletní databáze.

A to databáze v mnohém dost neobyčejná, i když to není na první pohled znát. Když Fiasco nainstalujete (není to zvlášť těžké ani ručně, ale s Installerem to je určitě pohodlnější), můžete se pustit do práce. Pokud máte 1 MB RAM a OS 2.04 nebo vyšší, bude to stačit. Jak však záhy poznáte, naplno Fiasco využijete až s OS 3.x a také větší RAM přijde vhod (samotný program má ovšem pouze 180 KB).

Fiasco 1.1Fiasco 1.1 - všechny ukázkové databáze

První dojem z programu není valný - jedno prázdné okno. Toto okno má však spoustu menu, v nichž najdete všechny potřebné příkazy. Do tohoto okna můžete nahrát nějakou již vytvořenou databázi (v distribučním archivu jich pár je), nebo můžete začít tvořit databázi novou. K tomu však nejprve musíte vytvořit masku databáze. Maska funguje dost podobně jako karta v kartotéce. Sestává z jednotlivých polí pro vkládání a zobrazování dat. Když vytvoříte masku (na to je potřeba přepnout Fiasco do režimu masky) můžete začít vkládat data - stačí přepnout do režimu záznamů a pak můžete začít zapisovat do polí masky. Tohle vše můžete dělat pomocí menu, ale máte také další možnost - můžete otevřít servisní okno, které obsahuje všechny potřebné gadgety. Servisní okno se automaticky přepíná podle zvoleného režimu.

Zatím to nezní nijak zvláštně, to je ovšem tím, že jsem vám dosud zamlčel, jaká že to vlastně může maska obsahovat pole. Těch nabízí Fiasco 1.1 celkem deset druhů. Některá jsou celkem obyčejná: typ String jsou samozřejmě textové řetězce, Integer celá čísla, Float čísla desetinná (nejsou moc přesná), Date
a Time přirozeně obsahují datum a čas. Typ Text vlastně není skutečné pole, je to pouze textový popis zpřehledňující masku.

Teď však začnou nastupovat speciality. Typ Boolean může obsahovat pouze hodnoty "Ano" a "Ne" a v masce se zobrazí jako zatrhávací gadget. Ostatně všechna pole se v masce zobrazují jako gadgety. Typ Cycle je cyklický gadget a je to pole, které může obsahovat celý seznam hodnot (teoreticky až 65 535). Pole typu Slider se zobrazí jako posuvný proporcionální gadget, jehož pohybem můžete měnit číselnou hodnotu.

fiasco1Pod OS 3.x je Fiasco multimediální

Jestliže vaše Amiga používá OS 3.x, můžete možnosti Fiasca neuvěřitelně rozšířit. Pak totiž můžete použít pole typu Datatypes, které samozřejmě využívá datatypů OS 3.x. Takovéto pole nahraje vše, pro co máte příslušné datatypy. Pod OS 3.x mohou databáze Fiasca obsahovat obrázky v různých formátech, animace, zvuky a spoustu dalších věcí. Díky důslednému využití možností Amigy je tedy Fiasco multimediální databází.

A pak tu máme pole typu Extern, které obsahuje název souboru, jenž bude použit jako argument pro zadaný program. To rozhodně také není běžná záležitost.

Pole typu Button není skutečné datové pole, zobrazí se jako tlačítko, kterým můžete volat příkazy CLI nebo skripty ARexxu.

Pro jednotlivá pole navíc můžete nastavovat spoustu různých parametrů. U většiny datových polí to je především rozměr a maximální počet uložitelných znaků, ale speciálnější pole mají samozřejmě i další parametry. Pole typu Datatypes můžete opatřit posuvníky pro posouvání obsahu (například když do pole nahrajete velký obrázek) a gadgetem pro vyvolání souborového requesteru, takže přímo do pole lze nahrávat jiná data. Někdy se může hodit i "save" gadget, jímž se dá obsah pole uložit jinam. A také můžete určit, že se pole má přehrávat. To má samozřejmě smysl pouze pro datatypy podporující přehrávání (například zvuky a animace). Pro zrychlení práce též můžete nastavit zpožděné nahrávání, kdy se do pole datatypu nahrají zadaná data až poté,
co pole aktivujete.

Pro pole typu Extern se samozřejmě zadává jméno souboru a programu a také pro ně můžete zapnout souborový requester, který bude vybírat požadovaný soubor. Pole typu Button jsou podobná, liší se pouze tím, že pole Extern vycházejí z dat databáze, zatímco pole Button je pevnou součástí masky a slouží vlastně jako další příkaz.

Fiasco však není pouze pasivní multimediální kartotéka, zdaleka ne. Pro každé pole totiž můžete dále nadefinovat skript ARexxu, který se vykoná při vytvoření nového záznamu nebo při změně obsahu pole. Jinými slovy, Fiasco je programovatelná databáze a jejím programovacím jazykem je ARexx. Pro ARexx nabízí Fiasco několik desítek příkazů, můžete tak naprogramovat vše, co lze udělat ručně.

ARexx také umožňuje existenci virtuálních polí. Obsah těchto polí není součástí databázového souboru, vypočítává se až při jeho nahrávání do programu. V RAM ovšem již tato pole zabírají stejné místo jako normální pole.

Masky sice mohou zobrazit ledacos, mají však jedno omezení - najednou zobrazí pouze jeden záznam. Pokud chcete mít o databázi lepší přehled, bude se vám hodit další typ zobrazení - seznam. Seznam není nic jiného než tabulka (zobrazená ve zvláštním okně), jejímiž sloupci jsou jednotlivá pole a její řádky představují záznamy. Tabulka je samozřejmě pouze textová, takže pro pole datatypů se zobrazují názvy příslušných souborů. Obě zobrazení můžete mít zapojená současně, okno masky pak vždy zobrazuje aktuální záznam databáze.

fiasco2Tvorba masky je snadná

Okno seznamu ovšem také není pasivní. Chcete-li, můžete některé sloupce skrýt a také jejich pořadí můžete měnit - stačí příslušné sloupce přehodit myší. A když myší potáhnete za okraj sloupce, změníte jeho šířku.

Podobných databází můžete současně otevřít více, pro každou databázi můžete mít okno masky a okno seznamu. Počet současně otevřených databází je omezen pouze kapacitou RAM - Fiasco totiž musí celou databázi udržovat v paměti. To sice zvyšuje rychlost, ale poněkud to omezuje velikost databází. Čím více RAM budete mít, tím více dat můžete mít. Fiasco mimo jiné obsahuje funkci, která vám sdělí, kolik záznamů aktuální databáze se ještě do volné paměti vejde. (Nils ovšem v dokumentaci slibuje, že se v budoucnu pokusí zařídit práci přímo s databázovým souborem na disku).

Fiasco nejenom umí současně pracovat s více databázemi, ale je také schopné mezi databázemi vytvářet vztahy - relace. Ano, Fiasco je mimo jiné relační databází. Obě propojené databázové tabulky musí obsahovat stejné pole - klíč. Ten propojuje záznamy v obou tabulkách. Jedna tabulka pak slouží jako zdrojová, může zobrazovat svá pole ve druhé databázi. A samozřejmě všechny změny se automaticky promítají do takto propojených databázi.

Fiasco přirozeně nabízí také další možnosti manipulace s databází. Databáze můžete třídit podle vybraného pole - měníte pořadí, v němž se zobrazují jednotlivé záznamy.

Určitý záznam si též můžete vyhledat a rovněž je možné nahrazovat hodnoty polí jinými hodnotami. Další možností je použití filtru. Filtr je podmínka pro určité pole, která zobrazí pouze záznamy vyhovující podmínce. V podmínce můžete používat běžné relační operátory a zástupné znaky (včetně hvězdičky). Podobně jako filtr funguje také označování - záznamy vyhovující podmínce označení budou označeny. Zde má Fiasco zatím určitá omezení, protože jak pro třídění, tak filtry lze současně použít pouze jedno pole. Jak při hledání, tak pro filtry můžete použít neurčité vyhledávání (blurred search), které umožňuje vyhledávat i hodnoty, které jsou zadané podmínce pouze podobné. Míru podobnosti samozřejmě nastavujete také.

Fiasco dokonce myslí na komunikaci s jinými programy a nabízí základní možnosti importu a exportu. Import a export je ovšem možný pouze ve formátu ASCII, databázové formáty jako třeba DBF nepodporuje (vzhledem k typům polí by to byl i dost problém). Samozřejmě můžete nastavit příslušné oddělovače polí a záznamů. Na druhou stranu, formát ASCII podporují snad všechny běžné databáze i tabulkové kalkulátory, takže to zas není tak špatný nápad. Nemluvě o tom, že převod různých kódování češtiny je v ASCII souboru velice snadný, takže data z Fiasca jde poměrně snadno přenášet i na jiné platformy.

Tyhle všechny funkce zajišťují položky menu a servisní okno. Většina příkazů otevírá další requestery, v nichž provádíte příslušné úkony. Položky menu i gadgety requesterů mají klávesové ekvivalenty a všechny requestery jsou velmi přehledné. Když je řeč o menu, Fiasco nabízí také menu "User", do něhož si můžete přidat vlastní položky (až 63) volající příkazy CLI nebo skripty ARexxu a rozšířit tak program o své vlastní příkazy.

Lokalizace pomocí katalogů je samozřejmě podporována (v distribučním archivu jsou soubory pro tvorbu nových katalogů) a program také podporuje systémový clipboard, což usnadňuje přenos dat. Zvláště při práci s datatypy pak přijde vhod možnost otevřít pro Fiasco vlastní obrazovku.

Stisk klávesy Help vyvolá nápovědu, ta však není kontextová - prostě se zobrazí soubor dokumentace a v ní musíte hledat ručně. Je však třeba přiznat. že jinak je dokumentace zpracovaná velmi podrobně a přehledně. Pokud máte rádi TeX, můžete navíc použít dokumentaci v formátu ".dvi" a vytvořit si hezkou tištěnou příručku.

U starších PD databází často bývaly problémy s češtinou, pro Fiasco to ovšem neplatí. Dokonce si fonty můžete nastavit sami. A pro editaci skriptů ARexxu můžete nastavit příslušný textový editor, takže programování je vcelku interaktivní.

Spíše zajímavým zpestřením je možnost mluvených hlášení. Zatrhnete-li příslušnou volbu, bude Fiasco oznamovat takové věci jako nahrání či zavření databáze hlasem.

A to by bylo v kostce všechno. V jednom článku rozhodně nelze probrat všechny detaily programu, nakonec anglická dokumentace ve formátu AmigaGuide má 222 KB.

Fiasco má pochopitelně i své nedostatky, jenže Nils o nich ví a v dokumentaci je oddíl "To Do" (co se má ještě udělat), v nichž tyto nedostatky nejen přiznává, ale zároveň slibuje, že je v příštích verzích napraví. Hlavní nedostatek verze 1.1 je, že nepodporuje tisk. Žádný příkaz pro tisk prostě nemá. A také neumí vytvářet výstupní sestavy. Najde se toho víc, hodila by se například možnost ikonifikace databází. Tohle všechno však dokumentace přiznává.

Nicméně již v současné podobě je Fiasco velmi zajímavý program. Osobně na něm především obdivuji, jak důsledně využívá možností Amigy. Díky podpoře datatypů je Fiasco multimediální a díky ARexxu velice dobře programovatelné. A multitasking umožňuje velmi lehkou integraci s jinými programy, pokud podporují ARexx. Ve spojení s vhodným textovým editorem například již nyní můžete vytvářet výstupní sestavy a tisknout je, když naprogramujete příslušné skripty. Možností je prostě celá řada. Uvědomte si, že maska Fiasca může fungovat jako kompletní uživatelské rozhraní volající různé příkazy, které lze navíc změnit pro každý záznam databáze. Záleží pouze na fantazii uživatele, co všechno s tímto programem podnikne.

Pokud Nils v budoucích verzích doplní vše, co slibuje, vyroste tak na Amize velmi silná konkurence i komerčním databázím. A ve srovnání s "databázemi" jako je DataStore 1.1 z balíku Magic či Final Data 3 (nabízený jako databázový doplněk Final Writeru) v mnoha směrech Fiasco vede již dnes.

Proti komerčním programům má ovšem Fiasco ještě jednu velkou přednost: cenu. Je to totiž giftware, takže Nils požaduje pouze nějaký dárek (může to být třeba i jen pohlednice, případně vůbec nic, avšak této poslední alternativě přiřazuje skutečně nízkou prioritu).

Fiasco rozhodně stojí za vyzkoušení. Na mé A3000 s OS 3.1 funguje rychle a spolehlivě a využívá i předností grafické karty. Čeština fungovala dobře, dokonce i v názvech polí. Dobře se snáší s různými utilitami, vzhledem k významu menu při ovládání programu pro Fiasco dobře využijete MagicMenu.

Narazil jsem pouze na dva menší problémy. Za prvé, pokud máte zapnutou automatickou aktivaci oken, mohou být problémy při přecházení mezi různými okny, zvláště jestliže máte otevřeno více databází najednou. Vadí to hlavně při tvorbě masky, jinak ani ne. Nejsnazší je v takovém případě automatickou aktivaci vypnout.

Druhý problém byl s knihovnou "gtlayout.library" (je to PD knihovna, kterou napsal Olaf Barthel). Tu Fiasco používá pro své gadgety (instaluje se automaticky s programem) a součástí distribuce je také speciální verze pro procesory 68020 a vyšší. Kupodivu tato verze knihovny způsobovala časté hroucení programu. Je možné, že docházelo ke kolizím s některou z nesčetných utilit mé Amigy. V každém případě, pokud máte vyšší procesor a Fiasco se vám hroutí, zkuste použít verzi knihovny pro MC68000.

Fiasco je dalším důkazem kvalit PD softwaru pro Amigu, který by alespoň dočasně mohl nahradit slábnutí komerčního softwaru. Program samozřejmě najdete na Aminetu a také na CD Aminet 11.

Program: Fiasco
Popis: Multimediální relační databáze programovatelná v ARexxu
Verze: 1.1
Autor: Nils Bandener
Typ: Giftware
Zdroj: Aminet, CD Aminet 11
Poznámka: Vyžaduje OS 2.04 nebo vyšší

Přidat komentář

Odhadované roční prodeje

odhadovany prodej

Prodeje podle regionů

prodej regiony

Počet prodaných kusů

Počet prodaných kusů