Syntaxe řetězců - parametrů příkazů


Řetězcem rozumíme souvislý úsek znaků s binárními (ASCII) hodnotami 0 až 255. Je-li na místě parametru některého příkazu řetězec, čte se celý zbytek řádky a intepretuje se jako spojení jednotlivých prvků řetězce (oddělených obvykle jednou nebo několika mezerami).
Prvkem řetězce může být:
  • Znak nebo několik znaků v uvozovkách vloží do řetězce přímo tyto znaky (bez oněch uvozovek). Výjimkou je znak backslash ('\', zpětné lomítko apod.), který není do řetězce přímo vkládán, ale ovlivňuje interpretaci dalšího znaku nebo několika znaků - následovat za ním může:
    Znak Zápis Popis
    n \n nový řádek (newline, LF, znak s kódem 10)
    r \r návrat vozíku (return, CR, znak s kódem 13)
    f \f nová stránka (formfeed, FF, znak s kódem 12)
    e \e escape (ESC, znak s kódem 27)
    t \t tabulátor (TAB, znak s kódem 9)
    b \b zvonek (bell, BEL, znak s kódem 7)
    číslo v desítkové
    soustavě (max. 3 číslice)
    znak s binární (ASCII) hodnotou odpovídající tomuto číslu
    znak mimo výše uvedenou sadu tento znak samotný (bez ohledu na jeho speciální význam)
  • Číslo v desítkové soustavě ... do řetězce se vloží jeden znak s binární (ASCII) hodnotou odpovídající tomuto číslu
  • Jedna z uvedených konstant ... do řetězce se vloží jeden znak odpovídající převodní tabulce:
    Znak Ekvivalent ASCII-hodnota
    nl \n 10
    lf \n 10
    cr \r 13
    esc \e 27
    tab \t 9
  • Proměnná line ... do řetězce se vloží naposledy načtená řádka. Proměnná je naplňována několika příkazy (způsob a přesný tvar naplnění proměnné je u každého takového příkazu uveden zvlášť) a má platnost až do dalšího takového příkazu. Při startu programu TCPBatch (nikoli scriptu) je proměnná nastavena na prázdný řetězec, modifikují ji příkazy Input, Receive, SkipTo a WaitFor.
  • Jméno založeného čítače ... do řetězce se vloží prostý dekadický zápis aktuální hodnoty tohoto čítače (např. "1", "25", "448"). Pokud čítač dosud nebyl založen (nebo také pokud text neodpovídá ani číslu, ani známému čítači, ani jedné z výše uvedených konstant a není ani v uvozovkách), nevloží se na tomto místě do řetězce nic, chyba se v takovém případě nehlásí. Viz také příkazy SetCounter a IncrementCounter.
    Příklady řetězců:
    Následující řádky popisují stále tentýž řetězec:
    	"Ahoj\n"
    	"Ahoj" nl
    	"Ahoj" 10
    	"Ahoj\010"
    	65 "hoj\n"
    
    Po provedení příkazu:
    	SetCounter C_PocetRadek 110
    
    budou následující řetězce shodné:
    	"Řádka č." "110" nl
    	"Řádka č." C_PocetRadek nl
    	"Řádka č.110\n"
    
    Pokud byla během příkazu:
    	SkipTo nl
    
    přijata od partnera řádka "220 Ready" ukončená znakem nl (což je v oblasti TCP/IP běžné ukončení řádky), budou následující řetězce shodné:
    	"Přijata řádka " line
    	"Přijata řádka 220 Ready"
    
    (vlastností příkazu SkipTo je, že do proměnné line neukládá ukončovací znak řádky).