home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 December / VPR9712A.ISO / OLS / WIN16 / TTERMV13 / TTMACROJ.TXT < prev    next >
Text File  |  1996-06-07  |  36KB  |  1,438 lines

  1.     TTMACRO for Tera Term
  2.     T. Teranishi
  3.  
  4.     Copyright (C) 1994-1996 T. Teranishi
  5.     All Rights Reserved.
  6.  
  7. -------------------------------------------------------------------------------
  8. 目次
  9.  
  10. 1. 概要
  11.  
  12. 2. インストール
  13.  
  14. 3. マクロ実行法
  15.  
  16. 4. マクロ言語 "Tera Term Language (TTL)"
  17.  
  18.   4.1 データ型
  19.   4.2 定数の形式
  20.   4.3 名前の形式
  21.   4.4 変数
  22.   4.5 式と演算子
  23.   4.6 行の形式
  24.  
  25. 5. TTL コマンドリファレンス
  26.  
  27.   5.1 通信コマンド  
  28.   5.2 制御コマンド
  29.   5.3 文字列操作コマンド
  30.   5.4 ファイル操作コマンド
  31.   5.5 その他のコマンド
  32.  
  33. 6. 補足説明
  34.   エラーメッセージ
  35.   改行文字について    
  36.  
  37. -------------------------------------------------------------------------------
  38. 1. 概要
  39.  
  40. TTMACRO は Tera Term 用マクロ実行プログラムです。マクロ言語
  41. "Tera Term Language (TTL)" によって、 Tera Term を制御し、オートダイアル、
  42. オートログインなどの機能を実現することができます。
  43.  
  44. 注: TTMACRO.EXE は 16-bit 実行ファイルです。長いマクロファイル名には対応
  45.     していません。
  46. -------------------------------------------------------------------------------
  47. 2. インストール
  48.  
  49. TTMACRO.EXE を TERA TERM がインストールされているディレクトリ(フォルダ)
  50. に置いてください。
  51.  
  52. -------------------------------------------------------------------------------
  53. 3. マクロ実行法
  54.  
  55. マクロファイルを実行するには、2通りの方法があります。
  56.  
  57. 1) Tera Term からマクロを実行する。
  58.  
  59. Tera Term の [Control] Macro コマンドを実行してください。すると、 TTMACRO
  60. が起動し、マクロファイル (*.TTL) を選択するダイアログボックスが現れるので、
  61. 実行したいマクロファイルを選択してください。
  62.  
  63. 2) TTMACRO を直接起動し、マクロを実行する。 (Tera Term はマクロから起動。)
  64.  
  65. TTMACRO を起動するときのコマンドライン(ショートカットのリンク先)で
  66. マクロファイル名を指定することができます。例えばマクロファイル "DIALUP.TTL"
  67. を実行したい場合、コマンドライン(ショートカットのリンク先)は、
  68.  
  69.     TTMACRO DIALUP.TTL
  70.  
  71. と指定してください。マクロファイル名の拡張子 ".TTL" は省略可能です。マクロ
  72. ファイル名を省略すると、TTMACRO 起動後にマクロファイルを選択するダイアログ
  73. ボックスが現れます。よく使用するマクロは、アイコン(ショートカット)を作成
  74. しておくと便利です。
  75.  
  76. 方法 2) で、TTMACRO を起動した場合、マクロコマンド connect によって、
  77. Tera Term を起動することができます。 Connect コマンドの説明は 5.1.5 を読んで
  78. ください。
  79.  
  80. マクロ実行中は、「TTMACRO - <マクロファイル名>」というアイコンまたはダイアログ
  81. ボックスがあらわれます。ダイアログボックスの「Pause」/「Start」/「End]ボタンを
  82. 押すとマクロを停止/再開/終了することができます。
  83.  
  84. -------------------------------------------------------------------------------
  85. 4. マクロ言語 "Tera Term Language (TTL)"
  86.  
  87. TTL は BASIC に似た単純なインタープリタ型の言語です。
  88. はやく覚えるには、配布パッケージに含まれるマクロファイルのサンプルを参考に
  89. し、「5. TTL コマンドリファレンス」を読んで下さい。
  90.  
  91. ...............................................................................
  92. 4.1 データ型
  93.  
  94. TTL が扱えるデータの型は2種類。
  95.  
  96.     整数
  97.         符号付き 16 bit, -32768から32767まで。
  98.  
  99.     文字列
  100.         NUL 文字を除くすべての文字を含むことができる。
  101.         最大長は255文字。
  102. ...............................................................................
  103. 4.2 定数の形式
  104.  
  105. 1) 整数型定数
  106.  
  107.     10進数で表現する。
  108.  
  109.     例:
  110.         123
  111.         -11
  112.  
  113. 2) 文字列型定数
  114.  
  115.     文字列型定数を表現する方法は2つ。
  116.  
  117.     a) 値となる文字列の両端を ' か " で囲む(両端とも同じ文字で)。
  118.        文字列値を構成する文字は表示可能で囲み文字と異なる文字ならば
  119.        何でもよい。
  120.  
  121.     例:
  122.         'Hello, world!'
  123.         "I can't do that."
  124.         "漢字も可能"
  125.  
  126.     b) 1文字を ASCII (または JIS ローマ字、Shift-JIS) コード(10進数)
  127.        で表現し、先頭に "$" をつける。ASCII コード 0 の文字 (NUL) は
  128.        文字列定数に含めることができない。
  129.  
  130.     例:
  131.         #65        文字 "A"
  132.         #13        CR 文字
  133.  
  134.       a) と b) は組み合わせることが可能。
  135.  
  136.     例:
  137.         'cat readme.txt'#13#10        普通の文字列+改行
  138.         abc'#13#10'def'#13#10'ghi'
  139.  
  140. ...............................................................................
  141. 4.3 名前の形式
  142.  
  143. 1) 変数の名前
  144.  
  145. 1文字目は、アルファベット (A-Z, a-z) か "_"、2文字目以降はアルファベットか "_"
  146. か数字 (0-9)。アルファベットの大文字と小文字は区別されない。最大長は32文字。
  147.  
  148.     例:
  149.         send
  150.         VARIABLE1
  151.         _flag
  152.  
  153. 2) ラベルの名前
  154.  
  155. アルファベット (A-Z, a-z) か "_" か数字 (0-9) で構成される。最大長は32文字。
  156.  
  157.     例:
  158.         label1
  159.         100
  160.  
  161. 3) 予約語
  162.  
  163. 以下に示す名前は、コマンドや演算子、システム変数として使われる。ユーザーが
  164. 定義する変数やラベルの名前として使うことはできない。
  165.  
  166. コマンド:
  167.     beep, bplusrecv, bplussend, ... (5. のコマンドリストを参照)
  168.  
  169. 演算子:
  170.     and, not, or, xor
  171.  
  172. システム変数:
  173.     inputstr, param2, param3, result, timeout
  174.  
  175. ...............................................................................
  176. 4.4 変数
  177.  
  178. 1) ユーザー変数
  179.  
  180. ユーザーにより定義される。型および値は初めて値が代入されたときに決まる。
  181. いったん型が決まると違う型の値を代入することはできない。
  182.  
  183. 2) システム変数
  184.  
  185. あらかじめ型と値が定義され、特定のコマンドと共に使用される。
  186.  
  187. 名前        型    初期値    システム変数を使用するコマンド
  188. -----------------------------------------------------------------
  189. inputstr    文字列    ""    inputbox, passwordbox, waitrecv
  190. param2        文字列    *1    *1
  191. param3        文字列    *1    *1
  192. result        整数    0    filereadln, filesearch, filestrseek,
  193.                 str2int, strcompare, strlen, strscan,
  194.                 wait, waitrecv, yesnobox
  195. timeout        整数    0    wait, waitrecv
  196.  
  197.     *1 TTMACRO 起動時のコマンドラインパラメータの2, 3番目が
  198.        システム変数 param2, param3 の初期値となる。1番目の文字列は
  199.        マクロファイル名。
  200.  
  201. ...............................................................................
  202. 4.5 式と演算子
  203.  
  204. 式は、定数、変数、演算子、カッコで表現する。定数と変数は整数型のみ。結果も
  205. 整数型。関係演算子を用いた式の結果の値は、真のとき1、偽のとき0となる。
  206.  
  207. 演算子の優先順位による分類は以下のとおり
  208.  
  209. 種類        優先順位    演算子
  210. ------------------------------------------------------------
  211. 単項演算子    1, 最高        not
  212. 乗除演算子    2        *  /
  213. 加減演算子    3        +  -  or  xor
  214. 関係演算子    4, 最低        =  <>  <  >  <=  >=
  215.  
  216. 例:
  217.     1 + 1
  218.     4 - 2 * 3    この式の値は-2
  219.     3 * (A + 2)    Aは整数型の変数
  220.     A and not B
  221.     A <= B        A, Bは整数型の変数。結果の値は真のとき1、偽のとき0
  222.  
  223. ...............................................................................
  224. 4.6 行の形式
  225.  
  226. 行の形式は以下の5つに分類できる。
  227.  
  228. 1) 空白行
  229.  
  230. 文字がない行や空白文字 (space または tab) だけの行は無視され、TTL の実行
  231. 結果に影響をあたえない。
  232.  
  233. 2) コメント行
  234.  
  235. ";" で始まる行。TTL の実行結果に影響を与えない。
  236.  
  237.     例:
  238.         ; Tera Term Language
  239.  
  240. 3) コマンド行
  241.  
  242. 1つのコマンド名と0個以上のパラメータ。(if コマンドは例外。5.2.7 参照)。
  243.  
  244.     形式:
  245.         <コマンド> <パラメータ> ...
  246.     例:
  247.         connect'myhost'
  248.         wait 'OK' 'ERROR'
  249.         if result=2 goto error
  250.         sendln 'cat'
  251.         pause  A*10
  252.         end
  253.  
  254. 4) 代入行
  255.  
  256. 変数に値を代入する。
  257.  
  258.     形式:
  259.         <変数>  = <定数、変数、式>
  260.     例:
  261.     A = 33        数値の代入
  262.     B = C        C はすでに値が代入されてなければならない。
  263.     VAL = I*(I+1)
  264.     A=B=C        B=C の結果 (真:1、偽:0) がAに代入される。
  265.     Error=0<J
  266.     UserName='MYNAME'    文字列の代入
  267.   
  268. 5) ラベル行
  269.  
  270. ":" とその直後に続くラベル名からなる。
  271.  
  272.     形式:
  273.         :<label name>
  274.     例:
  275.         :dial
  276.         :300
  277.  
  278. -------------------------------------------------------------------------------
  279. 5. TTL コマンドリファレンス
  280.  
  281. コマンドの分類
  282.  
  283. 5.1 通信コマンド
  284.  
  285.     5.1.1 bplusrecv
  286.     5.1.2 bplussend
  287.     5.1.3 changedir
  288.     5.1.4 closett
  289.     5.1.5 connect
  290.     5.1.6 kmtrecv
  291.     5.1.7 kmtsend
  292.     5.1.8 logclose
  293.     5.1.9 logopen
  294.     5.1.10 logpause
  295.     5.1.11 logstart
  296.     5.1.12 logwrite
  297.     5.1.13 quickvanrecv
  298.     5.1.14 quickvansend
  299.     5.1.15 send
  300.     5.1.16 sendfile
  301.     5.1.17 sendln
  302.     5.1.18 showtt
  303.     5.1.19 wait
  304.     5.1.20 waitrecv
  305.     5.1.21 xmodemrecv
  306.     5.1.22 xmodemsend
  307.     5.1.23 zmodemrecv
  308.     5.1.24 zmodemsend
  309.  
  310. 5.2 制御コマンド
  311.  
  312.     5.2.1 call
  313.     5.2.2 end
  314.     5.2.3 execcmnd
  315.     5.2.4 exit
  316.     5.2.5 for, next
  317.     5.2.6 goto
  318.     5.2.7 if, then, elseif, else, endif
  319.     5.2.8 include
  320.     5.2.9 pause
  321.     5.2.10 return
  322.     5.2.11 while, endwhile
  323.  
  324. 5.3 文字列操作コマンド
  325.  
  326.     5.3.1 str2int
  327.     5.3.2 strcompare
  328.     5.3.3 strconcat
  329.     5.3.4 strcopy
  330.     5.3.5 strlen
  331.     5.3.6 strscan
  332.  
  333. 5.4 ファイル操作コマンド
  334.  
  335.     5.4.1 fileclose
  336.     5.4.2 fileconcat
  337.     5.4.3 filecopy
  338.     5.4.4 filecreate
  339.     5.4.5 filedelete
  340.     5.4.6 fileopen
  341.     5.4.7 filereadln
  342.     5.4.8 filerename
  343.     5.4.9 filesearch
  344.     5.4.10 fileseek
  345.     5.4.11 filestrseek
  346.     5.4.12 filewrite
  347.     5.4.13 filewriteln
  348.  
  349. 5.5 その他のコマンド
  350.  
  351.     5.5.1 beep
  352.     5.5.2 exec
  353.     5.5.3 getdate
  354.     5.5.4 gettime
  355.     5.5.5 inputbox
  356.     5.5.6 int2str
  357.     5.5.7 messagebox
  358.     5.5.8 passwordbox
  359.     5.5.9  show
  360.     5.5.10 yesnobox
  361.  
  362. ...............................................................................
  363. 5.1 通信コマンド
  364.  
  365. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  366. 5.1.1 bplusrecv
  367.  
  368. 形式:
  369.     bplusrecv
  370.  
  371. B-Plus プロトコルでファイルを受信する。
  372. 受信が終わるまで次のコマンドは実行されない。
  373.  
  374. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  375. 5.1.2 bplussend
  376.  
  377. 形式:
  378.     bplussend <filename>
  379.  
  380. ファイル <filename> を B-Plus プロトコルで送信する。
  381. 送信が終わるまで次のコマンドは実行されない。
  382.  
  383. 例:
  384.     bplussend 'readme.txt'
  385.  
  386. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  387. 5.1.3 changedir
  388.  
  389. 形式:
  390.     changedir <path>
  391.  
  392. Tera Term の現在のディレクトリを変更する。
  393.  
  394. 例:
  395.     changedir 'c:\'
  396.  
  397. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  398. 5.1.4 closett
  399.  
  400. 形式:
  401.     closett
  402.  
  403. Tera Term を終了させる。
  404.  
  405. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  406. 5.1.5 connect
  407.  
  408. 形式:
  409.     connect <command line parameters>
  410.  
  411. Tera Term を起動して TTMACRO と接続する。<command line parameters> は、
  412. Tera Term を起動する時のコマンドラインパラメータ。Tera Term から TTMACRO
  413. を起動したり、すでに他の connect コマンドが実行されている場合、このコマンド
  414. は無視される。Tera Term との接続が確立する前に、他の通信コマンドは実行でき
  415. ない。
  416.  
  417. Tera Termのコマンドラインパラメータについては、配布パッケージの
  418. CMNDLINE.TXT を参照。
  419.  
  420. 例:
  421.     connect    ''        パラメータなしで Tera Term を起動
  422.  
  423.     connect '/C=2'        パラメータ '/C=2'をつけて Tera Term を起動
  424.  
  425.     connect 'foohost.foo.foo.jp'
  426.  
  427.     CommandLine = '111.111.11.11'
  428.     connect CommandLine
  429.  
  430. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  431. 5.1.6 kmtrecv
  432.  
  433. 形式:
  434.     kmtrecv
  435.  
  436. Kermit プロトコルでファイルを受信する。
  437. 受信が終わるまで次のコマンドは実行されない。
  438.  
  439. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  440. 5.1.7 kmtsend
  441.  
  442. 形式:
  443.     kmtsend <filename>
  444.  
  445. ファイル <filename> を Kermit プロトコルで送信する。
  446. 送信が終わるまで次のコマンドは実行されない。
  447.  
  448. 例:
  449.     kmtsend 'readme.txt'
  450.  
  451. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  452. 5.1.8 logclose
  453.  
  454. 形式:
  455.     logclose
  456.  
  457. Tera Term のログを終了する。
  458.  
  459. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  460. 5.1.9 logopen
  461.  
  462. 形式:
  463.     logopen <filename> <binary flag> <append flag>
  464.  
  465. Tera Term のログを開始する。ファイル <filename> に受信した文字が
  466. 書き込まれる。ログを開始したあとも次のコマンドは実行される。
  467.  
  468. <binary flag> の値が0のとき、受信した漢字、改行文字は変換されてファイルに
  469. 書き込まれ、エスケープシーケンスは書き込まれない。<binary flag> の値が0以外
  470. のとき、受信した文字をすべてそのままファイルに書き込む。
  471.  
  472. <append flag> の値が0以外で、ファイル <filename> がすでに存在する場合、
  473. そのファイルに追加して書き込む。
  474. <append flag> の値が0で、ファイル <filename> がすでに存在する場合、
  475. そのファイルは上書きされる。
  476.  
  477. 例:
  478.     logopen 'myhost.log' 0 0
  479.  
  480. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  481. 5.1.10 logpause
  482.  
  483. 形式:
  484.     logpause
  485.  
  486. Tera Term のログを一時中断する。中断してる間に受信された文字はログファイル
  487. に書き込まれない。
  488.  
  489. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  490. 5.1.11 logstart
  491.  
  492. 形式:
  493.     logstart
  494.  
  495. 中断していた Tera Term のログを再開する。
  496.  
  497. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  498. 5.1.12 logwrite
  499.  
  500. 形式:
  501.     logwrite <string>
  502.  
  503. 文字列 <string> を Tera Term のログファイルに追加して書き込む。
  504.  
  505. このコマンドは Tera Term がログを取っている時だけ有効。ログを一時中断
  506. している時でも書き込むことができる。
  507.  
  508. 例:
  509.     logwrite 'LOG FILE'#13#10
  510.  
  511. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  512. 5.1.13 quickvanrecv
  513.  
  514. 形式:
  515.     quickvanrecv
  516.  
  517. Quick-VAN プロトコルでファイルを受信する。
  518. 受信が終わるまで次のコマンドは実行されない。
  519.  
  520. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  521. 5.1.14 quickvansend
  522.  
  523. 形式:
  524.     quickvansend <filename>
  525.  
  526. ファイル <filename> を Quick-VAN プロトコルで送信する。
  527. 送信が終わるまで次のコマンドは実行されない。
  528.  
  529. 例:
  530.     quickvansend 'readme.txt'
  531.  
  532. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  533. 5.1.15 send
  534.  
  535. 形式:
  536.     send <data1> <data2> ....
  537.  
  538. <data> が文字列型の場合、文字列をホストへ送信させる。
  539. <data> が整数型の場合は、その値の下位バイト(0-255)を ASCII コードと
  540. みなし、その文字を送信させる。
  541.  
  542. 例:
  543.     send 'ABC'
  544.  
  545.     send  65 66 67        'ABC' を送信させる。('A' の ASCII コードは65)
  546.  
  547.     myname='Tera Term'
  548.     send 'My name is ' myname '.'
  549.  
  550. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  551. 5.1.16 sendfile
  552.  
  553. 形式:
  554.     sendfile <filename> <binary flag>
  555.  
  556. ファイルを送信する。送信が終わるまで次のコマンドは実行されない。
  557.  
  558. <binary flag> の値が0以外のとき、ファイルの内容をそのまま送信する。
  559. <binary flag> の値が0のとき、ファイルの中に含まれる漢字、改行文字を変換
  560. して送信する。TAB ($09), LF ($0A), CR ($0D) 以外の制御文字は送信されない。
  561.  
  562. 例:
  563.     sendfile 'data.dat' 1
  564.  
  565. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  566. 5.1.17 sendln
  567.  
  568. 形式:
  569.     sendln <data1> <data2> ....
  570.  
  571. 文字列とそれに続く改行文字をホストへ送信させる。
  572. <data> の形式は、 "send" コマンド (5.1.15) と同じ。
  573.  
  574. 例:
  575.     sendln            改行文字だけ送信
  576.  
  577.     sendln 'abc'
  578.  
  579.     Password='mypassword'
  580.     sendln Password
  581.  
  582. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  583. 5.1.18 showtt
  584.  
  585. 形式:
  586.     showtt <show flag>
  587.  
  588. <show flag> が0の場合、 Tera Term を最小化する。
  589. <show flag> が0以外の場合、 Tera Term を元の大きさに戻す。
  590.  
  591. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  592. 5.1.19 wait
  593.  
  594. 形式:
  595.     wait <string1> <string2> ...
  596.  
  597. 文字列 <string> がホストから送られてくるか、タイムアウトが起こるまで
  598. TTL の実行を休止する。<string> は最大10個まで指定できる。
  599.  
  600. システム変数 timeout が0より大きい場合、<timeout> 秒の時間がすぎると
  601. タイムアウトが起こる。 timeout の値が0以下の場合は、タイムアウトは
  602. ない。
  603.  
  604. このコマンドの実行結果はシステム変数 result に格納される。
  605. 変数 result の値の意味は、
  606.  
  607.   値        意味
  608. --------------------------------------------
  609.    0        タイムアウト。どの文字列も来なかった。
  610.    1        <string1> が来た。
  611.    2        <string2> が来た。
  612.    .            .
  613.    .            .
  614.    .            .
  615.  
  616. 例:
  617.     timeout = 30            タイムアウトを30秒に設定。
  618.     wait 'OK' 'ERROR'        文字列 'OK か 'ERROR' を待つ。
  619.     if result=0 goto timeout    タイムアウトなら、:timeout へジャンプ。
  620.     if result=1 goto ok        'OK' が来たなら、:ok へジャンプ
  621.     if result=2 goto error        'ERROR' が来たなら、:error へジャンプ
  622.  
  623.     wait #10'>' 'complete.'#13    行先頭の '>' か、行末の 'complete.' を
  624.                     待つ。(ASCII コード10, 13は LF, CR)
  625.  
  626. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  627. 5.1.20 waitrecv
  628.  
  629. 形式:
  630.     waitrecv <sub-string> <len> <pos>
  631.  
  632. ある条件を満たす1つの文字列がホストから送られてくるか、タイムアウトが
  633. 起こるまで、TTL の実行を休止する。
  634.  
  635. その条件とは、文字列の長さが <len> 文字で、 文字列がその <pos> 文字目から
  636. 始まる副文字列 <sub-string> を含んでいるということ。
  637.  
  638. 例えば、<sub-string> が "def"、<len> が9、<pos> が4のとき、
  639. 文字列 "abcdefghi" は条件を満たす。
  640.  
  641. もし条件を満たす文字列が送られてきたら、システム変数 inputstr に保存される。
  642.  
  643. システム変数 timeout が0より大きい場合、その値の秒数の時間がすぎると
  644. タイムアウトが起きる。 timeout の値が0以下の場合は、タイムアウトは
  645. ない。
  646.  
  647. このコマンドの実行結果はシステム変数 result に格納される。
  648. 変数 result の値の意味は、
  649.  
  650. 値        意味
  651. ----------------------------------------------------------------------------
  652. -1        <pos> 文字目から始まる <sub-string> を含む文字列が来て、
  653.         inputstr に保存された。しかし文字列の長さは、タイムアウト
  654.         のために <len> 文字より短い。
  655.  
  656. 0        タイムアウト。条件を満たす文字列は送られてこなかった。
  657.  
  658. 1        条件をみたす文字列が来て、 inputstr に保存された。
  659.  
  660. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  661. 5.1.21 xmodemrecv
  662.  
  663. 形式:
  664.     xmodemrecv <filename> <binary flag> <option>
  665.  
  666. XMODEM プロトコルでファイル <filename> を受信する。
  667. 受信が終わるまで次のコマンドは実行されない。
  668.  
  669. ファイルがバイナリファイルの場合は、<binary flag> は0以外でなければならない。
  670. テキストファイルの場合は、<binary flag> は0でなければならない。
  671.  
  672. <option> によって、XMODEM のオプションを指定する。
  673.  
  674.     <option>    XMODEM option
  675.     --------------------------
  676.     1        Checksum
  677.     2        CRC
  678.     3        1K
  679.     それ以外    Checksum
  680.  
  681. 例:
  682.     xmodemrecv 'readme.txt' 0 2    XMODEM receive, Text file, CRC
  683.  
  684. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  685. 5.1.22 xmodemsend
  686.  
  687. 形式:
  688.     xmodemsend <filename> <option>
  689.  
  690. XMODEM プロトコルでファイル <filename> を送信する。
  691. 送信が終わるまで次のコマンドは実行されない。
  692.  
  693. <option> によって、XMODEM のオプションを指定する。
  694.  
  695.     <option>    XMODEM option
  696.     --------------------------
  697.     1        Checksum
  698.     2        CRC
  699.     3        1K
  700.     それ以外    Checksum
  701.  
  702. 例:
  703.     xmodemsend 'readme.txt' 1        XMODEM send, checksum
  704.  
  705. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  706. 5.1.23 zmodemrecv
  707.  
  708. 形式:
  709.     zmodemrecv
  710.  
  711. ZMODEM プロトコルでファイルを受信する。
  712. 受信が終わるまで次のコマンドは実行されない。
  713.  
  714. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  715. 5.1.24 zmodemsend
  716.  
  717. 形式:
  718.     zmodemsend <filename> <binary flag>
  719.  
  720. ファイル <filename> を ZMODEM プロトコルで送信する。
  721. 送信が終わるまで次のコマンドは実行されない。
  722.  
  723. ファイルがバイナリファイルの場合は、<binary flag> は0以外でなければならない。
  724. テキストファイルの場合は、<binary flag> は0でなければならない。
  725.  
  726. 例:
  727.     zmodem 'readme.txt' 0
  728.  
  729. ...............................................................................
  730. 5.2 制御コマンド
  731.  
  732. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  733. 5.2.1 call
  734.  
  735. 形式:
  736.     call <label>
  737.  
  738. <label> 行から始まるサブルーチンをコールする。
  739.  
  740. 例:
  741.     messagebox "I'm in main." "test"
  742.     call sub                ":sub" へ飛ぶ。
  743.     messagebox "Now I'm in main" "test"
  744.     end
  745.  
  746.     :sub                    サブルーチンの始まり。
  747.       messagebox "Now I'm in sub" "test"
  748.       return                メインルーチンへもどる。
  749.  
  750. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  751. 5.2.2 end
  752.  
  753. 形式:
  754.     end
  755.  
  756. TTL の実行を終了する。TTMACRO も終了する。
  757.  
  758. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  759. 5.2.3 execcmnd
  760.  
  761. 形式:
  762.     execcmnd <statement>
  763.  
  764. 文字列 <statement> が表現する TTL コマンド を実行する。
  765.  
  766. 例:
  767.     execcmnd "send 'abc'"        コマンド "send 'abc'" を実行。
  768.  
  769.     execcmnd "a=1"
  770.  
  771. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  772. 5.2.4 exit
  773.  
  774. 形式:
  775.     exit
  776.  
  777. インクルードファイルから抜け、メインファイルへ戻る。
  778.  
  779. 例:    5.2.8 を参照。
  780.  
  781. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  782. 5.2.5 for, next
  783.  
  784. 形式:
  785.     for <intvar> <first> <last>
  786.       ...
  787.       ...
  788.     next
  789.  
  790. "for" と "next" の間のコマンドを、整数変数 <intvar> の値が <last> と等しく
  791. なるまで、繰りかえす。
  792.  
  793. <intvar> の初期値は <first> 。もし <last> が <fast> より大きい場合、
  794. <intvar> は "next" 行に来るたびに 1 足される。もし <last> が <fast> 
  795. より小さい場合、<intvar> は "next" 行にくるたびに 1 引かれる。
  796.  
  797. 例:
  798.     for i 1 10        10回繰り返す。
  799.       sendln 'abc'
  800.     next
  801.  
  802.     for i 5 1        5回繰り返す。
  803.       sendln 'abc'
  804.     next
  805.  
  806. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  807. 5.2.6 goto
  808.  
  809. 形式:
  810.     goto <label>
  811.  
  812.  <label> 行の次の行へジャンプする。
  813.  
  814. 例:
  815.     goto label        ':label' の次の行へジャンプ。
  816.     ...
  817.     ...
  818.     ...
  819.     :label        ラベル行
  820.     send 'abc'
  821.  
  822. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  823. 5.2.7 if, then, elseif, else, endif
  824.  
  825. 1) 形式:
  826.     if <int> <statement>
  827.  
  828. もし <int> が0以外ならば、コマンド <statement> を実行する。
  829.  
  830. 例:
  831.     if A>1 goto label        もし A>1 ならば、':label' へ飛ぶ。
  832.  
  833.     if result A=0            もし result<>0 ならば、A に0を代入。
  834.  
  835. 2) 形式:
  836.     if <int 1> then
  837.       ...
  838.       (<int 1> が真(0以外)の場合に実行されるコマンド)
  839.       ...
  840.     [elseif <int 2>]
  841.       ...
  842.       (<int 1> が偽(0)で、<int 2>が真の場合に実行されるコマンド)
  843.       ...
  844.       ...
  845.     [elseif <int N>]
  846.       ...
  847.       (<int 1>, <int 2>,.., <int N-1> がすべて偽で、<int N> が真
  848.       の場合に実行されるコマンド)
  849.       ...
  850.     [else]
  851.       ...
  852.       (上の条件すべてが偽の場合に実行されるコマンド)
  853.       ...
  854.     endif
  855.  
  856. 'then' は 'if' 行の最後になければならない。
  857. 'elseif' と 'else' はなくてもよい。
  858. 'then' と 'endif' は必ず必要。
  859.  
  860. 例:
  861.     if a=1 then
  862.       b = 1
  863.       c = 2
  864.       d = 3
  865.     endif
  866.  
  867.     if i<0 then
  868.       i=0
  869.     else
  870.       i=i+1
  871.     endif
  872.  
  873.     if i=1 then
  874.       c = '1'
  875.     elseif i=2
  876.       c = '2'
  877.     elseif i=3
  878.       c = '3'
  879.     else
  880.       c = '?'
  881.     endif
  882.  
  883. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  884. 5.2.8 include
  885.  
  886. 形式:
  887.     include <include file name>
  888.  
  889. インクルードファイルに移る。
  890.  
  891. 例:
  892.     ----- メインファイル 'main.ttl' ------
  893.     i=10
  894.     :loop
  895.     include 'sub.ttl'        インクルードファイルへ移る。
  896.     if i>=0 goto loop
  897.     end
  898.     --------------------------------------
  899.  
  900.     ----- インクルードファイル 'sub.ttl' ----
  901.     if i<0 then
  902.       messagebox 'error!' 'sub'
  903.       exit                メインファイルへ戻る。
  904.     endif
  905.     i = i - 1
  906.     ----- インクルードファイル終わり --------    メインファイルへ戻る。
  907.  
  908. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  909. 5.2.9 pause
  910.  
  911. 形式:
  912.     pause <time>
  913.  
  914. TTL の実行を <time> 秒だけ休止する。
  915.  
  916. 例:
  917.     pause 10            10秒休止
  918.  
  919.     pause Time
  920.  
  921. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  922. 5.2.10 return
  923.  
  924. 形式:
  925.     return
  926.  
  927. サブルーチンを抜け、メインルーチンへ戻る。
  928.  
  929. 例:    5.2.1 参照。
  930.  
  931. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  932. 5.2.11 while, endwhile
  933.  
  934. 形式:
  935.     while <int>
  936.       ...
  937.       ...
  938.       ...
  939.     endwhile
  940.  
  941. 'while' と 'endwhile' の間のコマンドを、 <int> が0以外である限り、繰り返す。
  942.  
  943. 例:
  944.     i = 10
  945.     while i>0
  946.       i = i - 1    10回繰り返す。
  947.     endwhile
  948.  
  949. ...............................................................................
  950. 5.3 文字列操作コマンド
  951.  
  952. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  953. 5.3.1 str2int
  954.  
  955. 形式:
  956.     str2int <intvar> <string>
  957.  
  958. 10進数表現の文字列 <string> を整数値に変換し、整数変数 <intvar> に代入する。
  959. 正常に変換できた場合は1、できなかった場合は0がシステム変数 result に
  960. 代入される。
  961.  
  962. 例:
  963.     str2int val '123'        val=123, result=1
  964.  
  965.     str2int val '123abc'        result=0
  966.  
  967. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  968. 5.3.2 strcompare
  969.  
  970. 形式:
  971.     strcompare <string1> <string2>
  972.  
  973. 2つの文字列 <string1>, <string2> を比較し、結果をシステム変数 result に代入
  974. する。
  975.  
  976. 文字列の文字コード表現を符号なし整数(最初の文字が最上位バイト)とみなし、
  977. 2つの文字列に対応する整数値の大小関係を求め、それに応じて以下のように
  978. result の値が決定される。
  979.  
  980.       大小関係     resultの値
  981.   --------------------------------- 
  982.   <文字列1> < <文字列2>     -1
  983.   <文字列1> = <文字列2>      0
  984.   <文字列1> > <文字列2>      1
  985.  
  986. 例:
  987.     strcompare 'abc' 'def'    結果は result = -1
  988.  
  989.     strcompare command 'next'
  990.     if result=0 goto label
  991.     strcompare command 'end'
  992.     if result=0 end
  993.  
  994. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  995. 5.3.3 strconcat
  996.  
  997. 形式:
  998.     strconcat <strvar> <string>
  999.  
  1000. 文字列変数 <strvar> の文字列値の最後に 文字列 <string> を継ぎ足す。
  1001.  
  1002. 例:
  1003.     filename = 'c:\teraterm\'
  1004.     strconcat filename 'test.txt'        filename='c:\teraterm\test.txt'
  1005.  
  1006. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1007. 5.3.4 strcopy
  1008.  
  1009. 形式:
  1010.     strcopy <string> <pos> <len> <strvar>
  1011.  
  1012. 文字列 <string> の <pos> 文字目から <len> 文字分を文字列変数 <strvar>
  1013. にコピーする。
  1014.  
  1015. 例:
  1016.     strcopy 'tera term' 6 4 substr        substr='term'
  1017.  
  1018. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1019. 5.3.5 strlen
  1020.  
  1021. 形式:
  1022.     strlen <string>
  1023.  
  1024. 文字列 <string> の長さをシステム変数 result に格納する。
  1025.  
  1026. 例:
  1027.     strlen 'abc'        result の値は3
  1028.  
  1029. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1030. 5.3.6 strscan
  1031.  
  1032. 形式:
  1033.     strscan <string> <substring>
  1034.  
  1035. 文字列 <string> の中に 副文字列 <substring> が含まれているかどうか調べる。
  1036. もし、 <substring> が見つかった場合、その位置がシステム変数 result に格納
  1037. される。<substring> が複数含まれている場合、最初のものの位置が格納される。
  1038. もし、<substring> が見つからなかった場合、 result に0が格納される。
  1039.  
  1040. 例:
  1041.     strscan 'tera term' 'term'        result の値は6
  1042.  
  1043. ...............................................................................
  1044. 5.4 ファイル操作コマンド
  1045.  
  1046. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1047. 5.4.1 fileclose
  1048.  
  1049. 形式:
  1050.     fileclose <file handle>
  1051.  
  1052. ファイルハンドル <file handle> で指定されるファイルをクローズする。
  1053. このコマンド実行後、<file handle> は無効となる。
  1054.  
  1055. 例:
  1056.     fileclose fhandle
  1057.  
  1058. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1059. 5.4.2 fileconcat
  1060.  
  1061. 形式:
  1062.     fileconcat <file1> <file2>
  1063.  
  1064. ファイル <file2> の内容をファイル <file1> の最後に
  1065. 追加する。<file1> と <file2> は違うファイルでなければならない。
  1066.  
  1067. 例:
  1068.     fileconcat 'test.dat' test2.dat'
  1069.  
  1070. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1071. 5.4.3 filecopy
  1072.  
  1073. 形式:
  1074.     filecopy <file1> <file2>
  1075.  
  1076. ファイル <file1> をコピーし、ファイル <file2> を作成する。
  1077. <file2> がすでに存在する場合は上書きされる。
  1078. <file1> と <file2> は違う名前でなければならない。
  1079.  
  1080. 例:
  1081.     filecopy 'test.dat' 'test2.dat'
  1082.  
  1083. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1084. 5.4.4 filecreate
  1085.  
  1086. 形式:
  1087.     filecreate <file handle> <filename>
  1088.  
  1089. ファイル <filename> を新しく作成しオープンする。
  1090. ファイルポインタはファイルの先頭にセットされる。すでに同じ名前の
  1091. ファイルが存在する場合、ファイルサイズは0にされる。もしファイルが
  1092. 正しく作成され、オープンされた場合、ファイルハンドルが整数変数
  1093. <file handle> に格納される。それ以外の場合、<file handle> に
  1094. -1が格納される。
  1095.  
  1096. 例:
  1097.     filecreate fhandle 'data.dat'
  1098.  
  1099. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1100. 5.4.5 filedelete
  1101.  
  1102. 形式:
  1103.     filedelete <filename>
  1104.  
  1105. ファイル <filename> を削除する。
  1106.  
  1107. 例:
  1108.     filedelete 'temp.log'
  1109.  
  1110. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1111. 5.4.6 fileopen
  1112.  
  1113. 形式:
  1114.     fileopen <file handle> <filename> <append flag>
  1115.  
  1116. ファイル <filename> をファイルをオープンする。
  1117. ファイルが存在しない場合は、新たに作成されてからオープンされる。
  1118. もしファイルが正しくオープンされた場合、ファイルハンドルが整数変数
  1119. <file handle> に格納される。それ以外の場合、<file handle> に-1が格納
  1120. される。
  1121.  
  1122. <append flag> が0の場合、ファイルポインタの位置はファイルの始め
  1123. にセットされる。<append flag> が0以外の場合、ファイルポインタは
  1124. ファイルの最後にセットされる。
  1125.  
  1126. 例:
  1127.     fileopen fhandle 'data.dat' 0    ファイルポインタは先頭
  1128.  
  1129.     fileopen fhandle 'data.dat' 1    ファイルポインタは最後
  1130.  
  1131. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1132. 5.4.7 filereadln
  1133.  
  1134. 形式:
  1135.     filereadln <file handle> <strvar>
  1136.  
  1137. ファイルハンドル <file handle> で指定されるファイルから一行読む。
  1138. 読み込まれた行は、文字列変数 <strvar> に格納される。
  1139. ファイルポインタは次の行の始めへ移動する。もし、行を読んでいる間に
  1140. ファイルポインタがファイルの最後に達した場合、システム変数 result
  1141. に1が格納される。それ以外の場合、result に0が格納される。
  1142.  
  1143. 例:
  1144.     fileopen fhandle 'test.txt' 0        ファイルオープン
  1145.     :loop
  1146.     filereadln fhandle line            一行読み込み
  1147.     if result goto fclose
  1148.     messagebox line 'test.txt'        読み込んだ行を表示
  1149.     goto loop                ファイル最後まで繰り返す
  1150.     :fclose
  1151.     fileclose fhandle            ファイルクローズ
  1152.  
  1153. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1154. 5.4.8 filerename
  1155.  
  1156. 形式:
  1157.     filerename <file1> <file2>
  1158.  
  1159. ファイル <file1> を <file2> という名前に変更する。
  1160. <file1> と <file2> は違う名前でなければならない。
  1161.  
  1162. 例:
  1163.     filerename 'test.dat' test2.dat'
  1164.  
  1165. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1166. 5.4.9 filesearch
  1167.  
  1168. 形式:
  1169.     filesearch <filename>
  1170.  
  1171. ファイル <filename> が存在するかどうか調べる。
  1172. 存在する場合は、システム変数 result に1が返る。
  1173. 存在しない場合は、result に0が返る。
  1174.  
  1175. 例:
  1176.     filesearch 'readme.txt'
  1177.     if result=0 messagebox 'File not found.' 'error'
  1178.  
  1179. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1180. 5.4.10 fileseek
  1181.  
  1182. 形式:
  1183.       fileseek <file handle> <offset> <origin>
  1184.  
  1185. ファイルハンドル <file handle> で指定されるファイルの
  1186. ファイルポインタを移動する。
  1187.  
  1188. 移動後のファイルポインタは、
  1189.  
  1190. <origin> が0のとき、ファイルの最初から <offset> バイト
  1191. <origin> が1のとき、現在の位置から <offset> バイト
  1192. <origin> が2のとき、ファイルの最後から <offset> バイト
  1193.  
  1194. となる。
  1195.  
  1196. 例:
  1197.     fileseek fhandle 0 0        ファイルの最初へ移動
  1198.  
  1199.     fileseek fhandle 10 1        現在の位置から10バイト先へ移動
  1200.  
  1201.     fileseek fhandle 0 2        ファイルの最後へ移動
  1202.  
  1203. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1204. 5.4.11 filestrseek
  1205.  
  1206. 形式:
  1207.     filestrseek <file handle> <string>
  1208.  
  1209. ファイルハンドル <file handle> で指定されるファイルから、
  1210. 文字列 <string> を検索する。検索は現在のファイルポインタの位置から開始する。
  1211.  
  1212. <string> が見つかった場合、ファイルポインタは <string> の次の文字の位置になり、
  1213. システム変数 result に1が格納される。
  1214. <string> が見つからなかった場合、ファイルポインタは移動せず、システム変数
  1215. result に0が格納される。
  1216.  
  1217. 例:
  1218.     fileopen fhandle 'teraterm.log' 0    ファイル 'teraterm.log' から
  1219.     filestrseek fhandle 'abc'        文字列 'abc' を検索し、
  1220.     if result=0 goto not_found
  1221.     filereadln fhandle str            'abc' からその行の終わりまで
  1222.     :not_found                を読み込みstrに格納
  1223.     fileclose fhandle
  1224.  
  1225. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1226. 5.4.12 filewrite
  1227.  
  1228. 形式:
  1229.     filewrite <file handle> <string>
  1230.  
  1231. ファイルハンドル <file handle> で指定されるファイルへ、
  1232. 文字列 <string> を書き込む。
  1233.  
  1234. 例:
  1235.     filewrite fhandle '---------cut here---------'#13#10
  1236.  
  1237. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1238. 5.4.13 filewriteln
  1239.  
  1240. 形式:
  1241.     filewriteln <file handle> <string>
  1242.  
  1243. ファイルハンドル <file handle> で指定されるファイルへ、
  1244. 文字列 <string> と改行文字 (CR+LF) を書き込む。
  1245.  
  1246. 例:
  1247.     filewriteln fhandle '---------cut here---------'
  1248.  
  1249. ...............................................................................
  1250. 5.5 その他のコマンド
  1251.  
  1252. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1253. 5.5.1 beep
  1254.  
  1255. 形式:
  1256.     beep
  1257.  
  1258. ビープ音を鳴らす。
  1259.  
  1260. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1261. 5.5.2 exec
  1262.  
  1263. 形式:
  1264.     exec <command line>
  1265.  
  1266. コマンドライン文字列 <command line> に従い、アプリケーションを起動する。
  1267.  
  1268. 例:
  1269.     exec 'notepad readme.txt'        「メモ帳」を起動
  1270.  
  1271. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1272. 5.5.3 getdate
  1273.  
  1274. 形式:
  1275.     getdate <strvar>
  1276.  
  1277. 現在の日付を文字列変数 <strvar> に格納する。形式は "YYYY-MM-DD"。
  1278.  
  1279. 例:
  1280.     getdate datestr
  1281.  
  1282. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1283. 5.5.4 gettime
  1284.  
  1285. 形式:
  1286.     gettime <strvar>
  1287.  
  1288. 現在の時刻を文字列変数 <strvar> に格納する。 形式は"HH:MM:SS"。
  1289.  
  1290. 例:
  1291.     gettime timestr
  1292.  
  1293. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1294. 5.5.5 inputbox
  1295.  
  1296. 形式:
  1297.     inputbox <message> <title>
  1298.  
  1299. 文字列を入力するためのダイアログボックスを開く。文字列 <message> はダイアログ
  1300. ボックスに表示されるメッセージ、文字列 <title> はダイアログボックスのタイトル。
  1301. 入力された文字列はシステム変数 inputstr に代入される。
  1302.  
  1303. 例:
  1304.     inputbox 'Password:' 'Login'
  1305.     sendln inputstr
  1306.  
  1307. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1308. 5.5.6 int2str
  1309.  
  1310. 形式:
  1311.     int2str <strvar> <integer value>
  1312.  
  1313. 整数値 <integer value> を10進表現の文字列に変換して文字列型変数 <strvar>
  1314. に代入する。
  1315.  
  1316. 例:
  1317.     int2str valstr 123        valstrに '123' を代入
  1318.  
  1319. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1320. 5.5.7 messagebox
  1321.  
  1322. 形式:
  1323.     messagebox <message> <title>
  1324.  
  1325. ダイアログボックスを開き、ユーザーにメッセージを知らせる。文字列 <message> は
  1326. ダイアログボックスに表示されるメッセージ、文字列 <title> はダイアログ
  1327. ボックスのタイトル。
  1328.  
  1329. 例:
  1330.     messagebox ErrorMessage 'Error'
  1331.  
  1332. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1333. 5.5.8 passwordbox
  1334.  
  1335. 形式:
  1336.     passwordbox <message> <title>
  1337.  
  1338. パスワードを入力するためのダイアログボックスを開く。
  1339. 文字列 <message> はダイアログボックスに表示されるメッセージ、文字列 <title> は
  1340. ダイアログボックスのタイトル。入力されるパスワードはそのまま表示されず、
  1341. かわりに、"****" のように表示される。入力されたパスワードはシステム変数
  1342. inputstr に代入される。
  1343.  
  1344. 例:
  1345.     passwordbox 'Enter password' 'Login'
  1346.  
  1347. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1348. 5.5.9 show
  1349.  
  1350. 形式:
  1351.     show <show flag>
  1352.  
  1353. <show flag> が0の場合、TTMACRO を最小化する。
  1354. <show flag> が0以外の場合、TTMACRO を元の大きさに戻す。
  1355.  
  1356. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1357. 5.5.10 yesnobox
  1358.  
  1359. 形式:
  1360.     yesnobox <message> <title>
  1361.  
  1362. Dialog boxを開き。ユーザーに「はい」/「いいえ」を選択させる。
  1363. 文字列 <message> はダイアログボックスに表示されるメッセージ、
  1364. 文字列 <title> はダイアログボックスのタイトル。
  1365.  
  1366. 「はい」ボタンが押された場合、システム変数 resultに1が格納される。
  1367. 「いいえ」ボタンが押された場合、result に0が格納される。
  1368.  
  1369. 例:
  1370.     yesnobox 'もう一回やりますか?' 'Tera Term'
  1371.     if result goto retry
  1372.     end
  1373.  
  1374. -------------------------------------------------------------------------------
  1375.  6. 補足説明
  1376.  
  1377. ...............................................................................
  1378. エラーメッセージ
  1379.  
  1380.  エラーメッセージ            意味
  1381.  ---------------------------------------------------------------------------
  1382.  Can't call sub.        サブルーチンを呼べない。サブルーチンは
  1383.                 別のファイルにある。
  1384.  
  1385.  Can't link macro.        TTMACRO と Tera Term の間の接続に失敗。
  1386.  
  1387.  Can't open file.        インクルードファイルが存在しないか、
  1388.                 インクルードの階層が深すぎる。
  1389.  
  1390.  ")" expected.            カッコが閉じていない。
  1391.  
  1392.  Link macro first.        TTMACRO と Tera Term の間の接続が確立して
  1393.                 ないため、コマンドが実行できない。
  1394.  
  1395.  Divide by zero.        0で割ろうとした。
  1396.  
  1397.  Invalid control.        "else", "elseif", "endif" の誤った使用。
  1398.  
  1399.  Label already defined.        ラベル名の多重使用。
  1400.  
  1401.  Label requiered.        ラベルが見つからない。
  1402.  
  1403.  Stack overflow.        サブルーチン、"for-next" ループ、
  1404.                 "while-endwhile" の階層が深すぎる。
  1405.  
  1406.  Syntax error.            コマンドの形式が間違っている。
  1407.  
  1408.  Too many labels.        ラベルの数が多すぎる。(最大256個)
  1409.  
  1410.  Too many variables.        変数の数が多すぎる。(整数型、文字列型
  1411.                 それぞれ最大128個ずつ)
  1412.  
  1413.  Type mismatch.            定数または変数の型が間違っている。
  1414.  
  1415.  Variable not initialized.    初期化されてない変数を参照した
  1416.  
  1417. ...............................................................................
  1418. 改行文字について
  1419.  
  1420. ホストから送られてくる改行文字 (CR または CR+LF) は Tera Term に
  1421. よって CR+LF に変換され TTMACRO に渡される。
  1422.  
  1423. Tera Term へ送る改行文字は CR+LF を用いる。
  1424.  
  1425. CR、LF の ASCII コードはそれぞれ13、10(10進数)。
  1426.  
  1427. 例: 
  1428.   send 'abc'#13#10        "sendln 'abc'" と同じ。実際にホストへ送られる
  1429.                  改行文字はTera Termの設定により決まる。
  1430.  
  1431.   wait #10'abc' 'def'#13    行頭の "abc"、行末の "def" を待つ。
  1432.  
  1433.   logwrite 'abc'#13#10        ログファイルに改行文字を書き込む場合は
  1434.                 必ずCR+LFにする。
  1435.  
  1436. ...............................................................................
  1437.  
  1438. -------------------------------------------------------------------------------