AMIGA REVIEW online
  Uvodná stránka     Software     Hry     Obaly     Download     Amiga na PC     Amiga Forever  

AmigaGuide

Michal Kára

Možná píšete programy a chcete si k nim vytvořit jinou dokumentaci než jenom obyčejný textový soubor.

Od verze 2.0 byl na Amize zaveden systém datatypů a jako jeden z prvních i hypertextový formát: AmigaGuide.

Hypertext
O tom, co je to hypertext již bylo napsáno mnohé. Proto jen stručně. Obyčejný dokument na papíře nebo v textovém souboru je víceméně lineární. Je sice možno odkazovat se na jiná místa v něm i na jiné dokumenty, ale vyhledávání odkazů je dosti pracné, a to jak listováním v knížkách u klasické podoby, tak i procházení a hledání v souboru. Ovšem počítače jsou tady aby člověku pomáhaly řešit problémy (většinou sice takové, které by bez nich nebyly...).
Hypertext je tedy něco, co místo slovních odkazů jinam obsahuje odkaz, kde se má daná informace hledat. v nějaké počítači srozumitelné formě. Tomuto údaji se říká LINK.
V současné době nejpoužívanějším hypertextovým formátem je HTML. To je klasickým příkladem jednoho dokumentu s odkazy na jiné. Na Amize se používá jako standardní hypertextový formát AmigaGuide. Ten, jak poznáte později, není „klasickým“ hypertextem, ale dělí text do uzlů.

AmigaGuide Dokument
Dokument v AmigaGuide je prostý text vytvořený kterýmkoli programátorským editorem. Kromě vlastního textu dokumentu obsahuje také řídící příkazy. Ty začínají vždy znakem @ („zavináč“).
Aby se poznalo, že jde o dokument v AmigaGuide, musí být na začátku prvního řádku textu uveden příkaz @DATABASE (viz níže).
Vlastní text je potom členěn na uzly (nodes). Každý uzel má své jméno a případně nadpis. Na obrazovce se zobrazí vidy právě jeden uzel. Při načtení dokumentu ve formátu AmigaGuide se vždy jako první zobrazí uzel s názvem „MAIN“.

Příkazy AmigaGuide
Jak již jsem uvedl, příkazy AmigaGuide začínají zavináčem. Přímo za ním je jméno příkazu a pak případné argumenty oddělené mezerami nebo tabelátory. Pokud je v argumentu mezera, je možno jej uzavřít do uvozovek. Jak však dostat do argumentu uvozovku nevím...
Každý uzel (respektive jeho text) je uzavřen mezi příkazy @NODE a @ENDNODE. Podle umístění vzhledem k těmto příkazům se dají příkazy AmigaGuide rozdělit do tří kategorií:
- Příkazy globální. Musí být vně textu uzlů (příkazů @NODE a @ENDNODE) a musí být vždy od začátku řádky.
- Příkazy uzlu. Musí být mezi příkazy @NODE a @ENDNODE. Také musí být vždy na začátku řádky.
- Příkazy změny atributů. Tyto příkazy musí být uvnitř textu uzlu (příkazů @NODE a @ENDNODE), ale mohou začínat kdekoli. Na rozdíl od ostatních příkazů, které jsou ukončeny koncem řádku, jsou tyto příkazy ve složených závorkách: @{PŘÍKAZ[ARGUMENT1 [ARGUMENT2...]]}. Hranaté závorky se do textu nepíší. Jen označují, že počet argumentů není obecně pevně dán.
V dalším budu argumenty uzavírat mezi lomené závorky: „<Argument>“. Ty se tam nepíší, jen označují začátky a konce názvů argumentů.
Kromě příkazu @DATABASE nejsou žádné příkazy udávající copyright, jméno autora atd. povinné, není tedy nutné je v dokumentu vůbec mít. Jedinou další nutnou složkou dokumentu, je uzel se jménem MAIN.

Verze AmigaGuide
Ještě malou poznámku o verzích. AmigaGuide se vyskytuje ve třech verzích. Na systémech 2.0 a 2.1 je to verze 36 (V36). (Možná je to na 2.1 verze 37, ale v tom případě se V36 a V37 neliší. Nevím o žádném rozdílu.) Majitelé A1200 mají potom většinou instalován systém 3.0 a s ním verzi V39. Někteří mohou mít WorkBench 3.1 na něm je V40. Bohužel, většina rozumných příkazů funguje až ve verzi 40...

Globální příkazy
@$VER: <AmigaDOS version string> - Tento příkaz je AmigaGuide ignorován. Slouží pro příkaz AmigaDOSu version. Pokud zadáte z CLI příkaz version <soubor>, je provedeno několik testů, mimo jiné se soubor prohledává, zda obsahuje právě řetězu „$VER:“. Pokud ano, řádek po něm se vypíše.
@(C) <Copyright> - Opět je při zobrazování ignorován. Argument příkazu může obsahovat copyright.
@AUTHOR <Autor> - Také se nezobrazuje. Argument by měl obsahovat informace o autorovi dokumentu. Ty jsou ale stejně většinou obsaženy v některém uzlu aby je bylo možné získat bez prohlížení dokumentu editorem.
@DATABASE <Jméno> - Tento příkaz musí být uveden na první řádce dokumentu, jinak systém nepozná, že je ve formátu AmigaGuide. Argumentem by mělo být jméno dokumentu. To se ale ignoruje, argument nemusí být dokonce uveden vůbec žádný.
@ENDNODE - Označuje konec textu uzlu. Po něm mohou opět následovat globální příkazy nebo další příkaz @NODE, který začne text dalšího uzlu
@FONT <Jméno> <Velikost> Umožňuje nastavit písmo (font), kterým se bude dokument zobrazovat. Nedoporučuji jej příliš používat, ledaže by jste si byli jisti, že je uvedené písmo instalováno. Stejně si nebudete moci být úplně jisti, zda nemá uživatel nastavené vysoké rozlišení, takže by váš dokument nebyl k přečtení... Menší podraz spočívá v tom, že jméno písma se uvádí včetně přípony .font, takže třeba „@FONT topaz.font 11“. Jinak příkaz akceptuje skoro všechna písma včetně vektorových, pouze se občas chová trochu divně. Jak jsem již napsal, raději se mu vyhněte.
@HEIGHT <Velikost> - Má to být počet řádek, ale nezdá se mi, že by tento příkaz, měl nějaký efekt.
@HELP <Adresa> - Pokud tento příkaz neuvedete, bude tlačítko „Help“ zobrazovat vždy dokument o používání AmigaGuide (Uložený v souboru „HELP:English/Sys/Amigaguide.guide“, popřípadě jiném adresáři podle toho, jaký jazyk máte zapnut). Pomocí příkazu @HELP je možno přikázat programu aby po kliknutí na tlačítko HELP zobrazoval jiný dokument. O adresách dokumentů více u příkazu „@ {Text LINK Adresa [Řádek]}“ v sekci „Příkazy změny atributů“.
@INDEX <Adresa> - Standardně je tlačítko „Index“ zašedlé, není možné jej používat. Příkazem @INDEX je možno nastavit uzel, který je indexem dokumentu. Poté bude možno se kliknutím na toto tlačítko dostat na tento uzel. Nikdo samozřejmě nekontroluje, zda je daný uzel indexem...
@MACRO <Jméno> <Makro> - Umožňuje definovat makra. Makro se používá podobně jako příkaz pro změnu atributů. Může mít také argumenty. Ty se označují v jeho definici postupně $1 pro první argument, $2 pro druhý atd. Více viz text ukázkového dokumentu.
@MASTER <Jméno> - Argument tohoto příkazu určuje dokument ze kterého vznikl tento text. Používá se tehdy, pokud nebyl dokument napsán přímo v AmigaGuide, ale byl do něj zkonvertován z nějakého jiného hypertextového formátu, například HTML nebo TexInfo.
@NODE <Jméno> <Nadpis> - Tímto příkazem se začíná text uzlu. Argument Jméno je jméno uzlu, které se používá při odkazech na tento uzel v dokumentu (LINKY). Nadpis je nepovinný argument. Není-li uveden, použije se místo něj obsah argumentu Jméno. Nadpis se použije jako jméno okna, v němí se AmigaGuide dokument zobrazuje. Jak jsem již uvedl, není mi známo, jak do argumentu zadat uvozovky. Proto, je Nadpis nemůže obsahovat, většinou se používá apostrofů () apod.
@ONCLOSE <Skript> - Určuje ARexxový skript, který se provede při zavření tohoto dokumentu. Hodnota, kterou vrátí, se naprosto ignoruje.
@ONOPEN <Skript> - Určuje ARexxový skript, který se provede při otevření dokumentu. Pokud vrátí jinou hodnotu než 0, dokument nebude otevřen.
@REM <Poznámka> nebo @REMARK <Poznámka> - Argumenty těchto příkazů se ignorují a tyto příkazy jsou tedy předurčeny k zapisování poznámek do textu. Na tomto místě se sluší poznamenat, že i text, který je zapsán mimo uzly, se ignoruje (samozřejmě pokud to není příkaz) a toho lze také využívat k psaní poznámek. Ale v textu uzlů je nutno využít služeb jednoho z příkazů @REM nebo @REMARK.
@SMARTWRAP - Standardně se při zobrazování dokumentu v AmigaGuide dodržuje přesně řádkování. Řádky jsou ukončeny tak jako jsou ve zdrojovém textu dokumentu. Ovšem to nemusí vypadat dobře. Jednak díky použití písma s nestejnou šířkou písmen, jednak proto, že příkazy se nezobrazují. ale když dokument píšete, samozřejmě je na obrazovce máte. Upravit tedy ručně dokument tak, aby vypadal dobře je dosti náročně na čas a každá změna v něm rovněž.
Takže je tu možnost specifikovat pro dokument, že si jej má zformátovat sám zobrazovač AmigaGuide. Jedním z módů je @WORDWRAP, o němž bude napsáno níže. Druhým je @SMARTWRAP. Konce řádků ve zdrojovém dokumentu se v tomto módu ignorují, respektive považují za mezeru. Oproti očekávání se více mezer nepovažuje za jedno, ale poctivě se zobrazí jako více mezer.
Odstavce se oddělují prázdným řádkem. Řádek musí být opravdu prázdný, nesmí na něm být ani žádný příkaz a dokonce ani mezera.
@TAB <Velikost> - Mění rozteč tabelátorů. Standardně jsou tabelátory rozmístěny vidy na každé osmé pozici. Pomocí tohoto příkazu je možné rozteč změnit na libovolnou hodnotu, dokonce i nulovou nebo zápornou. Záporné hodnoty sice mají zajímavé efekty, ale asi je nevyužijete. Konečně, můžete si to vyzkoušet.
@WIDTH <Šířka> - Teoreticky by měl tento příkaz měnit šířku stránky. Nepovedlo se mi však zjistit, jeho efekt ani na formátování (@WORDWRAP, @SMARTWRAP), ani na centrování čí zarovnávání vpravo (@{JCENTER}, @{JRIGHT}). Opravdu tedy nevím, jak přinutit AmigaGuide zformátovat text do sloupečku o 40 znacích...
@WORDWRAP - Druhý ze způsobů formátování, ten méně použitelný. Konce řádků zde totiž znamenají konce odstavců. Každý odstavec je tedy jeden více či méně dlouhý řádek. Jednak se takový text špatně edituje a jednak je WORDWRAP podporován až od verze systému 3.0 (V39), takže na starších systémech se zobrazí dlouhé řádky, což vypadá dosti úděsně. Pokud použijete @SMARTWRAP, můžete si dokument alespoň trochu předformátovat aby se dal číst, a finální úpravu nechat na zobrazovači, pokud to umí.
A to je právě ten problém. @SMARTWRAP je totiž podporován až od verze 3.1 (V40), kterou má jen málo lidí. A teď se rozhodujte, co použít. Já bych byl osobně pro to dokument jakž takž upravit a použít @SMARTWRAP, ale rozhodně nelze počítat s tím, že by více lidí vidělo dokument zformátovaný smartwrapem než v původní podobě.

Příkazy uzlu
- Tento příkaz se neuvádí zavináčem. Naopak slouží k tomu, aby bylo možno zapsat do dokumentu zavináč i na začátku řádky a před otevírací složenou závorkou. Zde je v tom mírný nepořádek. Podle mne by mělo KAŽDÉ použití zavináče (kromě za zpětným lomítkem) znamenat začátek příkazů. Nebyl-li by za ním příkaz, byla by to chyba.
Ovšem současná implementace považuje zavináč za začátek příkazu právě pouze na začátku řádky a před otevírací složenou závorkou, jinde se před něj zpětné lomítko dávat nemusí. Naopak, chcete-li do textu zařadit zpětné lomítko, musíte před něj dát ještě jedno. Tedy sekvence „\“ se změní na „“, „\\“ na „\“; apod.
Pokud uvedete zpětné lomítko před jiným znakem, také se nebude interpretovat. Jeho uvedením před tabelátorem či koncem řádku lze dosáhnou toho, že tento se nebude interpretovat nýbrž se ve výsledném textu zobrazí znak z písma s příslušným kódem (9 nebo 10). Ve standardním topazu to bude pro oba dva případy takový „obdélníček“.
Je ale zajímavé, že toto nelze provést s uvozovkou v argumentu. Nechápu proč. Jak jsem již uvedl, je v tom v AmigaGuide „mírný nepořádek“.
@FONT <Jméno> <Velikost> - Funguje stejně jako globální verze, ale zná účinek jenom na tento uzel. Nezáleží, kde příkaz leží, vždy má účinek na celý text uzlu, t.j. i na ten před ním. Stejně se chovají i ostatní příkazy uzlu, proto to u nich již nebudu uvádět. Pokud je více stejných příkazů uzlu v textu jednoho uzlu, má účinek vždy ten poslední.
@HELP <Adresa> - Jako globální verze, ale má účinek pouze na uzel ve kterém je uveden.
@INDEX <Adresa> - Jako globální verze, ale má účinek pouze na uzel ve kterém je uveden.
@KEYWORDS <Klíčová slova> - V současné verzi se nepoužívá. Původně měl asi sloužit k prohledávání databáze nebo sestavování indexu, ale nikdy k tomu nedošlo.
@ MACRO <Jméno> <Makro> - Jako globální verze, ale má účinek pouze na uzel ve kterém je uveden.
@NEXT <Adresa> - Určuje uzel, který se zobrazí pokud uživatel klikne na tlačítko „Browse >“. Není-li tento příkaz uveden, bude to uzel který následuje ve zdrojovém dokumentu.
@ONCLOSE <Skript> - ARexxový program, který se provede, pokud uživatel skončí prohlížení tohoto uzlu. Jeho návratový kód (return value) se ignoruje.
@ONOPEN <Skript> - ARexxový program, který se provede pokud si uživatel chce prohlédnout text tohoto uzlu. Je-li návratový kód různý od nuly, text se nezobrazí a uživatel zůstane na předchozím uzlu.
@PREV <Adresa> - Určuje uzel, který se zobrazí pokud uživatel klikne na tlačítko „Browse <“. Není-li tento příkaz uveden, bude to uzel který v dokumentu předchází tomuto.
@SMARTWRAP - Jako globální verze, ale platí pouze pro tento uzel.
@TAB <Velikost> - Jako globální verze, ale platí pouze pro tento uzel.
@TITLE <Nadpis> - Určuje nadpis uzlu (viz druhý argument příkaz @NODE). Pokud byl použit příkaz @TITLE, ignoruje se případný druhý argument příkazu @NODE a použije se místo něj argument @TITLE.
@TOC <Adresa> - Adresa uzlu v němž je obsah (Table Of Contents). Není-li tento příkaz v uzlu uveden, je za obsah považován uzel „MAIN“. Na obsah se uživatel může přesunout kliknutím na tlačítko „Contents“. Pokud se zobrazuje samotný uzel „MAIN“, je tlačítko „Contents“ zešedlé.
@WORDWRAP - Jako globální verze, ale platí pouze pro tento uzel.

Příkazy změny atributů
Tyto příkazy účinkují na text uzlu od svého místa dále až do konce nebo do příkazu který jejich účinek zruší nebo změní.
@{<„Text“> <Příkaz> <Argumenty příkazu>} - Vytvoří tlačítko (gadget) a do něj vepíše Text. Při kliknutí na tlačítko se provede akce specifikovaná Příkazem (možné příkazy viz níže). Text musí být v uvozovkách! Většinou jsou prvním a posledním znakem textu mezery, nebol tlačítko s textem těsně k okrajům nevypadá příliš dobře.
Současný AmigaGuide neumí udělat tlačítko přes více řádků. Je-li příliš dlouhé, bude prostě přečnívat a to i když je zapnutý @WORDWRAP nebo @SMARTWRAP.
Možné příkazy a jejich argumenty jsou následující:
@{<„Text“> ALINK <Adresa uzlu> <Řádek>} - Měl by zobrazit uzel do nového okna. Bohužel od verze 3.0 (V39) výše funguje jako LINK (viz níže), tedy zobrazuje text do starého okna. Nyní něco k adresám uzlu:
Na uzly ve stejném dokumentu (stejném souboru) se lze odkazovat prostě pouze jejich jmény. Žádný problém. Ale můžete se odkazovat i do jiných souborů. V tom případě uvedete jméno souboru a za ním lomítko a jméno uzlu který chcete zobrazit. Jméno musí být uvedeno i tehdy, pokud chcete zobrazit uzel „MAIN“. Takže například uvedete odkaz „HELP:English/Sys/Amigaguide.guide/Main“. Ve jménech uzlů se nerozlišuje velikost písmen. Lze tedy psát „MAIN“, „main“, „Main“, „mAiN“ apod.
Se zavedením datatypů (od verze 3.0 (V39)) je možno odkazovat se i na jiný typ dat než na dokumenty v AmigaGuide. Například nemůžete mít v dokumentu přímo obrázky, ale odkaz na ně může ukazovat. Ovšem pozor, PODRAZ! I za jménem obrázku totiž musíte uvést jméno „uzlu“ a to konkrétně „MAIN“, jinak se vám obrázek nenatáhne! Takže chcete-li zobrazit obrázek „DH0:Pictures/Datel.iff“, musíte se na něj odkázat jako na „DH0:Pictures/Datel.iff/Main“. Toto funguje ve VŠECH odkazech, takže indexem vašeho dokumentu může být klidně obrázek.
Ale zpět k příkazu ALINK. Jako nepovinný parametr mu lze zadat i číslo řádky v uzlu, od které se má zobrazit. Pokud máte například nějaký seznam pojmů, můžete se odkázat na řádek v něm a uživatel nebude muset nelistovávat příslušný pojem na který chtěl skočit. Ale pozor, i zde číhá zrada.
Příslušný řádek, na který se odkážete, nebude totiž prvním řádkem na stránce. Je pouze zaručeno, že bude na stránce, která se zobrazí. Máte-li uzel s pěti řádky a obrazovka má řádků dvacet, nelze AmigaGuide donutit aby zobrazil tento uzel jinak než od prvního řádku. Udávat řádek v odkazu flink) má tedy smysl pouze pokud je text uzlu delší než jedna stránka.
@{<„Text“> CLOSE} - Měl by zavírat okno otevřené pomocí příkazu ALINK. Ale tento příkaz nefunguje. Pokud uživatel klikne na tlačítko s tímto příkazem, AmigaGuide „zmrtví“ a dá se pouze zavřít. Takže nepoužívat.
@{<„Text“> LINK <Adresa uzlu> <Řádek>} - Zobrazí daný uzel od daného řádku. Parametr Řádek je nepovinný. Viz komentáře u příkazy ALINK.
@{<„Text“> RX <Skript>} - Po kliknutí na tlačítko spustí ARexxový skript. Jeho návratová hodnota se ignoruje.
@{<„Text“> RXS <ARexx>} - Po kliknutí na tlačítko se druhý argument vezme za ARexxový skript a spustí se. Například: @{„CED dopředu „RXS“ address rexx ced cedtofront“} dá do popředí CED na kliknutí na tlačítko.
@{<„Text“> SYSTEM <Příkaz>} Spustí daný příkaz AmigaDOSu nebo program.
@{<„Text“> QUIT} - Má skončit prohlížení dokumentu. Ale nefunguje, má stejné efekty jako CLOSE.
@{AMIGAGUIDE} - Vloží to textu uzlu text „AMIGAGUIDE(R)“ (bez uvozovek).
@{APEN <N>} - Nastaví číslo barvy, kterou se bude zobrazovat písmo. Nedoporučuji příliš používat, neboť se musíte spoléhat na to, jak budou barvy nastaveny a to nikdy není jisté. Snad jenom pokud zobrazujete AmigaGuide na obrazovce svého programu...
@{B} - Zapíná tučné písmo (bold). Není kumulativní (nested), takže jeden příkaz má přesně stejný účinek jako několik za sebou: první příkaz @{UB} tučné písmo vypne.
@{BG <Barva>} - Mění barvu pozadí. Pokud chcete přepínat barvy, používejte spíše tento příkaz a @{FG} než
@{APEN} a @{BPEN}. Udávané barvy mají symbolická jména. Já zde uvedu i souvislost s nastavením v preferencích „Palette“.
Text - Standardní barva používaná pro text. Nelze přestavit, je to pravděpodobně vždy barva číslo 1 .
Shine - Světlý text. V preferencích je to barva „Bright Edges“ („Světlé rohy“).
Shadow - Tmavší (stínový) text. V preferencích je to barva „Dark Edges“ („Tmavé rohy“).
Fill - Barva používaná k vyplňování. Použije se barvu nastavená v preferencích pod jménem „Active Windows Title Bar“ („Barva rámečku aktivního okna“).
FillText - Další barva na vyplňování. V menu je pod jménem „Active Window Titles“ („Barva nadpisu (titulku) aktivního okna“).
Background - Barva pozadí. Pravděpodobně se nedá změnit, je to vždy barva číslo 0.
Highlight - Důležitý text.
V preferencích se jmenuje „Important Text“ („Důležitý text“).
@{BODY} - Vysvětlení tohoto příkaz je složitější. Mějme uzel s nastaveným formátováním, je jedno zda @SMARTWRAP nebo @WORDWRAP. Pokud do něj potřebujeme vložit text v němž si přejeme zachovávat konce řádků, použijeme příkaz @{CODE} (viz dále). Poté potřebujeme obnovil původní způsob formátování. @SMARTWRAP a @WORDWRAP jsou příkazy uzlu a mají účinek na celý uzel, nedají se tedy použít. Zde nám pomůže příkaz, @{BODY}, který zruší účinek @{CODE} a obnoví Formátování.
@{BPEN <N>} - Nastaví číslo barvy, která se bude používat na pozadí. Opět nedoporučuji používat, viz příkaz @{APEN}.
@{CLEARTABS} - Zruší účinek příkazu @{SETTABS}.
@{CODE} - Pokud je nastaveno formátování @SMARTWRAP nebo @WORDWRAP, tento příkaz zruší jeho účinek. Od něj dále tedy budou striktně dodržovány konce řádků tak jako ve zdrojovém textu dokumentu. Obnovit opět formátování lze příkazem @{BODY}.
@{FG <Barva>} – Mění barvu textu. Barva a poznámky - viz příkaz @{BG}
@{I} - Zapne skloněné písmo (italiku). Podobně jako u @{B} není jeho účinek kumulativní.
@{JCENTER} - Zapne centrování textu. Centrování (stejně jako zarovnávání vpravo) nezávisí na formátování, funguje všude. Příkaz @{LINDENT} (viz níže) nemá na @{JCENTER} ani na @{JRIGHT} vliv. Tedy, nemá pokud nezapnete @SMARTWRAP nebo @WORDWRAP. Více u příkazu {LINDENT}
@{JLEFT} - Zapne zarovnávání textu k levému okraji. Toto je standardní nastavení.
@{RIGHT} -Zapne zarovnávání textu vpravo. Možné vedlejší efekty viz příkaz @{LINDENT}.
@{LINDENT <N>} - Na začátek každé řádky bude vloženo N mezer, řádek bude tedy odsazen. Viz. @{PARI}. Funguje jak pro normální formátování padle řádků ve zdrojovém textu tak pat @SMARTWRAP a @WORDWRAP.
Následující platí pro standardní formátování: Nastavíte-li N poměrně velké (cca 60), můžete kombinací s centrováním nebo zarovnáváním vpravo dosáhnout některých zajímavých efektů. Například ačkoli bude nastaveno zarovnávání vpravo, text bude přes pravý okraj atd.
Ani nezkoušejte nastavit @{LINDENT} nebo @{PARI} pokud máte nastavené centrování nebo přirážení vpravo. Výsledné efekty jsou dosti nepoužitelné.
Také vám neradím zkoušet nastavit @{LINDENT} záporný. Mně se podařilo tímto AmigaGuide zhroutit tak, že mi nastřílela po paměti a já musel zresetovat Amigu.
A nakonec, ještě jeden podraz. Příkazy @{LINDENT}, @{PARI} a @{PARD} totiž začínají působit až na dalším řádku (výstupu). Podívejte se jaké kejkle jsem musel provádět v příkladu, abych dosáhl toho, co chci.
@{LINE} - Má smysl pouze při nastaveném @SMARTWRAP nebo @WORDWRAP. Na tomto místě se řádek násilně zlomí a dále se bude pokračovat na nové řádce.
@{PAR} - Vloží to textu začátek nového odstavce. Ve všech módech (i při standardním formátování) se chová stejně. Započne na novém řádku a na jeho počátek vloží počet mezer který je součtem nastavení PARI a LINDENT (viz příslušné příkazy!.
@{PARD} - Nastaví LINDENT na 0, PART na 0, APEN na 1, BPEN na 0 a font na standardní (globální).
@{PART <N>} - Nastavuje hodnotu, která se přičte k LINDENT vždy na začátku odstavce a příslušný počet mezer se vloží na začátek řádky. Tato hodnota může být i záporná, pak je první řádek odstavce blíže u okraje než zbytek. Samozřejmě má význam a používá se pouze pokud AmigaGuide může rozlišit kde je začátek odstavce, tedy pokud je nastaven @SMARTWRAP nebo @WORDWRAP či pokud při standardním formátování použijete příkaz @{PAR}.
@{PLAIN} - Ruší veškeré tučné či skloněné písmo a podtrhávání. Jako kdyby jste zadali @{UB}@{UI}@{UU}.
@{SETTABS <Pozice1 > <Pozice2> <Pozice3> ... } - Umožňuje mít proměnnou rozteč mezi pozicemi tabelátoru. Nastavuje přímo sloupce na kletých se zastaví tabelátor. Za těmito pozicemi platí nastavení příkazem @TAB. Máme-li například nastaveno @TAB 5 a @{SETTABS 3 5 9 11}, budou pozice tabulátoru 3, 5, 9, 11, 16, 21, 26, ...
@{TAB} - Vloží do výstupu znak s kódem 9. Má stejný účinek jako zpětné lomítko a ihned za ním tabelátor.
@{U} - Zapne podtrhávání. Má stejné vlastnosti jako @{I} a @{B}.
@{UB} - Vypne tučné písmo.
@{UI} - Vypne skloněné písmo (italika).
@{UU} - Vypne podtrhávání.

GLOBÁLNÍ PŘÍKAZY

$VER: V36
(C) V36
AUTHOR V36
DATABASE V36
ENDNODE V36
FONT V36
HEIGHT V36
HELP V36
INDEX V36
MACRO V40
MASTER V36
NODE V36
ONCLOSE V40
ONOPEN V40
REM V36
REMARK V36
SMARTWRAP V40
TAB V40
WIDTH V36
WORDWRAP V39

PŘÍKAZY UZLU

V36
FONT V36
HELP V36
INDEX V36
KEYWORDS Nefunguje
MACRO V40
NEXT V36
ONCLOSE V40
ONOPEN V40
PREV V36
SMARTWRAP V40
TAB V40
TITLE V36
TOC V36
WORDWRAP V39

PŘÍKAZY ZMĚNY ATRIBUTŮ

{Text ALINK} Pouze V36
{Text CLOSE} Pouze V36
{Text LINK} V36
{Text RX } V36
{Text RXS } V36
{Text SYSTEM } V36
{Text QUIT} Pouze V36
{AMIGAGUIDE} V40
{APEN} V40
{B} V39
{BG} V40
{BODY} V40
{BPEN} V40
{CLEARTABS} V40
{CODE} V40
{FG} V40
{I} V39
{JCENTER} V40
{JLEFT} V40
{JRIGHT} V40
{LINDENT} V40
{LINE} V40
{PAR} V40
{PARD} V40
{PART} V40
{PLAIN} V40
{SETTABS} V40
{TAB} V40
{U} V39
{UB} V39
{UI} V39
{UU} V39

Příklad
Aby se tento článek neskládal jen z teoretického tlachání, připravil jsem pro vás příklad, ve kterém uvidíte praktické použití příkazů. V nějakém programátorském textovém editoru (CED, GoldED) jej přepište a uložte. Pak jej zobrazte bud pomocí příkazu AmigaGuide (u systémů verze 2.0 a 2.1) nebo Multiview (na systémech 3.0 a vyšších).
Na PD disku je příklad uložen jako soubor Example.guide.

@DATABASE Example.guide
@AUTHOR Michal Kara, lemming@k332.feld.cvut.cz
Text mimo uzly se ignoruje. Proto si sem mazu psat co chci.
@NODE Main „Hlavni menu“
@{„Ukazka zmeny písma“ LINK Písmo}
@{„Ukazka zmeny barvy a pouziti makra“ LINK „Barva a makro“}
@{„Formatovani“ LINK Formatovani}
@ENDNODE
@NODE Písmo „Ukazka písma“
@FONT topaz.font 11
Tento text je vetsi nez v ostatních uzlech. Je to zpusobeno tím, ze byl pouzit prikaz @{B}@FONT topaz.font 11 @{UB}.
@ENDNODE
@NODE „Barva a makro“
@MACRO ColorTest „$1:@{FG $1} $1 @{FG Text}“
@{B}UPOZORNENI:@{UB} Tento priklad funguje pouze na systtmu 3.1.
V tomto uzlu uvidíte jednak nuzné barvy a jednak pouziti makra. Je defínovano makro @{B}@MACRO ColorTest „@{FG $1} $1 @{FG Text}“@{UB}, ktere je pak pouzito na ukazku ruznych barev.
@{ColorTest Text}
@{ColorTest Shine}
@{ColorTest Shadow}
@{ColorTest Fill}
@{ColorTest FillText}
@{ColorTest Background}
@{ColorTest Highlight}
Muzete zkusit zmenit nastaveni v preferencích „Color“ a uvidíte jak se budou menu barvy. Nezapomente, ze musíte mít toto okno zobrazeno na WorkBenchi a také jej musíte pokazde zavrit a znovu nahnat.
@ENDNODE
@NODE Formatovani
@WORDWRAP
@{B}UPOZORNENI:@{UB} Tento priklad funguje uplne pouze na Amize 1200 nebo 4000.
@{LINDENT 2}@{PARI 3}@{PAR}Tento odstavec ma nasteveny LINDENT na 2 a PART na 3. Jeho první radek je tedy odsazen 5 mezer od okraje a dalsi radky pouze dve mezery od levého okraje.
@REM Od prikazu @{LINDENT} musí byt predchozi text cely na jednom radku !
@{PARD}@{JCENTER}
Nyní vídite ukazku centrovaní. Tento text je také zalaman pomoci prikazu @WORDWRAP, presto je centrovan.
@{JRIGHT}Mala ukazka zarovnavani vpravo.
@{CODE}@{JLEFT}Potrebujete-li vepsat nejaky text. napriklad cast programu do automaticky tormatovaneho textu zaridi to prikaz @{CODE}.
@{BODY}A prikaz @{BODY} opet obnoví povodni automatické formatovani napsaného textu uzlu. Teú je PART a INDENT pomoci @{PARD} nastaven na nulu. @REM Od prikazu @{BODY} musí byt predchozi text cely na jednom radku!
@ENDNODE

Vytlačiť článok


© ATLANTIDA Publishing Všechna práva vyhrazena.
Žádna část nesmí být reprodukována nebo jinak šířena bez písemného svolení vydavatele.



Amiga na Vašem PC rychle, snadno a zdarma!


none

AMIGA REVIEW

57 ( 11-12 / 2000 )
56 ( 9-10 / 2000 )
55 ( 7-8 / 2000 )
54 ( 5-6 / 2000 )
53 ( 3-4 / 2000 )
52 ( 1-2 / 2000 )
 
51 ( 12 / 1999 )
50 ( 11 / 1999 )
49 ( 10 / 1999 )
48 ( 9 / 1999 )
46-47 ( 7-8 / 1999 )
45 ( 6 / 1999 )
44 ( 5 / 1999 )
43 ( 4 / 1999 )
42 ( 3 / 1999 )
41 ( 2 / 1999 )
40 ( 1 / 1999 )
 
39 ( 12 / 1998 )
38 ( 11 / 1998 )
37 ( 10 / 1998 )
36 ( 9 / 1998 )
35 ( x / 1998 )
34 ( x / 1998 )
33 ( 1-2 / 1998 )
 
32 ( 11-12 / 1997 )
31 ( 9-10 / 1997 )
30 ( 7-8 / 1997 )
29 ( 6 / 1997 )
28 ( 5 / 1997 )
27 ( 4 / 1997 )
26 ( 3 / 1997 )
25 ( 2 / 1997 )
24 ( 1 / 1997 )
 
23 ( 12 / 1996 )
22 ( 11 / 1996 )
21 ( 10 / 1996 )
20 ( 9 / 1996 )
18-19 ( 7-8 / 1996 )
17 ( 6 / 1996 )
16 ( 5 / 1996 )
15 ( 4 / 1996 )
14 ( 3 / 1996 )
13 ( 2 / 1996 )
12 ( 1 / 1996 )
 
11 ( 12 / 1995 )
10 ( 11 / 1995 )
9 ( 10 / 1995 )
8 ( 9 / 1995 )
7 ( 7 / 1995 )
6 ( 5 / 1995 )

ATLANTIDA NEWS

5 ( 3 / 1995 )
4 ( 1 / 1995 )
 
3 ( 11 / 1994 )
2 ( 9 / 1994 )
1 ( 7 / 1994 )
0 ( 5 / 1994 )