home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 December / VPR9712A.ISO / OLS / WIN32 / TTERMP22 / ttpmacrj.tx_ / ttpmacrj.tx
Text File  |  1997-06-30  |  51KB  |  1,950 lines

  1.     TTPMACRO for Tera Term
  2.     T. Teranishi
  3.  
  4.     Copyright (C) 1994-1997 T. Teranishi
  5.     All Rights Reserved.
  6.  
  7. -------------------------------------------------------------------------------
  8. 目次
  9.  
  10. 1. 概要
  11.  
  12. 2. 使用法
  13.  
  14.   2.1 マクロ実行法
  15.   2.2 コマンドライン
  16.   2.3 "TTL" ファイルを TTPMACRO.EXE に関連付ける方法
  17.  
  18. 3. マクロ言語 "Tera Term Language (TTL)"
  19.  
  20.   3.1 データ型
  21.   3.2 定数の形式
  22.   3.3 名前の形式
  23.   3.4 変数
  24.   3.5 式と演算子
  25.   3.6 行の形式
  26.  
  27. 4. TTL コマンドリファレンス
  28.  
  29.   4.1 通信コマンド  
  30.   4.2 制御コマンド
  31.   4.3 文字列操作コマンド
  32.   4.4 ファイル操作コマンド
  33.   4.5 パスワードコマンド
  34.   4.6 その他のコマンド
  35.  
  36. 5. 補足説明
  37.   エラーメッセージ
  38.   改行文字について    
  39.  
  40. -------------------------------------------------------------------------------
  41. 1. 概要
  42.  
  43. TTPMACRO は Tera Term 用マクロ実行プログラムです。マクロ言語
  44. "Tera Term Language (TTL)" によって、 Tera Term を制御し、オートダイアル、
  45. オートログインなどの機能を実現することができます。
  46.  
  47. -------------------------------------------------------------------------------
  48. 2. 使用法
  49.  
  50. ...............................................................................
  51. 2.1 マクロ実行法
  52.  
  53. TTPMACRO.EXE は TTERMPRO.EXE があるディレクトリに置かれていなければ
  54. なりません。
  55.  
  56. マクロファイルを実行するには、2通りの方法があります。
  57.  
  58. 1) Tera Term からマクロを実行する。
  59.  
  60. Tera Term の [Control] Macro コマンドを実行してください。すると、TTPMACRO
  61. が起動し、マクロファイル (*.TTL) を選択するダイアログボックスが現れるので、
  62. 実行したいマクロファイルを選択してください。
  63.  
  64. 2) TTPMACRO を直接起動し、マクロを実行する。 (Tera Term はマクロから起動。)
  65.  
  66. TTPMACRO を起動するときのコマンドライン(ショートカットのリンク先)で
  67. マクロファイル名を指定することができます。例えばマクロファイル "DIALUP.TTL"
  68. を実行したい場合、コマンドライン(ショートカットのリンク先)は、
  69.  
  70.     TTPMACRO DIALUP.TTL
  71.  
  72. と指定してください。マクロファイル名の拡張子 ".TTL" は省略可能です。マクロ
  73. ファイル名を省略すると、TTPMACRO 起動後にマクロファイルを選択するダイアログ
  74. ボックスが現れます。よく使用するマクロは、アイコン(ショートカット)を作成
  75. しておくと便利です。
  76.  
  77. 方法 2) で、TTPMACRO を起動した場合、マクロコマンド connect によって、
  78. Tera Term を起動することができます。 Connect コマンドの説明は 4.1.5 を読んで
  79. ください。
  80.  
  81. マクロ実行中は、「TTPMACRO - <マクロファイル名>」というアイコンまたはダイアログ
  82. ボックスがあらわれます。ダイアログボックスの「Pause」/「Start」/「End]ボタンを
  83. 押すとマクロを停止/再開/終了することができます。
  84.  
  85. ...............................................................................
  86. 2.2 TTPMACRO.EXE のコマンドライン
  87.  
  88. TTPMACRO.EXE [/I] [/V] [<macro file> [<second param>] [<third param>]]
  89.  
  90. ここで:
  91.     /I        起動時に TTPMACRO をアイコン化
  92.     /V        起動時に TTPMACRO を隠す
  93.     <macro file>    マクロファイル名
  94.     <second param>    システム変数 param2 に格納される文字列
  95.     <third param>    システム変数 param3 に格納される文字列
  96.  
  97. システム変数 param2, param3 については "3.4 変数" 参照。
  98.  
  99. ...............................................................................
  100. 2.3 "TTL" ファイルを TTPMACRO.EXE に関連付ける方法
  101.  
  102. 拡張子 ".TTL" を持つマクロファイルを TTPMACRO に関連付けるには、以下
  103. のようにしてください。
  104.  
  105. a) Windows 95 とWindows NT 4.0 の場合
  106.   a-1) エクスプローラの [表示]-[オプション] を実行する。
  107.  
  108.   a-2) 「ファイル タイプ」タブを選ぶ。
  109.  
  110.   a-3) 「追加」ボタンを押し、以下のように各項目を設定する。
  111.     タイプの説明:    Tera Term macro files
  112.     関連付けられた拡張子:    TTL
  113.  
  114.  a-4) 「アクション」の「追加」ボタンを押し、各項目を以下のように
  115.         設定する。
  116.     アクション:    実行
  117.     アクションを実行するアプリケーション:
  118.             "C:\Program Files\TTERMPRO\TTPMACRO.EXE" "%1"
  119.             (Tera Term Pro が C:\Program Files\TTERMPRO に
  120.              インストールされている場合)
  121.  
  122.   a-5) 開かれているダイアログボックスの「OK」ボタンをすべて押す。
  123.  
  124.  b) Windows NT 3.51 の場合
  125.   b-1)    ファイルマネージャの [ファイル]-[アプリケーションとの関連付け]を
  126.      実行する。
  127.  
  128.   b-2)    以下のように書く項目を設定し、「OK」ボタンを押す。
  129.       拡張子: TTL
  130.       実行されるアプリケーションプログラム:
  131.           "C:\TTERMPRO\TTPMACRO.EXE" "%1"
  132.           (Tera Term Pro が C:\TTERMPRO\TTERMPRO に
  133.            インストールされている場合)
  134.  
  135. -------------------------------------------------------------------------------
  136. 3. マクロ言語 "Tera Term Language (TTL)"
  137.  
  138. TTL は BASIC に似た単純なインタープリタ型の言語です。
  139. はやく覚えるには、配布パッケージに含まれるマクロファイルのサンプルを参考に
  140. し、「4. TTL コマンドリファレンス」を読んで下さい。
  141.  
  142. ...............................................................................
  143. 3.1 データ型
  144.  
  145. TTL が扱えるデータの型は2種類。
  146.  
  147.     整数
  148.         符号付き 32 bit, -2147483648から2147483647まで。
  149.  
  150.     文字列
  151.         NUL 文字を除くすべての文字を含むことができる。
  152.         最大長は255文字。
  153. ...............................................................................
  154. 3.2 定数の形式
  155.  
  156. 1) 整数型定数
  157.  
  158.     10進数で表現する。
  159.  
  160.     例:
  161.         123
  162.         -11
  163.  
  164. 2) 文字列型定数
  165.  
  166.     文字列型定数を表現する方法は2つ。
  167.  
  168.     a) 値となる文字列の両端を ' か " で囲む(両端とも同じ文字で)。
  169.        文字列値を構成する文字は表示可能で囲み文字と異なる文字ならば
  170.        何でもよい。
  171.  
  172.     例:
  173.         'Hello, world!'
  174.         "I can't do that."
  175.         "漢字も可能"
  176.  
  177.     b) 1文字を ASCII (または JIS ローマ字、Shift-JIS) コード(10進数)
  178.        で表現し、先頭に "#" をつける。ASCII コード 0 の文字 (NUL) は
  179.        文字列定数に含めることができない。
  180.  
  181.     例:
  182.         #65        文字 "A"
  183.         #13        CR 文字
  184.  
  185.       a) と b) は組み合わせることが可能。
  186.  
  187.     例:
  188.         'cat readme.txt'#13#10        普通の文字列+改行
  189.         abc'#13#10'def'#13#10'ghi'
  190.  
  191. ...............................................................................
  192. 3.3 名前の形式
  193.  
  194. 1) 変数の名前
  195.  
  196. 1文字目は、アルファベット (A-Z, a-z) か "_"、2文字目以降はアルファベットか "_"
  197. か数字 (0-9)。アルファベットの大文字と小文字は区別されない。最大長は32文字。
  198.  
  199.     例:
  200.         send
  201.         VARIABLE1
  202.         _flag
  203.  
  204. 2) ラベルの名前
  205.  
  206. アルファベット (A-Z, a-z) か "_" か数字 (0-9) で構成される。最大長は32文字。
  207.  
  208.     例:
  209.         label1
  210.         100
  211.  
  212. 3) 予約語
  213.  
  214. 以下に示す名前は、コマンドや演算子、システム変数として使われる。ユーザーが
  215. 定義する変数やラベルの名前として使うことはできない。
  216.  
  217. コマンド:
  218.     bplusrecv, bplussend, changedir... (4. のコマンドリストを参照)
  219.  
  220. 演算子:
  221.     and, not, or, xor
  222.  
  223. システム変数:
  224.     inputstr, param2, param3, result, timeout
  225.  
  226. ...............................................................................
  227. 3.4 変数
  228.  
  229. 1) ユーザー変数
  230.  
  231. ユーザーにより定義される。型および値は初めて値が代入されたときに決まる。
  232. いったん型が決まると違う型の値を代入することはできない。
  233.  
  234. 2) システム変数
  235.  
  236. あらかじめ型と値が定義され、特定のコマンドと共に使用される。
  237.  
  238. 名前        型    初期値    システム変数を使用するコマンド
  239. -----------------------------------------------------------------
  240. inputstr    文字列    ""    recvln, waitln, waitrecv,
  241.                 passwordbox, inputbox
  242. param2        文字列    *1    *1
  243. param3        文字列    *1    *1
  244. result        整数    0    recvln, wait, waitevent, waitln,
  245.                 waitrecv, str2int, strcompare, strlen,
  246.                 strscan, filereadln, filesearch,
  247.                 filestrseek, yesnobox
  248. timeout        整数    0    recvln, wait, waitevent, waitln, waitrecv
  249.  
  250.     *1 TTPMACRO 起動時のコマンドラインパラメータの2, 3番目が
  251.        システム変数 param2, param3 の初期値となる。1番目の文字列は
  252.        マクロファイル名。"2.2 コマンドライン" 参照。
  253.  
  254. ...............................................................................
  255. 3.5 式と演算子
  256.  
  257. 式は、定数、変数、演算子、カッコで表現する。定数と変数は整数型のみ。結果も
  258. 整数型。関係演算子を用いた式の結果の値は、真のとき1、偽のとき0となる。
  259.  
  260. 演算子の優先順位による分類は以下のとおり
  261.  
  262. 種類        優先順位    演算子
  263. ------------------------------------------------------------
  264. 単項演算子    1, 最高        not
  265. 乗除演算子    2        *  /
  266. 加減演算子    3        +  -  or  xor
  267. 関係演算子    4, 最低        =  <>  <  >  <=  >=
  268.  
  269. 例:
  270.     1 + 1
  271.     4 - 2 * 3    この式の値は-2
  272.     3 * (A + 2)    Aは整数型の変数
  273.     A and not B
  274.     A <= B        A, Bは整数型の変数。結果の値は真のとき1、偽のとき0
  275.  
  276. ...............................................................................
  277. 3.6 行の形式
  278.  
  279. 行の形式は以下の5つに分類できる。
  280.  
  281. 1) 空白行
  282.  
  283. 文字がない行や空白文字 (space または tab) だけの行は無視され、TTL の実行
  284. 結果に影響をあたえない。
  285.  
  286. 2) コメント行
  287.  
  288. ";" で始まる行。TTL の実行結果に影響を与えない。
  289.  
  290.     例:
  291.         ; Tera Term Language
  292.  
  293. 3) コマンド行
  294.  
  295. 1つのコマンド名と0個以上のパラメータ。(if コマンドは例外。4.2.7 参照)。
  296.  
  297.     形式:
  298.         <コマンド> <パラメータ> ...
  299.     例:
  300.         connect'myhost'
  301.         wait 'OK' 'ERROR'
  302.         if result=2 goto error
  303.         sendln 'cat'
  304.         pause  A*10
  305.         end
  306.  
  307. 4) 代入行
  308.  
  309. 変数に値を代入する。
  310.  
  311.     形式:
  312.         <変数>  = <定数、変数、式>
  313.     例:
  314.     A = 33        数値の代入
  315.     B = C        C はすでに値が代入されてなければならない。
  316.     VAL = I*(I+1)
  317.     A=B=C        B=C の結果 (真:1、偽:0) がAに代入される。
  318.     Error=0<J
  319.     UserName='MYNAME'    文字列の代入
  320.   
  321. 5) ラベル行
  322.  
  323. ":" とその直後に続くラベル名からなる。
  324.  
  325.     形式:
  326.         :<label name>
  327.     例:
  328.         :dial
  329.         :300
  330.  
  331. -------------------------------------------------------------------------------
  332. 4. TTL コマンドリファレンス
  333.  
  334. コマンドの分類
  335.  
  336. "** new **" はこのバージョンで新しく追加されたコマンド
  337. "** changed **" はこのバージョンで変更されたコマンド
  338.  
  339. 4.1 通信コマンド
  340.  
  341.     4.1.1 bplusrecv
  342.     4.1.2 bplussend
  343.     4.1.3 changedir
  344.     4.1.4 closett        ** changed **
  345.     4.1.5 connect        ** changed **
  346.     4.1.6 disconnect    ** new **
  347.     4.1.7 flushrecv        ** new **
  348.     4.1.8 gettitle        ** new **
  349.     4.1.9 kmtrecv
  350.     4.1.10 kmtsend
  351.     4.1.11 loadkeymap    ** new **
  352.     4.1.12 logclose
  353.     4.1.13 logopen
  354.     4.1.14 logpause
  355.     4.1.15 logstart
  356.     4.1.16 logwrite
  357.     4.1.17 quickvanrecv
  358.     4.1.18 quickvansend
  359.     4.1.19 recvln        ** new **
  360.     4.1.20 restoresetup    ** new **
  361.     4.1.21 send
  362.     4.1.22 sendbreak    ** new **
  363.     4.1.23 sendfile
  364.     4.1.24 sendln
  365.     4.1.25 setecho        ** new **
  366.     4.1.26 setsync        ** new **
  367.     4.1.27 settitle        ** new **
  368.     4.1.28 showtt        ** changed **
  369.     4.1.29 unlink        ** new **
  370.     4.1.30 wait
  371.     4.1.31 waitevent    ** new **
  372.     4.1.32 waitln        ** new **
  373.     4.1.33 waitrecv
  374.     4.1.34 xmodemrecv
  375.     4.1.35 xmodemsend
  376.     4.1.36 zmodemrecv
  377.     4.1.37 zmodemsend
  378.  
  379. 4.2 制御コマンド
  380.  
  381.     4.2.1 call
  382.     4.2.2 end
  383.     4.2.3 execcmnd
  384.     4.2.4 exit
  385.     4.2.5 for, next
  386.     4.2.6 goto
  387.     4.2.7 if, then, elseif, else, endif
  388.     4.2.8 include
  389.     4.2.9 pause
  390.     4.2.10 return
  391.     4.2.11 while, endwhile
  392.  
  393. 4.3 文字列操作コマンド
  394.  
  395.     4.3.1 str2int
  396.     4.3.2 strcompare
  397.     4.3.3 strconcat
  398.     4.3.4 strcopy
  399.     4.3.5 strlen
  400.     4.3.6 strscan
  401.  
  402. 4.4 ファイル操作コマンド
  403.  
  404.     4.4.1 fileclose
  405.     4.4.2 fileconcat
  406.     4.4.3 filecopy
  407.     4.4.4 filecreate
  408.     4.4.5 filedelete
  409.     4.4.6 fileopen
  410.     4.4.7 filereadln
  411.     4.4.8 filerename
  412.     4.4.9 filesearch
  413.     4.4.10 fileseek
  414.     4.4.11 filestrseek
  415.     4.4.12 filewrite
  416.     4.4.13 filewriteln
  417.  
  418. 4.5 パスワードコマンド
  419.  
  420.     4.5.1 delpassword    ** new **
  421.     4.5.2 getpassword    ** new **
  422.     4.5.3 passwordbox
  423.  
  424. 4.6 その他のコマンド
  425.  
  426.     4.6.1 beep
  427.     4.6.2 closesbox        ** new **
  428.     4.6.3 exec
  429.     4.6.4 getdate
  430.     4.6.5 getenv        ** new **
  431.     4.6.6 gettime
  432.     4.6.7 inputbox
  433.     4.6.8 int2str
  434.     4.6.9 messagebox
  435.     4.6.10 setdate        ** new **
  436.     4.6.11 setdlgpos    ** new **
  437.     4.6.12 setenv        ** new **
  438.     4.6.13 settime        ** new **
  439.     4.6.14 show        ** changed **
  440.     4.6.15 statusbox    ** new **
  441.     4.6.16 yesnobox
  442.  
  443. ...............................................................................
  444. 4.1 通信コマンド
  445.  
  446. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  447. 4.1.1 bplusrecv
  448.  
  449. 形式:
  450.     bplusrecv
  451.  
  452. B-Plus プロトコルでファイルを受信する。
  453. 受信が終わるまで次のコマンドは実行されない。
  454.  
  455. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  456. 4.1.2 bplussend
  457.  
  458. 形式:
  459.     bplussend <filename>
  460.  
  461. ファイル <filename> を B-Plus プロトコルで送信する。
  462. 送信が終わるまで次のコマンドは実行されない。
  463.  
  464. 例:
  465.     bplussend 'readme.txt'
  466.  
  467. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  468. 4.1.3 changedir
  469.  
  470. 形式:
  471.     changedir <path>
  472.  
  473. Tera Term の現在のディレクトリを変更する。
  474.  
  475. 例:
  476.     changedir 'c:\'
  477.  
  478. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  479. 4.1.4 closett        ** changed **
  480.  
  481. 形式:
  482.     closett
  483.  
  484. Tera Term を終了させ、TTPMACRO は非リンク状態に入る。
  485. 非リンク状態では、connect コマンドによって新しい Tera Term ウィンドウを
  486. 開き、TTPMACRO をそれにリンクさせることができる。
  487.  
  488. 参照:
  489.     "4.1.5 connect"
  490.     "4.1.6 disconnect"
  491.     "4.1.29 unlink"
  492.  
  493. 例:
  494.     closett
  495.     connect 'host'
  496.  
  497. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  498. 4.1.5 connect        ** changed **
  499.  
  500. 形式:
  501.     connect <command line parameters>
  502.  
  503. TTPMACRO が Tera Term とリンクされていない場合、Tera Term を起動して
  504. TTPMACRO とリンクする。<command line parameters> は、Tera Term を起動する時
  505. のコマンドラインパラメータ。
  506.  
  507. TTPMACRO が Tera Term とすでにリンクされていて、Tera Term がホストに接続
  508. されていない場合、Tera Term をコマンドライン <command line parameters>
  509. で指定されるホストに接続させる。
  510.  
  511. TTPMACRO が Tera Term とすでにリンクされていて、Tera Term がホストに
  512. すでに接続されている場合、このコマンドは無視される。
  513.  
  514. Tera Term と TTPMACRO のリンクしていない状態では、他の通信コマンドは実行でき
  515. ない。
  516.  
  517. Tera Term のコマンドラインパラメータについては、Tera Term ヘルプを参照。
  518.  
  519. 参照:
  520.     "4.1.4 closett"
  521.     "4.1.6 disconnect"
  522.     "4.1.29 unlink"
  523.  
  524. 例:
  525.     connect    ''        パラメータなしで Tera Term を起動
  526.  
  527.     connect '/C=2'        パラメータ '/C=2'をつけて Tera Term を起動
  528.  
  529.     connect 'foohost.foo.foo.jp'
  530.  
  531.     CommandLine = '111.111.11.11'
  532.     connect CommandLine
  533.  
  534. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  535. 4.1.6 disconnect        ** new **
  536.  
  537. 形式:
  538.     disconnect
  539.  
  540. Tera Term とホストの間の通信を終了させる。
  541. もしこのコマンドによって Tera Term が終了しなければ、Tera Term と TTPMACRO
  542. の間のリンクは保持される。
  543.  
  544. 参照:
  545.     "4.1.4 closett"
  546.     "4.1.5 connect"
  547.     "4.1.29 unlink"
  548.  
  549. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  550. 4.1.7 flushrecv        ** new **
  551.  
  552. 形式:
  553.     flushrecv
  554.  
  555. TTPMACRO の受信バッファーの内容を消す。
  556.  
  557. ホストから受信した文字は TTPMACRO に転送され、TTPMACRO の受信バッファーに
  558. 保存される。受信文字を処理するコマンド(wait コマンド等)はそれらの文字を
  559. バッファーから読み出す。バッファーの中の文字は受信文字を処理するコマンド
  560. がそれらを読みだすか、バッファーがあふれるまで保持される。
  561.  
  562. バッファーの中に古い文字がたまっているために受信文字を処理するコマンド
  563. の結果が予期しないものになることがあり、flushrecv コマンドによって
  564. それを防ぐことができる。
  565.  
  566. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  567. 4.1.8 gettitle        ** new **
  568.  
  569. 形式:
  570.     gettitle <strvar>
  571.  
  572. Tera Term のウィンドウタイトルを文字列変数 <strvar> に格納する。
  573.  
  574. 例:
  575.     gettitle titletext
  576.  
  577. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  578. 4.1.9 kmtrecv
  579.  
  580. 形式:
  581.     kmtrecv
  582.  
  583. Kermit プロトコルでファイルを受信する。
  584. 受信が終わるまで次のコマンドは実行されない。
  585.  
  586. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  587. 4.1.10 kmtsend
  588.  
  589. 形式:
  590.     kmtsend <filename>
  591.  
  592. ファイル <filename> を Kermit プロトコルで送信する。
  593. 送信が終わるまで次のコマンドは実行されない。
  594.  
  595. 例:
  596.     kmtsend 'readme.txt'
  597.  
  598. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  599. 4.1.11 loadkeymap        ** new **
  600.  
  601. 形式:
  602.     loadkeymap <filename>
  603.  
  604. キーボード設定ファイル <filename> を Tera Term に読み込ませる。
  605.  
  606. 例:
  607.     loadkeymap 'keyboard.cnf'
  608.  
  609. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  610. 4.1.12 logclose
  611.  
  612. 形式:
  613.     logclose
  614.  
  615. Tera Term のログを終了する。
  616.  
  617. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  618. 4.1.13 logopen
  619.  
  620. 形式:
  621.     logopen <filename> <binary flag> <append flag>
  622.  
  623. Tera Term のログを開始する。ファイル <filename> に受信した文字が
  624. 書き込まれる。ログを開始したあとも次のコマンドは実行される。
  625.  
  626. <binary flag> の値が0のとき、受信した漢字、改行文字は変換されてファイルに
  627. 書き込まれ、エスケープシーケンスは書き込まれない。<binary flag> の値が0以外
  628. のとき、受信した文字をすべてそのままファイルに書き込む。
  629.  
  630. <append flag> の値が0以外で、ファイル <filename> がすでに存在する場合、
  631. そのファイルに追加して書き込む。
  632. <append flag> の値が0で、ファイル <filename> がすでに存在する場合、
  633. そのファイルは上書きされる。
  634.  
  635. 例:
  636.     logopen 'myhost.log' 0 0
  637.  
  638. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  639. 4.1.14 logpause
  640.  
  641. 形式:
  642.     logpause
  643.  
  644. Tera Term のログを一時中断する。中断してる間に受信された文字はログファイル
  645. に書き込まれない。
  646.  
  647. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  648. 4.1.15 logstart
  649.  
  650. 形式:
  651.     logstart
  652.  
  653. 中断していた Tera Term のログを再開する。
  654.  
  655. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  656. 4.1.16 logwrite
  657.  
  658. 形式:
  659.     logwrite <string>
  660.  
  661. 文字列 <string> を Tera Term のログファイルに追加して書き込む。
  662.  
  663. このコマンドは Tera Term がログを取っている時だけ有効。ログを一時中断
  664. している時でも書き込むことができる。
  665.  
  666. 例:
  667.     logwrite 'LOG FILE'#13#10
  668.  
  669. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  670. 4.1.17 quickvanrecv
  671.  
  672. 形式:
  673.     quickvanrecv
  674.  
  675. Quick-VAN プロトコルでファイルを受信する。
  676. 受信が終わるまで次のコマンドは実行されない。
  677.  
  678. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  679. 4.1.18 quickvansend
  680.  
  681. 形式:
  682.     quickvansend <filename>
  683.  
  684. ファイル <filename> を Quick-VAN プロトコルで送信する。
  685. 送信が終わるまで次のコマンドは実行されない。
  686.  
  687. 例:
  688.     quickvansend 'readme.txt'
  689.  
  690. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  691. 4.1.19 recvln        ** new **
  692.  
  693. 形式:
  694.     recvln
  695.  
  696. ホストから一行分の文字を受信し、システム変数 inputstr に格納する。
  697.  
  698. このコマンドは一行受信するか、Tera Term とホストの通信が終了するか、
  699. タイムアウトが起きるまで待つ。システム変数 timeout が0より大きい場合、
  700. <timeout> 秒の時間がすぎるとタイムアウトが起こる。 timeout の値が0以下
  701. の場合は、タイムアウトはない。
  702.  
  703. もし、一行分の文字が受信された場合、システム変数 result に1が格納
  704. される。そうでない場合 result に0が格納される。
  705.  
  706. 例:
  707.     fileopen file 'log.txt' 0        ログファイルを開く
  708.     setsync 1                同期モードに入る
  709.     result=1
  710.     while result=1
  711.         recvln                一行受信
  712.         filewriteln file inputstr    それをログファイルに書く
  713.     endwhile
  714.     setsync 0                非同期モードに入る
  715.  
  716. 同期モードについては "4.1.26 setsync" を参照。
  717.  
  718. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  719. 4.1.20 restoresetup        ** new **
  720.  
  721. 形式:
  722.     restoresetup <filename>
  723.  
  724. Tera Term 設定ファイル <filename> を Tera Term に読み込ませる。
  725.  
  726. 例:
  727.     restoresetup 'teraterm.ini'
  728.  
  729. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  730. 4.1.21 send
  731.  
  732. 形式:
  733.     send <data1> <data2> ....
  734.  
  735. <data> が文字列型の場合、文字列をホストへ送信させる。
  736. <data> が整数型の場合は、その値の下位バイト(0-255)を ASCII コードと
  737. みなし、その文字を送信させる。
  738.  
  739. 例:
  740.     send 'ABC'
  741.  
  742.     send  65 66 67        'ABC' を送信させる。('A' の ASCII コードは65)
  743.  
  744.     myname='Tera Term'
  745.     send 'My name is ' myname '.'
  746.  
  747. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  748. 4.1.22 sendbreak        ** new **
  749.  
  750. 形式:
  751.     sendbreak
  752.  
  753. ブレーク信号をホストへ送出する。
  754.  
  755. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  756. 4.1.23 sendfile
  757.  
  758. 形式:
  759.     sendfile <filename> <binary flag>
  760.  
  761. ファイルを送信する。送信が終わるまで次のコマンドは実行されない。
  762.  
  763. <binary flag> の値が0以外のとき、ファイルの内容をそのまま送信する。
  764. <binary flag> の値が0のとき、ファイルの中に含まれる漢字、改行文字を変換
  765. して送信する。TAB ($09), LF ($0A), CR ($0D) 以外の制御文字は送信されない。
  766.  
  767. 例:
  768.     sendfile 'data.dat' 1
  769.  
  770. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  771. 4.1.24 sendln
  772.  
  773. 形式:
  774.     sendln <data1> <data2> ....
  775.  
  776. 文字列とそれに続く改行文字をホストへ送信させる。
  777. <data> の形式は、 "send" コマンド (4.1.21) と同じ。
  778.  
  779. 例:
  780.     sendln            改行文字だけ送信
  781.  
  782.     sendln 'abc'
  783.  
  784.     Password='mypassword'
  785.     sendln Password
  786.  
  787. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  788. 4.1.25 setecho        ** new **
  789.  
  790. 形式:
  791.     setecho <echo flag>
  792.  
  793. Tera Term のローカルエコー (local echo) の状態を変える。
  794. もし <echo flag> が0以外ならローカルエコーは on になる。
  795. もし <echo flag> が0ならローカルエコーは off になる。
  796.  
  797. 例:
  798.     setecho 1        ローカルエコー on
  799.  
  800. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  801. 4.1.26 setsync        ** new **
  802.  
  803. 形式:
  804.     setsync <sync flag>
  805.  
  806. <sync flag> が0以外ならば同期通信モードに入る。
  807. <sync flag> が0ならば非同期通信モードに入る。
  808.  
  809. Tera Term はホストから受信した文字を TTPMACRO へ転送する。
  810. TTPMACRO はそれらの文字をバッファーに保存し、受信文字を処理するコマンド
  811. (wait コマンド等)がバッファーから文字を取り出す。
  812.  
  813. TTPMACRO は初期状態として非同期モードにいる。このモードでは、受信文字を
  814. 処理するコマンドが長い間実行されない場合、または受信速度が早すぎる場合は
  815. バッファーがあふれる可能性がある。
  816.  
  817. 同期モードでは、バッファーは決してあふれない。バッファーがいっぱいに
  818. なった場合、Tera Term はホストからの文字受信と TTPMACRO への文字転送を
  819. 停止する。バッファーに再び空きができると Tera Term は文字受信と
  820. 転送を再開する。
  821.  
  822. 必要な時に限り同期モードに入り、必要でなくなったら非同期モードに
  823. 戻るようにした方が良い。
  824.  
  825. 複数行にわたる受信した文字を、一文字も失うことなく処理する、という
  826. ような信頼性が要求されるマクロ処理の場合、同期モードに入る必要がある。
  827. しかし、同期モードでは Tera Term の文字受信速度が遅くなり、また
  828. 受信文字を処理するコマンドが長い間実行されない場合は、Tera Term の文字
  829. 受信が停止したままになってしまう。一方、単純なマクロ処理(例えば自動ログイン)
  830. ならば非同期モードでもほとんど問題なく動作する。この場合、バッファーサイズは
  831. 十分大きく(4096バイト)、受信したすべての文字はバッファーがあふれる前に
  832. コマンドによって処理される。
  833.  
  834. バッファのクリアについては "4.1.7 flushrecv" 参照。
  835.  
  836. 例:
  837.     setsync 1        同期モードに入る
  838.     setsync 0        非同期モードに入る
  839.  
  840. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  841. 4.1.27 settitle        ** new **
  842.  
  843. 形式:
  844.     settitle <title>
  845.  
  846. Tera Term のウィンドウタイトルを <title> に変更する。
  847.  
  848. 例:
  849.     settitle 'Tera Term'
  850.  
  851. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  852. 4.1.28 showtt        ** changed **
  853.  
  854. 形式:
  855.     showtt <show flag>
  856.  
  857. <show flag> が0の場合、 Tera Term を最小化する。
  858. <show flag> が0より大きい場合、 Tera Term を元の大きさに戻す。
  859. <show flag> が0より小さい場合、 Tera Term を隠す。
  860.  
  861. 例:
  862.     showtt 0        Tera Term を最小化
  863.     showtt 1        Tera Term を元の大きさに戻す
  864.     showtt -1        Tera Term を隠す.
  865.  
  866. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  867. 4.1.29 unlink        ** new **
  868.  
  869. 形式:
  870.     unlink
  871.  
  872. 現在の Tera Term ウインドウと TTPMACRO の間のリンクを断つ。
  873. このコマンド以降、TTPMACRO は非リンク状態になり、その Tera Term 
  874. ウインドウを制御できなくなる。
  875.  
  876. 非リンク状態では、connect コマンドによって新しい Tera Term ウィンドウ
  877. を開き、TTPMACRO をそれにリンクさせることができる。
  878.  
  879. 参照:
  880.     "4.1.4 closett"
  881.     "4.1.5 connect"
  882.     "4.1.6 disconnect"
  883.  
  884. 例:
  885.     connect 'host1'        Tera Term ウインドウを開き、それにリンクする
  886.     unlink            リンクを断つ
  887.     connect 'host2'        別の Tera Term ウィンドウを開き、それにリンク
  888.                 する
  889.  
  890. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  891. 4.1.30 wait
  892.  
  893. 形式:
  894.     wait <string1> <string2> ...
  895.  
  896. 文字列 <string1>, <string2>, ...  のうち一つがホストから送られてくるか、
  897. タイムアウトが発生するまで TTPMACRO を停止させる。文字列は最大10個まで
  898. 指定できる。
  899.  
  900. システム変数 timeout が0より大きい場合、<timeout> 秒の時間がすぎると
  901. タイムアウトが発生する。 timeout の値が0以下の場合は、タイムアウトは
  902. 発生しない。
  903.  
  904. このコマンドの実行結果はシステム変数 result に格納される。
  905. 変数 result の値の意味は、
  906.  
  907.   値        意味
  908. --------------------------------------------
  909.    0        タイムアウト。どの文字列も来なかった。
  910.    1        <string1> が来た。
  911.    2        <string2> が来た。
  912.    .            .
  913.    .            .
  914.    .            .
  915.  
  916. 例:
  917.     timeout = 30            タイムアウトを30秒に設定。
  918.     wait 'OK' 'ERROR'        文字列 'OK か 'ERROR' を待つ。
  919.     if result=0 goto timeout    タイムアウトなら、:timeout へジャンプ。
  920.     if result=1 goto ok        'OK' が来たなら、:ok へジャンプ
  921.     if result=2 goto error        'ERROR' が来たなら、:error へジャンプ
  922.  
  923.     wait #10'>' 'complete.'#13    行先頭の '>' か、行末の 'complete.' を
  924.                     待つ。(ASCII コード10, 13は LF, CR)
  925.  
  926. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  927. 4.1.31 waitevent        ** new **
  928.  
  929. 形式:
  930.     waitevent <events>
  931.  
  932. <events> で指定されるイベントが発生するまで TTPMACRO を停止させる。
  933.  
  934. <events> は以下のイベント識別子の組み合わせ。
  935.  
  936. イベント        イベント識別子
  937. ---------------------------------
  938. timeout            1
  939. unlink            2
  940. disconnection        4
  941. connection        8
  942.  
  943.  
  944. システム変数 timeout が0より大きい場合、<timeout> 秒の時間がすぎると
  945. timeout (タイムアウト)イベントが発生する。 timeout の値が0以下の場合は、
  946. タイムアウトは発生しない。
  947.  
  948. unlink イベントは Tera Term が閉じられたときに発生する。
  949.  
  950. disconnection (または connection) イベントは、Tera Term と
  951. ホストの間の通信が閉じられた(開かれた)時に発生する。
  952.  
  953. waitevent コマンドは実際に発生したイベントの識別子をシステム変数
  954. result に格納する。
  955.  
  956. 例:
  957.     waitevent    4        disconnection イベントを待つ
  958.  
  959.     waitevent    2 or 8        unlink または connection イベントを待つ
  960.     if result=2 goto label1        unlink イベント発生
  961.     if result=8 goto label2        connection イベント発生
  962.  
  963. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  964. 4.1.32 waitln        ** new **
  965.  
  966. 形式:
  967.     waitln <string1> <string2> ...
  968.  
  969. 文字列 <string1>, <string2>, ...  のうち一つを含む行をホストから受信するか、
  970. タイムアウトが発生するまで TTPMACRO を停止させる。文字列は最大10個まで指定
  971. できる。
  972.  
  973. システム変数 timeout が0より大きい場合、<timeout> 秒の時間がすぎると
  974. タイムアウトが発生する。 timeout の値が0以下の場合は、タイムアウトは
  975. 発生しない。
  976.  
  977. このコマンドは受信した行をシステム変数 inputstr に格納し、以下の値を
  978. システム変数 result に格納する。
  979.  
  980. 変数 result の値の意味は、
  981.  
  982.   値        意味
  983. --------------------------------------------
  984.    0        タイムアウト。
  985.    1        <string1> を含む行を受信した。
  986.    2        <string2> を含む行を受信した。
  987.    .            .
  988.    .            .
  989.    .            .
  990.  
  991. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  992. 4.1.33 waitrecv
  993.  
  994. 形式:
  995.     waitrecv <sub-string> <len> <pos>
  996.  
  997. ある条件を満たす1つの文字列がホストから送られてくるか、タイムアウトが
  998. 発生するまで、 TTPMACRO を停止させる。
  999.  
  1000. その条件とは、文字列の長さが <len> 文字で、 文字列がその <pos> 文字目から
  1001. 始まる副文字列 <sub-string> を含んでいるということ。
  1002.  
  1003. 例えば、<sub-string> が "def"、<len> が9、<pos> が4のとき、
  1004. 文字列 "abcdefghi" は条件を満たす。
  1005.  
  1006. もし条件を満たす文字列が送られてきたら、システム変数 inputstr に保存される。
  1007.  
  1008. システム変数 timeout が0より大きい場合、その値の秒数の時間がすぎると
  1009. タイムアウトが起きる。 timeout の値が0以下の場合は、タイムアウトは
  1010. ない。
  1011.  
  1012. このコマンドの実行結果はシステム変数 result に格納される。
  1013. 変数 result の値の意味は、
  1014.  
  1015. 値        意味
  1016. ----------------------------------------------------------------------------
  1017. -1        <pos> 文字目から始まる <sub-string> を含む文字列が来て、
  1018.         inputstr に保存された。しかし文字列の長さは、タイムアウト
  1019.         のために <len> 文字より短い。
  1020.  
  1021. 0        タイムアウト。条件を満たす文字列は送られてこなかった。
  1022.  
  1023. 1        条件をみたす文字列が来て、 inputstr に保存された。
  1024.  
  1025. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1026. 4.1.34 xmodemrecv
  1027.  
  1028. 形式:
  1029.     xmodemrecv <filename> <binary flag> <option>
  1030.  
  1031. XMODEM プロトコルでファイル <filename> を受信する。
  1032. 受信が終わるまで次のコマンドは実行されない。
  1033.  
  1034. ファイルがバイナリファイルの場合は、<binary flag> は0以外でなければならない。
  1035. テキストファイルの場合は、<binary flag> は0でなければならない。
  1036.  
  1037. <option> によって、XMODEM のオプションを指定する。
  1038.  
  1039.     <option>    XMODEM option
  1040.     --------------------------
  1041.     1        Checksum
  1042.     2        CRC
  1043.     3        1K
  1044.     それ以外    Checksum
  1045.  
  1046. 例:
  1047.     xmodemrecv 'readme.txt' 0 2    XMODEM receive, Text file, CRC
  1048.  
  1049. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1050. 4.1.35 xmodemsend
  1051.  
  1052. 形式:
  1053.     xmodemsend <filename> <option>
  1054.  
  1055. XMODEM プロトコルでファイル <filename> を送信する。
  1056. 送信が終わるまで次のコマンドは実行されない。
  1057.  
  1058. <option> によって、XMODEM のオプションを指定する。
  1059.  
  1060.     <option>    XMODEM option
  1061.     --------------------------
  1062.     1        Checksum
  1063.     2        CRC
  1064.     3        1K
  1065.     それ以外    Checksum
  1066.  
  1067. 例:
  1068.     xmodemsend 'readme.txt' 1        XMODEM send, checksum
  1069.  
  1070. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1071. 4.1.36 zmodemrecv
  1072.  
  1073. 形式:
  1074.     zmodemrecv
  1075.  
  1076. ZMODEM プロトコルでファイルを受信する。
  1077. 受信が終わるまで次のコマンドは実行されない。
  1078.  
  1079. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1080. 4.1.37 zmodemsend
  1081.  
  1082. 形式:
  1083.     zmodemsend <filename> <binary flag>
  1084.  
  1085. ファイル <filename> を ZMODEM プロトコルで送信する。
  1086. 送信が終わるまで次のコマンドは実行されない。
  1087.  
  1088. ファイルがバイナリファイルの場合は、<binary flag> は0以外でなければならない。
  1089. テキストファイルの場合は、<binary flag> は0でなければならない。
  1090.  
  1091. 例:
  1092.     zmodem 'readme.txt' 0
  1093.  
  1094. ...............................................................................
  1095. 4.2 制御コマンド
  1096.  
  1097. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1098. 4.2.1 call
  1099.  
  1100. 形式:
  1101.     call <label>
  1102.  
  1103. <label> 行から始まるサブルーチンをコールする。
  1104.  
  1105. 例:
  1106.     messagebox "I'm in main." "test"
  1107.     call sub                ":sub" へ飛ぶ。
  1108.     messagebox "Now I'm in main" "test"
  1109.     end
  1110.  
  1111.     :sub                    サブルーチンの始まり。
  1112.       messagebox "Now I'm in sub" "test"
  1113.       return                メインルーチンへもどる。
  1114.  
  1115. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1116. 4.2.2 end
  1117.  
  1118. 形式:
  1119.     end
  1120.  
  1121. TTL の実行を終了する。TTPMACRO も終了する。
  1122.  
  1123. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1124. 4.2.3 execcmnd
  1125.  
  1126. 形式:
  1127.     execcmnd <statement>
  1128.  
  1129. 文字列 <statement> が表現する TTL コマンド を実行する。
  1130.  
  1131. 例:
  1132.     execcmnd "send 'abc'"        コマンド "send 'abc'" を実行。
  1133.  
  1134.     execcmnd "a=1"
  1135.  
  1136. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1137. 4.2.4 exit
  1138.  
  1139. 形式:
  1140.     exit
  1141.  
  1142. インクルードファイルから抜け、メインファイルへ戻る。
  1143.  
  1144. 例:
  1145.     "4.2.8 include" を参照。
  1146.  
  1147. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1148. 4.2.5 for, next
  1149.  
  1150. 形式:
  1151.     for <intvar> <first> <last>
  1152.       ...
  1153.       ...
  1154.     next
  1155.  
  1156. "for" と "next" の間のコマンドを、整数変数 <intvar> の値が <last> と等しく
  1157. なるまで、繰りかえす。
  1158.  
  1159. <intvar> の初期値は <first> 。もし <last> が <fast> より大きい場合、
  1160. <intvar> は "next" 行に来るたびに 1 足される。もし <last> が <fast> 
  1161. より小さい場合、<intvar> は "next" 行にくるたびに 1 引かれる。
  1162.  
  1163. 例:
  1164.     for i 1 10        10回繰り返す。
  1165.       sendln 'abc'
  1166.     next
  1167.  
  1168.     for i 5 1        5回繰り返す。
  1169.       sendln 'abc'
  1170.     next
  1171.  
  1172. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1173. 4.2.6 goto
  1174.  
  1175. 形式:
  1176.     goto <label>
  1177.  
  1178.  <label> 行の次の行へジャンプする。
  1179.  
  1180. 例:
  1181.     goto label        ':label' の次の行へジャンプ。
  1182.     ...
  1183.     ...
  1184.     ...
  1185.     :label        ラベル行
  1186.     send 'abc'
  1187.  
  1188. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1189. 4.2.7 if, then, elseif, else, endif
  1190.  
  1191. 1) 形式:
  1192.     if <int> <statement>
  1193.  
  1194. もし <int> が0以外ならば、コマンド <statement> を実行する。
  1195.  
  1196. 例:
  1197.     if A>1 goto label        もし A>1 ならば、':label' へ飛ぶ。
  1198.  
  1199.     if result A=0            もし result<>0 ならば、A に0を代入。
  1200.  
  1201. 2) 形式:
  1202.     if <int 1> then
  1203.       ...
  1204.       (<int 1> が真(0以外)の場合に実行されるコマンド)
  1205.       ...
  1206.     [elseif <int 2> then]
  1207.       ...
  1208.       (<int 1> が偽(0)で、<int 2>が真の場合に実行されるコマンド)
  1209.       ...
  1210.       ...
  1211.     [elseif <int N> then]
  1212.       ...
  1213.       (<int 1>, <int 2>,.., <int N-1> がすべて偽で、<int N> が真
  1214.       の場合に実行されるコマンド)
  1215.       ...
  1216.     [else]
  1217.       ...
  1218.       (上の条件すべてが偽の場合に実行されるコマンド)
  1219.       ...
  1220.     endif
  1221.  
  1222. 'then' は 'if' と 'elseif' 行の最後になければならない。
  1223. 'elseif' と 'else' はなくてもよい。
  1224. 'endif' は必ず必要。
  1225.  
  1226. 例:
  1227.     if a=1 then
  1228.       b = 1
  1229.       c = 2
  1230.       d = 3
  1231.     endif
  1232.  
  1233.     if i<0 then
  1234.       i=0
  1235.     else
  1236.       i=i+1
  1237.     endif
  1238.  
  1239.     if i=1 then
  1240.       c = '1'
  1241.     elseif i=2 then
  1242.       c = '2'
  1243.     elseif i=3 then
  1244.       c = '3'
  1245.     else
  1246.       c = '?'
  1247.     endif
  1248.  
  1249. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1250. 4.2.8 include
  1251.  
  1252. 形式:
  1253.     include <include file name>
  1254.  
  1255. インクルードファイルに移る。
  1256.  
  1257. 例:
  1258.     ----- メインファイル 'main.ttl' ------
  1259.     i=10
  1260.     :loop
  1261.     include 'sub.ttl'        インクルードファイルへ移る。
  1262.     if i>=0 goto loop
  1263.     end
  1264.     ----- メインファイル終わり -----------
  1265.  
  1266.     ----- インクルードファイル 'sub.ttl' ----
  1267.     if i<0 then
  1268.       messagebox 'error!' 'sub'
  1269.       exit                メインファイルへ戻る。
  1270.     endif
  1271.     i = i - 1
  1272.     ----- インクルードファイル終わり --------    メインファイルへ戻る。
  1273.  
  1274. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1275. 4.2.9 pause
  1276.  
  1277. 形式:
  1278.     pause <time>
  1279.  
  1280. TTL の実行を <time> 秒だけ休止する。
  1281.  
  1282. 例:
  1283.     pause 10            10秒休止
  1284.  
  1285.     pause Time
  1286.  
  1287. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1288. 4.2.10 return
  1289.  
  1290. 形式:
  1291.     return
  1292.  
  1293. サブルーチンを抜け、メインルーチンへ戻る。
  1294.  
  1295. 例:
  1296.     "4.2.1 call" 参照。
  1297.  
  1298. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1299. 4.2.11 while, endwhile
  1300.  
  1301. 形式:
  1302.     while <int>
  1303.       ...
  1304.       ...
  1305.       ...
  1306.     endwhile
  1307.  
  1308. 'while' と 'endwhile' の間のコマンドを、 <int> が0以外である限り、繰り返す。
  1309.  
  1310. 例:
  1311.     i = 10
  1312.     while i>0
  1313.       i = i - 1    10回繰り返す。
  1314.     endwhile
  1315.  
  1316. ...............................................................................
  1317. 4.3 文字列操作コマンド
  1318.  
  1319. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1320. 4.3.1 str2int
  1321.  
  1322. 形式:
  1323.     str2int <intvar> <string>
  1324.  
  1325. 10進数表現の文字列 <string> を整数値に変換し、整数変数 <intvar> に代入する。
  1326. 正常に変換できた場合は1、できなかった場合は0がシステム変数 result に
  1327. 代入される。
  1328.  
  1329. 例:
  1330.     str2int val '123'        val=123, result=1
  1331.  
  1332.     str2int val '123abc'        result=0
  1333.  
  1334. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1335. 4.3.2 strcompare
  1336.  
  1337. 形式:
  1338.     strcompare <string1> <string2>
  1339.  
  1340. 2つの文字列 <string1>, <string2> を比較し、結果をシステム変数 result に代入
  1341. する。
  1342.  
  1343. 文字列の文字コード表現を符号なし整数(最初の文字が最上位バイト)とみなし、
  1344. 2つの文字列に対応する整数値の大小関係を求め、それに応じて以下のように
  1345. result の値が決定される。
  1346.  
  1347.       大小関係     resultの値
  1348.   --------------------------------- 
  1349.   <文字列1> < <文字列2>     -1
  1350.   <文字列1> = <文字列2>      0
  1351.   <文字列1> > <文字列2>      1
  1352.  
  1353. 例:
  1354.     strcompare 'abc' 'def'    結果は result = -1
  1355.  
  1356.     strcompare command 'next'
  1357.     if result=0 goto label
  1358.     strcompare command 'end'
  1359.     if result=0 end
  1360.  
  1361. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1362. 4.3.3 strconcat
  1363.  
  1364. 形式:
  1365.     strconcat <strvar> <string>
  1366.  
  1367. 文字列変数 <strvar> の文字列値の最後に 文字列 <string> を継ぎ足す。
  1368.  
  1369. 例:
  1370.     filename = 'c:\teraterm\'
  1371.     strconcat filename 'test.txt'        filename='c:\teraterm\test.txt'
  1372.  
  1373. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1374. 4.3.4 strcopy
  1375.  
  1376. 形式:
  1377.     strcopy <string> <pos> <len> <strvar>
  1378.  
  1379. 文字列 <string> の <pos> 文字目から <len> 文字分を文字列変数 <strvar>
  1380. にコピーする。
  1381.  
  1382. 例:
  1383.     strcopy 'tera term' 6 4 substr        substr='term'
  1384.  
  1385. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1386. 4.3.5 strlen
  1387.  
  1388. 形式:
  1389.     strlen <string>
  1390.  
  1391. 文字列 <string> の長さをシステム変数 result に格納する。
  1392.  
  1393. 例:
  1394.     strlen 'abc'        result の値は3
  1395.  
  1396. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1397. 4.3.6 strscan
  1398.  
  1399. 形式:
  1400.     strscan <string> <substring>
  1401.  
  1402. 文字列 <string> の中に 副文字列 <substring> が含まれているかどうか調べる。
  1403. もし、 <substring> が見つかった場合、その位置がシステム変数 result に格納
  1404. される。<substring> が複数含まれている場合、最初のものの位置が格納される。
  1405. もし、<substring> が見つからなかった場合、 result に0が格納される。
  1406.  
  1407. 例:
  1408.     strscan 'tera term' 'term'        result の値は6
  1409.  
  1410. ...............................................................................
  1411. 4.4 ファイル操作コマンド
  1412.  
  1413. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1414. 4.4.1 fileclose
  1415.  
  1416. 形式:
  1417.     fileclose <file handle>
  1418.  
  1419. ファイルハンドル <file handle> で指定されるファイルをクローズする。
  1420. このコマンド実行後、<file handle> は無効となる。
  1421.  
  1422. 例:
  1423.     fileclose fhandle
  1424.  
  1425. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1426. 4.4.2 fileconcat
  1427.  
  1428. 形式:
  1429.     fileconcat <file1> <file2>
  1430.  
  1431. ファイル <file2> の内容をファイル <file1> の最後に
  1432. 追加する。<file1> と <file2> は違うファイルでなければならない。
  1433.  
  1434. 例:
  1435.     fileconcat 'test.dat' test2.dat'
  1436.  
  1437. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1438. 4.4.3 filecopy
  1439.  
  1440. 形式:
  1441.     filecopy <file1> <file2>
  1442.  
  1443. ファイル <file1> をコピーし、ファイル <file2> を作成する。
  1444. <file2> がすでに存在する場合は上書きされる。
  1445. <file1> と <file2> は違う名前でなければならない。
  1446.  
  1447. 例:
  1448.     filecopy 'test.dat' 'test2.dat'
  1449.  
  1450. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1451. 4.4.4 filecreate
  1452.  
  1453. 形式:
  1454.     filecreate <file handle> <filename>
  1455.  
  1456. ファイル <filename> を新しく作成しオープンする。
  1457. ファイルポインタはファイルの先頭にセットされる。すでに同じ名前の
  1458. ファイルが存在する場合、ファイルサイズは0にされる。もしファイルが
  1459. 正しく作成され、オープンされた場合、ファイルハンドルが整数変数
  1460. <file handle> に格納される。それ以外の場合、<file handle> に
  1461. -1が格納される。
  1462.  
  1463. 例:
  1464.     filecreate fhandle 'data.dat'
  1465.  
  1466. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1467. 4.4.5 filedelete
  1468.  
  1469. 形式:
  1470.     filedelete <filename>
  1471.  
  1472. ファイル <filename> を削除する。
  1473.  
  1474. 例:
  1475.     filedelete 'temp.log'
  1476.  
  1477. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1478. 4.4.6 fileopen
  1479.  
  1480. 形式:
  1481.     fileopen <file handle> <filename> <append flag>
  1482.  
  1483. ファイル <filename> をファイルをオープンする。
  1484. ファイルが存在しない場合は、新たに作成されてからオープンされる。
  1485. もしファイルが正しくオープンされた場合、ファイルハンドルが整数変数
  1486. <file handle> に格納される。それ以外の場合、<file handle> に-1が格納
  1487. される。
  1488.  
  1489. <append flag> が0の場合、ファイルポインタの位置はファイルの始め
  1490. にセットされる。<append flag> が0以外の場合、ファイルポインタは
  1491. ファイルの最後にセットされる。
  1492.  
  1493. 例:
  1494.     fileopen fhandle 'data.dat' 0    ファイルポインタは先頭
  1495.  
  1496.     fileopen fhandle 'data.dat' 1    ファイルポインタは最後
  1497.  
  1498. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1499. 4.4.7 filereadln
  1500.  
  1501. 形式:
  1502.     filereadln <file handle> <strvar>
  1503.  
  1504. ファイルハンドル <file handle> で指定されるファイルから一行読む。
  1505. 読み込まれた行は、文字列変数 <strvar> に格納される。
  1506. ファイルポインタは次の行の始めへ移動する。もし、行を読んでいる間に
  1507. ファイルポインタがファイルの最後に達した場合、システム変数 result
  1508. に1が格納される。それ以外の場合、result に0が格納される。
  1509.  
  1510. 例:
  1511.     fileopen fhandle 'test.txt' 0        ファイルオープン
  1512.     :loop
  1513.     filereadln fhandle line            一行読み込み
  1514.     if result goto fclose
  1515.     messagebox line 'test.txt'        読み込んだ行を表示
  1516.     goto loop                ファイル最後まで繰り返す
  1517.     :fclose
  1518.     fileclose fhandle            ファイルクローズ
  1519.  
  1520. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1521. 4.4.8 filerename
  1522.  
  1523. 形式:
  1524.     filerename <file1> <file2>
  1525.  
  1526. ファイル <file1> を <file2> という名前に変更する。
  1527. <file1> と <file2> は違う名前でなければならない。
  1528.  
  1529. 例:
  1530.     filerename 'test.dat' test2.dat'
  1531.  
  1532. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1533. 4.4.9 filesearch
  1534.  
  1535. 形式:
  1536.     filesearch <filename>
  1537.  
  1538. ファイル <filename> が存在するかどうか調べる。
  1539. 存在する場合は、システム変数 result に1が返る。
  1540. 存在しない場合は、result に0が返る。
  1541.  
  1542. 例:
  1543.     filesearch 'readme.txt'
  1544.     if result=0 messagebox 'File not found.' 'error'
  1545.  
  1546. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1547. 4.4.10 fileseek
  1548.  
  1549. 形式:
  1550.       fileseek <file handle> <offset> <origin>
  1551.  
  1552. ファイルハンドル <file handle> で指定されるファイルの
  1553. ファイルポインタを移動する。
  1554.  
  1555. 移動後のファイルポインタは、
  1556.  
  1557. <origin> が0のとき、ファイルの最初から <offset> バイト
  1558. <origin> が1のとき、現在の位置から <offset> バイト
  1559. <origin> が2のとき、ファイルの最後から <offset> バイト
  1560.  
  1561. となる。
  1562.  
  1563. 例:
  1564.     fileseek fhandle 0 0        ファイルの最初へ移動
  1565.  
  1566.     fileseek fhandle 10 1        現在の位置から10バイト先へ移動
  1567.  
  1568.     fileseek fhandle 0 2        ファイルの最後へ移動
  1569.  
  1570. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1571. 4.4.11 filestrseek
  1572.  
  1573. 形式:
  1574.     filestrseek <file handle> <string>
  1575.  
  1576. ファイルハンドル <file handle> で指定されるファイルから、
  1577. 文字列 <string> を検索する。検索は現在のファイルポインタの位置から開始する。
  1578.  
  1579. <string> が見つかった場合、ファイルポインタは <string> の次の文字の位置になり、
  1580. システム変数 result に1が格納される。
  1581. <string> が見つからなかった場合、ファイルポインタは移動せず、システム変数
  1582. result に0が格納される。
  1583.  
  1584. 例:
  1585.     fileopen fhandle 'teraterm.log' 0    ファイル 'teraterm.log' から
  1586.     filestrseek fhandle 'abc'        文字列 'abc' を検索し、
  1587.     if result=0 goto not_found
  1588.     filereadln fhandle str            'abc' からその行の終わりまで
  1589.     :not_found                を読み込みstrに格納
  1590.     fileclose fhandle
  1591.  
  1592. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1593. 4.4.12 filewrite
  1594.  
  1595. 形式:
  1596.     filewrite <file handle> <string>
  1597.  
  1598. ファイルハンドル <file handle> で指定されるファイルへ、
  1599. 文字列 <string> を書き込む。
  1600.  
  1601. 例:
  1602.     filewrite fhandle '---------cut here---------'#13#10
  1603.  
  1604. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1605. 4.4.13 filewriteln
  1606.  
  1607. 形式:
  1608.     filewriteln <file handle> <string>
  1609.  
  1610. ファイルハンドル <file handle> で指定されるファイルへ、
  1611. 文字列 <string> と改行文字 (CR+LF) を書き込む。
  1612.  
  1613. 例:
  1614.     filewriteln fhandle '---------cut here---------'
  1615.  
  1616. ...............................................................................
  1617. 4.5 パスワードコマンド
  1618.  
  1619. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1620. 4.5.1 delpassword        ** new **
  1621.  
  1622. 形式:
  1623.     delpassword <filename> <password name>
  1624.  
  1625. パスワードファイル <filename> の中にある <password name> で指定された
  1626. パスワードを削除する。もし <password name> が空の文字列ならば、パスワード
  1627. ファイルの中にあるすべてのパスワードが削除される。
  1628.  
  1629. パスワードファイルについては "4.5.2 getpassword" 参照。
  1630.  
  1631. 例:
  1632.     delpassword 'password.dat' 'mypassword'
  1633.  
  1634. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1635. 4.5.2 getpassword        ** new **
  1636.  
  1637. 形式:
  1638.     getpassword <filename> <password name> <strvar>
  1639.  
  1640. パスワードファイル <filename> から <password name> で指定される
  1641. パスワードを読みだす。そのパスワードは暗号化されているので、それを
  1642. 解読してから文字列変数 <strvar> に保存する。
  1643.  
  1644. もし指定されたファイルが存在しなければ、新しくファイルを作成する。
  1645. もし指定されたパスワードがファイルの中になければ、パスワードダイアログ
  1646. ボックスが現れ、入力されたパスワードは文字列変数 <strvar> に保存される。
  1647. 同時に、その新しいパスワードは暗号化されパスワード識別子 <password name>
  1648. と共にファイルに書き込まれる。
  1649.  
  1650. 一つのパスワードファイルに複数のパスワードを保存することができる。
  1651. 各パスワードはパスワード識別子によって識別される。
  1652.  
  1653. 例:
  1654.     getpassword 'password.dat' 'mypassword' password
  1655.     connect 'myhost'
  1656.     wait 'login:'
  1657.     sendln 'myname'
  1658.     wait 'password:'
  1659.     sendln password
  1660.  
  1661. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1662. 4.5.3 passwordbox
  1663.  
  1664. 形式:
  1665.     passwordbox <message> <title>
  1666.  
  1667. パスワードを入力するためのダイアログボックスを開く。
  1668. 文字列 <message> はダイアログボックスに表示されるメッセージ、文字列 <title> は
  1669. ダイアログボックスのタイトル。入力されるパスワードはそのまま表示されず、
  1670. かわりに、"****" のように表示される。入力されたパスワードはシステム変数
  1671. inputstr に代入される。
  1672.  
  1673. 例:
  1674.     passwordbox 'Enter password' 'Login'
  1675.  
  1676. ...............................................................................
  1677. 4.6 その他のコマンド
  1678.  
  1679. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1680. 4.6.1 beep
  1681.  
  1682. 形式:
  1683.     beep
  1684.  
  1685. ビープ音を鳴らす。
  1686.  
  1687. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1688. 4.6.2 closesbox        ** new **
  1689.  
  1690. 形式:
  1691.     closesbox
  1692.  
  1693. statusbox コマンドによって開かれたステータスダイアログボックスを
  1694. 閉じる。
  1695.  
  1696. 例:
  1697.     "4.6.15 statusbox" 参照。
  1698.  
  1699. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1700. 4.6.3 exec
  1701.  
  1702. 形式:
  1703.     exec <command line>
  1704.  
  1705. コマンドライン文字列 <command line> に従い、アプリケーションを起動する。
  1706.  
  1707. 例:
  1708.     exec 'notepad readme.txt'        「メモ帳」を起動
  1709.  
  1710. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1711. 4.6.4 getdate
  1712.  
  1713. 形式:
  1714.     getdate <strvar>
  1715.  
  1716. 現在の日付を文字列変数 <strvar> に格納する。形式は "YYYY-MM-DD"。
  1717.  
  1718. 例:
  1719.     getdate datestr
  1720.  
  1721. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1722. 4.6.5 getenv        ** new **
  1723.  
  1724. 形式:
  1725.     getenv <envname> <strvar>
  1726.  
  1727. 環境変数 <envname> の値を文字列変数 <strvar> に格納する。
  1728.  
  1729. 例:
  1730.     getenv 'TEMP' env
  1731.  
  1732. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1733. 4.6.6 gettime
  1734.  
  1735. 形式:
  1736.     gettime <strvar>
  1737.  
  1738. 現在の時刻を文字列変数 <strvar> に格納する。 形式は"HH:MM:SS"。
  1739.  
  1740. 例:
  1741.     gettime timestr
  1742.  
  1743. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1744. 4.6.7 inputbox
  1745.  
  1746. 形式:
  1747.     inputbox <message> <title>
  1748.  
  1749. 文字列を入力するためのダイアログボックスを開く。文字列 <message> はダイアログ
  1750. ボックスに表示されるメッセージ、文字列 <title> はダイアログボックスのタイトル。
  1751. 入力された文字列はシステム変数 inputstr に代入される。
  1752.  
  1753. 例:
  1754.     inputbox 'Password:' 'Login'
  1755.     sendln inputstr
  1756.  
  1757. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1758. 4.6.8 int2str
  1759.  
  1760. 形式:
  1761.     int2str <strvar> <integer value>
  1762.  
  1763. 整数値 <integer value> を10進表現の文字列に変換して文字列型変数 <strvar>
  1764. に代入する。
  1765.  
  1766. 例:
  1767.     int2str valstr 123        valstrに '123' を代入
  1768.  
  1769. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1770. 4.6.9 messagebox
  1771.  
  1772. 形式:
  1773.     messagebox <message> <title>
  1774.  
  1775. ダイアログボックスを開き、ユーザーにメッセージを知らせる。文字列 <message> は
  1776. ダイアログボックスに表示されるメッセージ、文字列 <title> はダイアログ
  1777. ボックスのタイトル。
  1778.  
  1779. 例:
  1780.     messagebox ErrorMessage 'Error'
  1781.  
  1782. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1783. 4.6.10 setdate        ** new **
  1784.  
  1785. 形式:
  1786.     setdate <date>
  1787.  
  1788. システムの日付を変更 <date> に変更する。<date> の形式は "YYYY-MM-DD"。
  1789.  
  1790. 例:
  1791.     setdate '1997-08-01'
  1792.  
  1793. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1794. 4.6.11 setdlgpos        ** new **
  1795.  
  1796. 形式:
  1797.     setdlgpos <x> <y>
  1798.  
  1799. inputbox, messagebox, passwordbox, statusbox コマンドで表示されるダイアログ
  1800. ボックスの初期位置を変更する。また、ステータスダイアログボックスが表示されて
  1801. いる場合、setdlgpos コマンドはそのダイアログボックスを移動させる。
  1802.  
  1803. <x> と <y> は画面の座標 (x,y) を表わす。原点 (0,0) は画面の左上の隅の位置。
  1804.  
  1805. 例:
  1806.     setdlgpos 0 0
  1807.     messagebox 'Message' 'Title'    左上の隅にダイアログボックス
  1808.  
  1809.     setdlgpos 0 200            ステータスダイアログボックスを開く
  1810.     statusbox 'Message' 'Title'
  1811.     for i 0 200
  1812.       setdlgpos i 200        ステータスダイアログボックスを移動
  1813.     next
  1814.  
  1815. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1816. 4.6.12 setenv        ** new **
  1817.  
  1818. 形式:
  1819.     setenv <env name> <env value>
  1820.  
  1821. 環境変数 <env name> に文字列値 <env value> を代入する。
  1822.  
  1823. 例:
  1824.     setenv 'WORK' 'c:\work'
  1825.  
  1826. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1827. 4.6.13 settime        ** new **
  1828.  
  1829. 形式:
  1830.     settime <time>
  1831.  
  1832. システムの時刻を <time> に変更する。<time> の形式は "HH:MM:SS"。
  1833.  
  1834. 例:
  1835.     settime '01:05:00'
  1836.  
  1837. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1838. 4.6.14 show        ** changed **
  1839.  
  1840. 形式:
  1841.     show <show flag>
  1842.  
  1843. <show flag> が0の場合、TTPMACRO を最小化する。
  1844. <show flag> が0より大きい場合、TTPMACRO を元の大きさに戻す。
  1845. <show flag> が0より小さい場合、TTPMACRO を隠す。
  1846.  
  1847. 例:
  1848.     show 0        TTPMACRO を最小化
  1849.     show 1        TTPMACRO を元の大きさに戻す
  1850.     show -1        TTPMACRO を隠す
  1851.  
  1852. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1853. 4.6.15 statusbox        ** new **
  1854.  
  1855. 形式:
  1856.     statusbox <message> <title>
  1857.  
  1858. ステータスダイアログボックスが表示されていない場合、それを表示する。
  1859. ダイアログボックスのメッセージを <message> に、タイトルを <title> に変える。
  1860.  
  1861. setdlgpos コマンド(4.6.11 参照)はステータスダイアログボックスの位置を変える。
  1862. closesbox コマンド(4.6.2 参照)はステータスダイアログボックスを閉じる。
  1863.  
  1864. 例:
  1865.     setdlgpos 200 200            表示位置を指定
  1866.     statusbox 'Message' 'Title'        ダイアログボックスを表示
  1867.     pause 3                            
  1868.     setdlgpos 0 0                ダイアログボックスを移動
  1869.     pause 3
  1870.     closesbox                ダイアログボックスを閉じる
  1871.  
  1872. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1873. 4.6.16 yesnobox
  1874.  
  1875. 形式:
  1876.     yesnobox <message> <title>
  1877.  
  1878. Dialog boxを開き。ユーザーに「はい」/「いいえ」を選択させる。
  1879. 文字列 <message> はダイアログボックスに表示されるメッセージ、
  1880. 文字列 <title> はダイアログボックスのタイトル。
  1881.  
  1882. 「はい」ボタンが押された場合、システム変数 resultに1が格納される。
  1883. 「いいえ」ボタンが押された場合、result に0が格納される。
  1884.  
  1885. 例:
  1886.     yesnobox 'もう一回やりますか?' 'Tera Term'
  1887.     if result goto retry
  1888.     end
  1889.  
  1890. -------------------------------------------------------------------------------
  1891.  5. 補足説明
  1892.  
  1893. ...............................................................................
  1894. エラーメッセージ
  1895.  
  1896.  エラーメッセージ            意味
  1897.  ---------------------------------------------------------------------------
  1898.  Can't call sub.        サブルーチンを呼べない。サブルーチンは
  1899.                 別のファイルにある。
  1900.  
  1901.  Can't link macro.        TTPMACRO と Tera Term の間のリンクに失敗。
  1902.  
  1903.  Can't open file.        インクルードファイルが存在しないか、
  1904.                 インクルードの階層が深すぎる。
  1905.  
  1906.  ")" expected.            カッコが閉じていない。
  1907.  
  1908.  Link macro first.        TTPMACRO と Tera Term の間のリンクが確立して
  1909.                 ないため、コマンドが実行できない。
  1910.  
  1911.  Divide by zero.        0で割ろうとした。
  1912.  
  1913.  Invalid control.        "else", "elseif", "endif" の誤った使用。
  1914.  
  1915.  Label already defined.        ラベル名の多重使用。
  1916.  
  1917.  Label requiered.        ラベルが見つからない。
  1918.  
  1919.  Stack overflow.        サブルーチン、"for-next" ループ、
  1920.                 "while-endwhile" の階層が深すぎる。
  1921.  
  1922.  Syntax error.            コマンドの形式が間違っている。
  1923.  
  1924.  Too many labels.        ラベルの数が多すぎる。(最大256個)
  1925.  
  1926.  Too many variables.        変数の数が多すぎる。(整数型、文字列型
  1927.                 それぞれ最大128個ずつ)
  1928.  
  1929.  Type mismatch.            定数または変数の型が間違っている。
  1930.  
  1931.  Variable not initialized.    初期化されてない変数を参照した
  1932.  
  1933. ...............................................................................
  1934. 改行文字について
  1935.  
  1936. ホストから送られてくる改行文字 (CR または CR+LF) は Tera Term に
  1937. よって CR+LF に変換され TTPMACRO に渡される。
  1938.  
  1939. Tera Term へ送る改行文字は CR+LF を用いる。
  1940.  
  1941. CR、LF の ASCII コードはそれぞれ13、10(10進数)。
  1942.  
  1943. 例: 
  1944.   send 'abc'#13#10        "sendln 'abc'" と同じ。実際にホストへ送られる
  1945.                  改行文字はTera Termの設定により決まる。
  1946.  
  1947.   wait #10'abc' 'def'#13    行頭の "abc"、行末の "def" を待つ。
  1948.  
  1949.   logwrite 'abc'#13#10        ログファイルに改行文字を書き込む場合は
  1950.                 必ずCR+LFにする。