[Document encoding ISO-8859-2]

Linpac - seznam příkazů
=======================

U příkazů jsou povinná pouze velká písmena. Každý příkaz lze provést i na
jiném než aktuálním kanálu zadáním příkaz@kanál (např. "connect@2 cz6jbg").
Všechny příkazy musí začínat dvojtečkou, jinak jde o text k odeslání.


1) Vestavěné příkazy

 a) 'akční' příkazy

  ABort [adresa]
    Zrušení akce. Některé programy reagují i bez udání parametru (autobin). 
  Adresy jednotlivých příkazů:
                   
                       činnost         parametr_pro_abort
                     ------------------------------------- 
		       autobin RX/TX       autobin (nebo nic)
                       yapp RX/TX          yapp (nebo nic)
                       7plus autosave      7plus (nebo nic)
                       read/RBin           read (nebo nic)
                       write/WBin          write (nebo nic)
                       forward             forward

                     ostatní bez parametru.

  Connect [port:]značka [digi [digi...]]
    Začne navazovat spojení s danou stanicí na aktuálním kanále.

  Disconnect
    Rozpojení.

  Echo <text>
    Vypíše (vyšle) daný text.

  FLUSH
    Způsobí výslání dosud nevyslaných rámců (uplatní se spíše ve skriptech
    např. těsně před příkazem Disconnect nebo před čekáním na vstup)

  SYstem
    Ukončení programu LinPacu, zruší všechna spojení.

  UNproto <text>
    Vyslání nečíslovaného rámce s daným textem.

  VERsion
    Výpis verze programu.


 b) příkazy pro práci s proměnnými
  
  SET <proměnná> <hodnota>
    Přířadí hodnotu dané proměnné. Pokud proměnná neexistuje, tak ji
    vytvoří.

  UNSET <proměnná>
    Zruší danou proměnnou.

  GET <proměnná>
    Vrací hodnotu proměnné, obvykle lze účiněji nahradit pomocí %proměnná.
    (viz soubor macros.txt)

  EXISTs <proměnná>
    Vrací 1 když proměnná existuje, 0 když neexistuje.


 c) informační příkazy

  ENVINFO
    Vypíše aktuální stav prostoru pro proměnné.

  PCALL
    Vrací volací znak první připojené protistanice na aktuálním kanálu
  při právě probíhajícím spojení.

  UTCTime
    Vrací aktuální čas UTC (hodnota z os).


 d) příkazy pro změnu nastavení
  
  CBell [on|off]
    Zapne/vypne zvukový signál při navázání nebo ukončení spojení.

  FIXPath [on|off]
    Při FIXPath=ON se ignorují zadané cesty k souborům u externích příkazů
  označených příznakem P. Je tedy možné používat pouze cestu USER_PATH pro
  čtení souborů a SAVE_PATH pro zápis souborů.

  INFOLEvel [0|1|2]
    Nastaví zobrazování informačního řádku:
      0 - vypnuto (žádné informace o stavu spojení)
      1 - zobrazení důležitých informací
      2 - zobrazení všech informací

  Language [jazyk]
    Nastaví aktuální jazyk. Zatím podporováno pouze pro skripty (skript se
    hledá nejdříve v adresáři s příslušným jménem)

  MYcall <značka>
    Změna volací značky pro daný kanál.

  REMote [on|off]
    Zapnutí/vypnutí dálkového ovládání.

  Port <jméno_portu>
    Nastaví port, který se použije při příkazu Connect, pokud není
    explicitně zadán.

  TIMEZone [zóna]
    Nastavení časové zóny. Pouze se ukládá, nemá vliv na čas.

  UNSrc [značka]
    Nastaví značku odesilatele pro nečíslované rámce.

  UNDest [značka]
    Nastaví cílovou adresu pro nečíslované rámce.

  WAtch <port | 0> <řetězec> <příkaz>
    Zapne sledování daného portu (0 - všechny porty). Pokud od protistanice
    přijde zadaný řetězec, vykoná se příkaz (příkaz musí začínat dvojtečkou,
    jinak jde o text k vypsání)

  
 e) příkazy pro ovládání obrazovky

  STATLINE <n>
    Umístí hlavní stavový řádek na n-tý řádek obrazovky.

  CHNLINE <n>
    Umístí řádek pro přepínání kanálů na n-tý řádek obrazovky.

  SWAPEDit
    Zamění okno editoru s oknem spojení.

  INFOLine <číslo> <text>
    Změní stavový řádek označený číslem na zadaný text. Pokud takový řádek
    neexistuje, je vytvořen.

  REMOVEINFO <číslo>
    Odstraní stavový řádek označený daným číslem.

  TRanslate <tabulka>
    Zapne překódování vstupu a výstupu podle zadané tabulky. Tabulky jsou
    uloženy v souborech *.ctt

  TErm <typ>
    Nastavý typ terminálu. Pokud se zadá typ 'ansi', přepne se terminál do
    režimu ansi barev.

  SCRLimit <low-limit> <high-limit>
    Když velikost bufferu s přijímanými daty přesáhne hodnotu high-limit,
  potom je buffer zkrácen na low-limit. Hodnoty se udávájí v bajtech.
  Implicitní hodnoty jsou 384 kB a 512 kB.
 
 f) systémové příkazy

  RESULT <text>
    Vrátí zadaný text jako výsledek skriptu.

 g) příkazy pro práci s řetězci

  STRMid <start> <length> <řetězec>
    Vrací podřetězec zadaného řetězce začínající na pozici <start>
    délky maximálně <length> znaků

  STRLeft <length> <řetězec>
    Vrací prvních <length> znaků řetězce

  STRRight <length> <řetězec>
    Vrací posledních <length> znaků řetězce

  STRLen <řetězec>
    Vrací délku řetězce

  STRPos <podřetězec> <řetězec>
    Hledá v řetězci podřetězec, vrací pozici začátku nebo -1 když nebyl
    nalezen

  UPCASE <řetězec>
    Převede řetezec na velká písmena


2) Externí příkazy

  RPrg <soubor>
    Vyšle soubor protokolem autobin.

  Bell
    Zvukový signál pro přivolání operátora.

  Compose <p|b> <značka>
    Vytvoření privátní zprávy/bulettinu pro danou značku.

  FORWARD
    Odeslání dosud neodeslaných zpráv do domácí BBS.

  MHeard
    Vypsání slyšených stanic.

  MAIL
    Vyvolá nástroj pro čtení a psaní pošty

  Name
    Uložení jména a editace databáze stanic (viz. Name -h)

  RTt
    Měření času přenosu mezi stanicemi.

  YPUT <soubor>
    Vyslání souboru protokolem YAPP.

  Write <soubor>
    Začátek ukládání příchozího textu do souboru. Ukončí se :Write off.

  Read <soubor>
    Vyslání zadaného textového souboru.

  WBin / RBin
    Jako Write / Read, ale pro binární soubory.

  GETMsg <číslo>
    Získání zprávy z domácí BBS.

3) Makra

  Activity
    Výpis času od poslední akce operátora.

  Conv
    Vstup do konference

  Info
    Informace o stanici.

  Help
    Stručná nápověda k příkazům

  Quit
    Vyslání ukončovacího textu a ukončení spojení.

  Users / CStatus
    Seznam připojených uživatelů   


Příkazy pro vytváření skriptů
=============================

  MACRO [název]
    Uvozuje definici příkazového skriptu (viz níže)

  LABEL <jméno_návěští>
    Definuje návěští daného jména. U příkazových skriptů lze nahradit
    zápisem :<jméno_návěští>.

  GOTO <jméno_návěští>
    Skok na dané návěští.

  IF ~ ELSE ~ ENDIF
    Podmínkové příkazy. Existují dva způsoby zápisu podmínky:

    - normální zápis (pro více příkazů):
      IF <podmínka>
       .
       .
       (příkazy, které se mají vykonat při splnění podmínky)
       .
       .
      ELSE
       .
       .
       (příkazy, které se mají vykonat při nesplnění podmínky)
       .
       .
      ENDIF
      Část ELSE lze vynechat a použít pouze IF ~ ENDIF.
 
    - zkrácený zápis (pro jeden příkaz)
      IF (<podmínka>) příkaz
      (podmínka je uvedena v závorkách, příkaz se provede při jejím splnění)

    Pro zápis podmínek lze využít operátory = (nebo ==), <, >, <= (nebo =<),
    >= (nebo =>), != (nebo <>). Pokud oba operátory jsou čísla, porovnají se
    jako čísla, jinak se porovnají jako řetězce.


Vytváření skriptů
=================
  Skript lze definovat vytvořením souboru macro/<příkaz>.mac. Pokud může být
příkaz zkrácen, je třeba jej uvést v souboru "commands" ve stejném adresáři.
Existují dva způsoby zápisu skriptu:

a) Textové skripty
  Tento způsob definice je vhodný pro příkazy, jejichž hlavním úkolem je
vypsat nějaký text (například informace o stanici). Po spuštění takto
definovaného příkazu je každý řádek souboru, který nezačíná dvojtečkou
zobrazen na obrazovku (odeslán protistanici). Příkazy musí začínat
dvojtečkou, je možno použít všechny příkazy LinPacu i ostatní uživatelem
definované příkazy a navíc speciální příkazy pro skripty. Tímto způsobem lze
do textu vložit například informaci o probíhajících spojeních (příkazem
:Users) nebo modifikovat text pomocí příkazu :IF,:ELSE a :ENDIF.

b) Příkazové skripty
  Předchozí způsob definice umožňuje snadné vypisování textu, avšak při
použití většího množství příkazů se definice stává velmi nepřehlednou.
Definice ve formě příkazů je oproti tomu vhodná k zápisu většího množství
příkazů s menším množstvím vypisovaného textu.
  První řádek takové definice musí tvořit příkaz :MACRO (na začátku řádku)
za kterým může následovat jakýkoliv text (např. jméno makra atd.). Za tímto
řádkem lze psát příkazy, před které se už nepíše dvojtečka. Tyto příkazy
nemusí začínat na začátku řádku (mohou být libovolně odsazeny), prázdné
řádky se přeskakují. Text se vypisuje pomocí příkazu Echo.
