home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1997 March
/
VPR9703A.ISO
/
OLS
/
DOS
/
WTDOC806
/
WTDOC806.LZH
/
WMACRO.DOC
< prev
next >
Wrap
Text File
|
1996-06-15
|
400KB
|
9,950 lines
通信ソフト WTERM PC98/EPSONシリーズ
WTERM J3100/J3300/DynaBOOK
WTERM DOS/V AT AX IBM-5550-S/T/V/W
WTERM FMR50/70/FM-TOWNS/Panacom M
WTERM IF-800 NTT/BS21
【 マクロ機能説明書 】
・・・・・・・・・・・・・ 1996年06月15日 ・・・・・・・・・・・・・
1989-05-13 マクロ README by TOMTOM
1990-11-03 増補 by H.INOUE
1991-03-12 改定 by H.INOUE
1991-07-10 一部修正 by H.INOUE
1992-03-15 一部修正 by H.INOUE
1992-05-15 一部修正 by H.INOUE
1992-07-25 追加修正 by H.INOUE
1992-09-03 追加修正 by H.INOUE
1992-12-01 追加修正 by H.INOUE
1993-02-06 追加修正 by H.INOUE
1993-06-20 追加修正 by H.INOUE
1993-07-01 追加修正 by H.INOUE
1993-10-20 追加修正 by H.INOUE
1994-09-01 追加修正 by H.INOUE
1995-01-01 前面改定 by H.INOUE
1996-01-27 追加修正 by H.INOUE
======================================================================== [0051]
目 次 行数 LINE No
===============================================================================
【ご挨拶】 698
【 謝辞 】 708
【第 1章】 マクロの使用方法 及び 実行方法 727
呼びだし方法 739
中断もしくは、中止方法 814
【第 2章】 マクロをデバッグする方へ 832
【第 3章】 マクロの制限事項について 940
【第 4章】 実行時また実行中のエラーについて 990
【第 5章】 ラベルとコメントについて 1292
【第 6章】 マクロ中に使用できる 変数について 1348
【第 7章】 マクロの作り方入門 1463
1. マクロとは 1467
2. 実際に使ってみよう 1489
3. さらに発展させて 1588
4. まとめ 1743
【第 8章】 マクロハイテク講座 1811
1. イベントドリブン 1816
2. 多方向分岐 1875
3. 選択項目の検査 1927
4. 動的実行制御 1977
5. フラグを使う 2050
A) 変数の特定の位置にフラグを納める 2069
B) 名前を使った方法 2098
[0100]
6. 時間監視 2146
7. 末尾最適化 2204
8. マクロファイルのサブルーチン呼び出し 2261
A) マクロの切り替え命令(CHAIN) 2275
B) 外部マクロの実現方法 2297
C) 外部マクロの実装 2310
9. マクロテクニックいろいろ 2355
A) リターン値 2358
B) 引用に気を付けろ 2386
C) 前方一致の検査 2446
D) A または B 2461
E) 引用に気を付けろ 2 2474
F) 文字列エスケープは大変だ 2499
G) 禁断の反則技 (^_^;) 2592
10. 高速テキスト送信テクニック 2625
A) シンプルテキスト送信 2645
B) テキスト送信の高速化 2687
11. 最後に 2751
【第 9章】 マクロ コマンド(パラメーター)説明 2808
ADD(変数1,変数2または文字列2,変数3または文字列3) 2898
APS(変数,全長数,R(ight右寄せ) か L(eft左寄せ)) 2925
AUTOUD(ON,OFF) 2952
BELL(文字列または変数,文字列または変数,文字列または変数) 2981
BLINK(色指定,BLINK回数,間隔) 3001
BREAK 3033
[0150]
CALL(ラベル) 3046
CALL(ラベル,変数1,変数2または文字列) 3046
CASE 3077
CAT(変数1,変数2または文字列1) 3087
CAT(変数1,変数2または文字列1,変数3または文字列2) 3087
CDCHK(ON,OFF) 3117
CHAIN(変数1またはファイル名) 3129
CHAIN(変数1またはファイル名,変数2または文字列) 3129
CHANGE(変数1,置換前文字列または変数2,変数3) 3159
CHANGE2(変数,置換前文字列または変数2,変数3) 3198
CHILD(変数1または文字列1) 3231
CHILD(変数1または文字列1,変数2,文字列2または変数3) 3231
CHKPATH(変数1または文字列,変数2) 3327
CLS 3345
COLOR(変数) 3360
COMMODE(文字列) 3389
CONVERT(ON,OFF) 3420
COPY(変数または文字列,指定開始数値,複写終了文字数数値) 3441
CRT(ON,OFF) 3476
CUTFILE(変数1または文字列1,変数2または文字列2,変数3) 3505
DATE(変数,区分挿入文字列[任意]) 3555
DATEADD(変数1,区分挿入文字列(任意),変数2または文字列) 3593
DATESUB(変数1,区分挿入文字列(任意),変数2または文字列) 3633
DEL(変数,削除開始数値,削除文字分数数値) 3680
DELAY(文字列または変数) 3710
[0200]
DELAY(文字列または変数) 3728
DELFILE(変数または文字列) 3749
DELSPACE(変数1,変数2) 3770
DISKSIZE(変数1,変数2または文字列) 3790
DISKFSIZE(変数1,変数2または文字列) 3822
DIV(変数1,変数2 or 文字列2,変数3 or 文字列3) 3854
DOWNLOAD(番号,ファイル名) No 1 - No 6 3883
DOWNLOAD(番号) No 7 - No 14,No 21,No 23 3883
DOWNLOAD(番号,MODE) No 99 3883
ELSE 4003
END 4011
ESCEXIT(ON,OFF) 4022
EXIT 4047
FCLOSE 4057
FCOPY(変数1または文字列1,変数2または文字列2) 4072
FCOPY(変数1 or 文字列1,変数2 or 文字列2,変数3 or 字列3) 4072
FDIR(変数1または文字列1,変数2または文字列2) 4123
FDIR(変数1 or 文字列1,変数2 or 文字列2,変数3 or 文字列3) 4123
FDIRA(変数1または文字列1,変数2または文字列2) 4187
FDIRA(変数1 or 文字列1,変数2 or 文字列2,変数3 or 文字列3)4187
FEXPAND(変数) 4247
FILESIZE(変数1または文字列,変数2) 4268
FILETIME(変数1,変数2または文字列) 4291
FILER(ファイル名,変数) 4315
FILER(ファイル名,変数,ラベル) 4315
[0250]
FLHA(変数1 or 文字列1,変数2 or 文字列2,変数3 or 文字列3) 4366
FLINE(ファイル名,変数) 4415
FMOVE(変数1または文字列1,変数2または文字列2) 4453
FOPEN(ファイル名) 4514
FOPEN(ファイル名,ラベル) 4514
FPOINT(変数1) 4549
FPOINT(変数1,変数2または文字列) 4549
FREAD(変数名) 4600
FREAD(変数名,ラベル) 4600
FREN(変数1または文字列1,変数2または文字列2) 4639
FRENAME(変数または文字列) 4673
FSEARCH(変数1,変数2) 4695
FSPLIT(変数1,変数2,変数3) 4721
FTYPE(変数1または文字列1,変数2または文字列2) 4750
FTYPEA(変数1または文字列1,変数2または文字列2) 4787
GET(変数,長さ) 4824
GETC(変数,文字または文字列) 4839
GETC(変数,文字または文字列,"+") 4839
GETC(変数,文字または文字列,+時間) 4839
GETC(変数,文字または文字列,監視時間) 4839
GETCRTS(変数,変数2または文字列) 4881
GETDATAD(変数) 4901
GETDIR(変数,変数または文字列) 4920
GETDOWND(変数) 4954
GETENV(変数,変数または文字列) 4973
[0300]
GETID(変数) 5000
GETLOGD(変数) 5018
GETMACROD(変数) 5037
GETMACROD(変数,変数2) 5037
GETMRES(変数) 5066
GETS(変数,文字または文字列) 5088
GETS(変数,文字または文字列,"+") 5088
GETS(変数,文字または文字列,+時間) 5088
GETS(変数,文字または文字列,監視時間) 5088
GETTXUPD(変数) 5130
GETUPD(変数) 5149
GETUSERD(変数1,変数2または文字列) 5168
GETUSERD(変数1,変数2または文字列,変数3または文字列) 5168
GOTO(ラベル名) 5292
GOTO(ラベル名,変数1,変数2または文字列) 5292
HANGUP 5320
HANGUPT(文字列または変数) 5335
HANGUPT(文字列または変数,ラベル) 5335
IF<(変数1,変数2または数字文字列) 5394
IF<>(変数1,変数2または文字列) 5418
IF>(変数1,変数2または数字文字列) 5442
IFE(変数1,変数2または数字文字列) 5466
IFE<(変数1,変数2または数字文字列) 5490
IFE>(変数1,変数2または数字文字列) 5514
IFFILEN(変数または文字列) 5537
[0350]
IFFILEY(変数または文字列) 5561
IFSRCHN(変数1,比較文字列または変数2) 5588
IFSRCHY(変数1,比較文字列または変数2) 5611
INPUT(変数1) 5635
INPUT(変数1,変数2または文字列2) 5635
INPUT(変数1,変数2または文字列2,変数3または文字列3) 5635
INPUTF(変数,文字列) 5727
INPUTF(変数,文字列1,文字列2) 5727
INS(変数1,挿入開始数値,挿入文字列または変数2) 5778
ISKANJI(文字列または変数1,変数2または文字列2,変数3) 5801
JUMP<(変数1,変数2または数字文字列,ラベル) 5831
JUMP<>(変数1,比較文字列または変数2,ラベル) 5854
JUMP>(変数1,変数2または数字文字列,ラベル) 5877
JUMPE(変数1,比較文字列または変数2,ラベル) 5900
JUMPE<(変数1,変数2または数字文字列,ラベル) 5932
JUMPE>(変数1,変数2または数字文字列,ラベル) 5955
JUMPFILEN(変数または文字列,ラベル) 5978
JUMPFILEY(変数または文字列,ラベル) 6002
JUMPSRCHN(比較元文字列または変数1,変数2,ラベル) 6026
JUMPSRCHY(比較元文字列または変数1,変数2,ラベル) 6051
LAPTIME(変数1,変数2) 6076
LASTDATE(変数,区分挿入文字列[任意]) 6100
LASTTIME(変数,区分挿入文字列[任意]) 6141
LASTSTIME(変数,区分挿入文字列[任意]) 6182
LEFT(変数1,左側よりカット指定(文字数または変数2)) 6223
[0400]
LEFT(変数1,左側よりカット指定(文字数または変数2),変数3) 6223
LENGTH(変数1,変数2) 6260
LOGCLOSE 6279
LOGOPEN(変数または文字列) 6294
LOGTIME(変数,区分挿入文字列[任意]) 6393
LOWCASE(変数1,変数2) 6436
MACROVER(変数) 6456
MAKERB(変数1,変数2) 6487
MASKCRT(ON,OFF) 6537
MDUMP(変数または文字列) 6559
MDUMP(変数または文字列,変数 2または文字列) 6559
MKDIR(変数または文字列) 6610
MOD(変数1,変数2または文字列2,変数3または文字列3) 6632
MUL(変数1,変数2または文字列2,変数3または文字列3) 6662
NJUMP(変数または文字列,ラベル) 6684
OFF 6719
OCLOSE 6731
OOPEN(ファイル名) 6748
OOPEN(ファイル名,ラベル) 6748
OPENCHK(変数,文字列または変数名) 6784
OREAD(変数名) 6824
OREAD(変数名,ラベル) 6824
PAUSE 6864
PAUSE(変数または文字列) 6864
PAUSE(変数1または文字列1,変数2または文字列2) 6864
[0450]
PICKWORD(変数1,変数2,変数3または文字列3[区切り文字]) 6910
POS(変数1,変数2または文字列,検索文字) 6951
PRINT(変数または文字列) 6981
PRINT(変数1または文字列1,変数2または文字列2) 6981
PRINTCR(変数または文字列) 7021
PRINTCR(変数1または文字列1,変数2または文字列2) 7021
PRINTER(ON,OFF) 7060
QUIT(文字列または変数) 7084
RCLOSE 7110
RETURN 7123
RIGHT(変数1,右側よりカット指定(文字数または変数2)) 7145
RIGHT(変数1,右側よりカット指定(文字数または変数2),変数3) 7145
ROPEN(ファイル名) 7182
ROPEN(ファイル名,ラベル) 7182
RPOINT(変数1) 7218
RPOINT(変数1,変数2または文字列) 7218
RREAD(変数名) 7270
RREAD(変数名,ラベル) 7270
SAVEWDAT(変数1,変数2または文字列,変数3または文字列) 7301
SAVEW5B(変数1または文字列1,変数2または文字列2,変数3) 7374
SAVEW5D(変数1または文字列1,変数2または文字列2,変数3) 7402
SEND(文字列または変数) 7431
SEND(文字列,文字列2または変数2) 7431
SEND(文字列,文字列2または変数2,文字列3または変数3) 7431
SETTIME 7496
[0500]
SMENU(変数1,変数2,変数3) 7514
STIMEOUT(文字列または変数,ラベル) 7608
STRCAT(変数,変数または文字列) 7647
STRCAT(変数1,変数2または文字列2,変数3または文字列3) 7647
SUB(変数1,変数2または文字列2,変数3または文字列3) 7676
SWITCH 7699
SWITCH(文字列または変数) 7699
SWITCH(文字列または変数,ラベル) 7699
CASE(文字列またはコントロールコード) 7701
END 7703
TABSPACE(変数1) 7763
TAPPEND(ファイル名) 7774
TAPPEND(ファイル名,ラベル) 7774
TCLOSE 7810
TELFEE(変数1,変数2) 7823
TIME(変数,区分挿入文字列[任意]) 7852
TIMED(ON,OFF) 7880
TIMEOUT(文字列または変数,ラベル) 7899
TOPEN(ファイル名) 7936
TOPEN(ファイル名,ラベル) 7936
UPCASE(変数1,変数2) 7962
UPLOAD(番号,ファイル名) 7983
UPLOAD(番号,ファイル名,ラベル) 7983
UPTEXT(番号,ファイル名) 8041
UPTEXT(番号,ファイル名,ラベル) 8041
[0550]
VCLEAR 8091
VCLEAR(文字列[変数名]) 8091
VCLEAR(文字列1[変数名1],文字列2[変数名2]) 8091
VCLEAR2 8042
VCLEAR2(文字列[変数名]) 8042
VCLEAR2(文字列1[変数名1],文字列2[変数名2]) 8042
VCONVERT(ON,OFF) 8193
VLIST 8221
VSWAP(変数1,変数2) 8246
VSWITCH(変数) 8276
CASE(文字列またはコントロールコード) 8276
ELSE 8280
END 8282
VTACHG 8322
VTCLEAR 8344
VTCLEAR(文字列[変数名]) 8344
VTCLEAR(文字列1[変数名1],文字列2[変数名2]) 8344
VTCOPY 8396
VTCOPY(文字列[変数名]) 8396
VTCOPY(文字列1[変数名1],文字列2[変数名2]) 8396
VTLIST 8454
VTOCHG(変数1,文字列[変数名]) 8482
VTOCHG2(文字列[変数名]) 8505
VTOCHG2(文字列1[変数名1],文字列2[変数名2]) 8505
VTSWAP(文字列1[変数名1],文字列2[変数名2]) 8564
[0600]
WAIT(変数または文字列) 8590
WAIT(変数1または文字列1,変数2または文字列2,ラベル) 8590
WAPPEND(ファイル名) 8661
WAPPEND(ファイル名,ラベル) 8661
WCLOSE 8701
WEEK(変数) 8717
WEEK(変数1,変数2または文字列) 8717
WOPEN(ファイル名) 8765
WOPEN(ファイル名,ラベル) 8765
WRITE(変数名) 8808
WRITE(変数名,ラベル) 8808
WRITELOG(変数または文字列) 8838
YJUMP(変数または文字列,ラベル) 8864
【第10章】 SAMPLE.MAC 8934
NIFTY Serve にある WTERM 用マクロ 8969
【第11章】 マクロを制作され、公開される方々へ 9141
【第12章】 実行時表示 ・ その他 9242
【第13章】 マクロ機能別分類表 9281
1. 送信関係コマンド 9285
2. ファイル操作関係コマンド 9357
3. キーボード入力関係コマンド 9439
4. 画面表示関係コマンド 9457
5. 数値操作関数 9473
6. 文字列操作関数 9484
7. 日時操作関連 9513
[0650]
8. 変数および待避変数関連 9532
9. その他 9557
【第14章】 資料 ASCIIコード表 9594
【第15章】 WTERM の使用者の方へ、また再配布される方へ 9788
【第16章】 免責事項 9887
【第17章】 著作権について 9922
===============================================================================
【ご挨拶】
===============================================================================
[0700]
みなさま、ますますご活躍の事とお喜び申し上げます。
平素は、WTERM に格別の御愛顧を賜り心よりお礼申し上げます。
スピード、プログラムサイズの増大を極力抑えるように作りましたが、機能的に
は、一般の通信ソフト並には機能向上を致しました。一度ご利用下さるようお願
い致します。
===============================================================================
【謝辞】
===============================================================================
本ドキュメントの添削及び、マクロの拡張及び多種にわたるアイデア、また数多
くの御指摘をいただきまして皆様には大変感謝しております。
その中でも、NIFTY-Serve の会員である KAZの宮(森氏)・HALKON (紺野氏)
・Teru(小橋氏)・遊一郎(槙奥氏)には、バグ取り、また多彩なアイデアの提
供をしていただきまして大変感謝しております。
またマクロを作ってみようの章では、AlphineII (野村氏)の文章を使用させて
いただきました。
また、マクロハイテク講座の章では安富伸浩氏の文章を、転記させていただきま
した。
また、MAKERB機能に関しては、TAKA(井村氏)にはご協力ならびに制作負担をお
かけいたしまして感謝しております。
NIFTY FWTERM、マクロ専用会議室及び、PC-VAN JWTERMで、マクロ製作者からの
多数のアイデアを求め、さらなる改良に繋がりありがとうございました。
===============================================================================
【第 1章】 マクロの使用方法 及び 実行方法 及び 実行中断
===============================================================================
・マクロファイルは、指定しなければ必ず MACRODIR に、おいて下さい。
指定していなければ カレントディレクトリーです。
用語 MACRODIR F7 -[4]-5 MACRO用格納PATHで 指定した場所
・マクロファイルは、テキストファイルです。お手持ちのエディター等で作成し
てください。
[ 呼びだし方法 ]
------------------------------------------------------------------------
1.マクロファイルの指定は、WTERM のオートログイン文字列をチェックし、
"\#"を見つけた場合、それ以降の文字列をマクロファイル名とみなして、マ
クロを実行します。
通常マクロ名だけの場合はマクロファイル格納ドライブから読み込みます。
1.1 マクロを先頭から実行する場合。
書式例
[in:]\I[rd:]\P\#WWIV.MAC [0750]
結果
MACRODIRのWWIV.MACを読み込みマクロを実行します。
書式例
[in:]\I[rd:]\P\#B:\DATA\WWIV.MAC
^^^^^^^^
結果
B:\DATA\WWIV.MACを読み込みマクロを実行します。
1.2 マクロの指定したラベルから実行したい場合は、ファイル名に$ を付け、
その後にラベル名を書きます。
書式例
[in:]\I[rd:]\P\#WWIV.MAC$START
結果
MACRODIRのWWIV.MACを読み込み、その中のラベル[START] から実行開
始します。
2.SHIFT+ F・6 の 6番目で任意のマクロを呼び出す事も可能です。
書式は上記と同じです。 \#マクロファイル名
3.別途送出文字列定義で、任意のマクロを実行する事が可能です。
書き込みは、F7-3です。
呼び出し方法は、左矢印キー(←)です。
書式例
\#WWIV.MAC
結果
MACRODIRのWWIV.MACを読み込みマクロを実行します。
書式例
\#B:\DATA\WWIV.MAC
^^^^^^^^
結果
B:\DATA\WWIV.MACを読み込みマクロを実行します。
書式例
\#WWIV.MAC$START
結果
MACRODIRのWWIV.MACを読み込み、その中のラベル[START] から、実行開始
します。
4.起動直後から起動する。
[0800]
書式例
WTERM -_
WTERM -_macro_file
-_は、マクロテストモードです。
-_以降の指定のマクロファイルを起動後単独実行します。
拡張命令を使用すれば、マクロのインストール等可能です。
その場合には、通信中に限られるSENDや、WAIT命令などは使用できません。
[ 中断もしくは、中止方法 ]
------------------------------------------------------------------------
マクロの途中中断は、ESC キーを押して下さい。(通常時)
ESCEXIT(OFF)とした場合
通常は、ESC キーで中断しますが、ESCEXIT(OFF)とした場合は、SHIFT+ ESC
(SHIFT キーを押しながら、同時にESC キーを押す)でしか中断しません。
このモードの際は、F1の位置に"SHIFT" F2の位置に "+ESC" F3の位置には、
"=中断" と表示されます。
===============================================================================
【第 2章】 マクロをデバッグする方へ
===============================================================================
マクロデバッグ用に、システム設定(F7)のその他設定項目に、マクロログの記
録の有無を追加しました。
通常は記録しないでお使いください。
記録するに設定すると、マクロ実行中に実行した行を 1行づつ、MACRO.DMP とい
うファイルに記録していきます。なお記録ファイルは、設定の[F7-5]の、DATA格
納場所に設定してあるドライブ、またはディレクトリーに作られます。
なお、MACRO.DMP は、MIFES 等のエデイタのタグジャンプ機能が使えます。
MDUMP(変数または文字列)
MDUMP(変数または文字列,変数 2または文字列)
用途 マクロDUMPの記録をON/OFF します。 [0850]
最初から記録せず任意の場所前後のみ記録したい場合に便利です。
第 2パラメーターを指定した場合は、時間等の記録もします。
それを指定した場合には、一層実行速度が低下します。
注意 MACRO.DMP をONにしている状態で有効です。
[ 一言ポイント 1 ]
------------------------------------------------------------------------
記録した場合 実行速度は異常に遅くなります。
またSENDや、WAIT以外の構文チェック等のデバッグでは、下記の方法もありま
す。
WTERM -~ もしくは、 WTERM -_ または、WTERM -_ マクロ名 で起動する。
F5/F6の表示がでる(通常は接続中のみ)。このまま SHIFT+F・6 を押して
下さい。マクロ文入力で チェックしてみたいマクロを入力してください。
すると、まずマクロ文を読み込みチェックします。OKでなければ、その旨を
表示します。
また、ありえない命令文やスペルチェック(命令の)で該当しないものは、
その旨表示してマクロを中断します。
うまく動作終了すれば、マクロモードから通常モードに戻ります。
[ 一言ポイント 2 ]
------------------------------------------------------------------------
マクロDUMPファイルを取るように設定して、そのログを見ながら確認すると便
利です。
無論エラーの箇所や行数等も、MACRO.DMP に記載されます。
またオプションで、最初から記録せず、任意の場所前後のみ記録したい場合な
ども可能です。
さらにオプションで、時間等も記録できますので、処理系の時間配分、分析に
有効かとおもわれます。
MACRO.DMP 記載例
[0900]
NIFTY 95.11.20 00:00:00
-=-= MACRO DUMP -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
A:\MACRO\LOGIN.MAC 350 Line Reading ......OK
コマンド数=884(1280) 文字数=5318(12288) ラベル数=131(160)
A:\MACRO\LOGIN.MAC 9 LOGCLOSE
A:\MACRO\LOGIN.MAC 11 INPUT(,何をしますか?,3.10)
A:\MACRO\LOGIN.MAC 12 JUMPE(FGALWT,,OVER)
A:\MACRO\LOGIN.MAC 13 SEND(GO )
A:\MACRO\LOGIN.MAC 14 SEND(FGALWT)
A:\MACRO\LOGIN.MAC 15 SEND(\r)
A:\MACRO\LOGIN.MAC 16 SWITCH
A:\MACRO\LOGIN.MAC 17 CASE(1:お知らせ)
A:\MACRO\LOGIN.MAC 18 CALL(EXPSET)
A:\MACRO\LOGIN.MAC 263 CALL(PROMPT)
~~~~~~~ 中 略 ~~~~~~~
A:\MACRO\LOGIN.MAC 118 LOGOPEN(NIF)
A:\MACRO\LOGIN.MAC 119 EXIT
解説
コマンド数= 884(1280)
↑ 現在マクロ有効行数(コメントを除く) ()内は最大コマンド数
文字数 =5318(12288)
↑ 現在マクロ全体の文字数 ()内は最大文字数
ラベル数 = 131(160)
↑ 現在使用中のラベル数 ()内は最大ラベル数
===============================================================================
【第 3章】 マクロの制限事項について
===============================================================================
1. マクロファイルは、最大1280行までです。
2. 定義できるラベルの数は160 個までです。
3. 1 つのCALLに対してのネストは、最大30までです。
4. 構文に対するネストは、最大20までです。
[0950]
5. パラメーターの中に使用できる文字列の総バイト数は、12000 文字までです。
6. CASEで同時に定義できる受信待ち文字列は50個までです。
7. 変数は、すべて""でかこまれた文字型です。
最大99文字(全角文字でいえば漢字48字相当)です。(8 を除く)
8. " クォート (") は、特別の意味でつかっているので、まれに7 番の形式で
はうまくいかなくなる状況があります。
その場合はクォートをはずしてやってみてください。
うまくいくケースがあります。今後の修正課題ですので、不自由な点もあり
ますがご了承ください。
9. 演算の場合(ADD MOD DIV SUB)
範囲は -2147483648 から 2147483647 までの範囲です。
10. 1つの変数に、記憶できる文字列は、最大99文字までです。
11. 1行は、なるべく行末までに納めてください。
===============================================================================
【第 4章】 実行時また実行中のエラーについて
===============================================================================
[ 実行時 ][ 未定義コマンド ]
Q.WTERM のマクロ実行しようとして、未定義コマンド行数というエラーがでま
した。どうすればよいのでしょうか?
A.マクロ命令の綴が間違っている場合があります。
または、最新版でないWTERM を使用していて、最近サポートされた関数、 [1000]
または命令を使っている場合に、該当命令がないために表示されます。
綴を確認して、間違いなければ、WTERM の Versionをご確認ください。
そして最新版のご利用をおすすめします。
[ 実行時 ][ ★Open error ]
Q.WTERM のマクロ実行時に、マクロファイル★Open errorというエラーがでま
した。どのようにすればよいのでしょうか?
A.実行しようとする、マクロファイルが存在しません。マクロファイル格納場
所を確認するか、指定したドライブまたは、ディレクトリーを確認してくだ
さい。
[ 実行時 ][ 文字数オーバー ]
Q.WTERM のマクロ実行時に、文字数オーバーというエラーがでました。どのよ
うにすればよいのでしょうか?
A. 1つのマクロファイルに書ける最大文字列(命令/代入文すべてを含む)は、
最大 12288半角文字(総バイト数)までです。
漢字を含む全角文字は、 1文字に対し 2バイト計算になります。
それ以内に納めるか、チェイン命令を利用して分割してください。
[ 実行時 ][ コマンド数オーバー ]
Q.WTERM のマクロ実行時に、コマンド数オーバーというエラーがでました。
どのようにすればよいのでしょうか?
A. 1つのマクロの最大行数は、最大1280行までです。それをオーバーしている
ので分割してください。
[ 実行時 ][ ラベル数オーバー ]
Q.WTERM のマクロ実行時に、ラベル数オーバーというエラーがでました。
どのようにすればよいのでしょうか?
A. 1つのマクロにおけるラベルの最大数は、160 個までです。それを守ってく
ださい。
[ 実行中 ][ ラベル長が 8文字オーバー ]
Q.WTERM のマクロ実行中に、ラベル長が 8文字オーバーというエラーがでまし
た。どのようにすればよいのでしょうか?
A.ラベル定義の際の最大ラベル長さは、8 文字まで(半角)です。 [1050]
それを守ってください。
[ 実行中 ][ 代入値が変数では ]
Q.WTERM のマクロ実行中に、代入値が変数ではありません、というエラーがで
ました。どのようにすればよいのでしょうか?
A.マクロのドキュメントをみていただければ理解していただけますが、代入値
が必ず変数でなければならない場合があります。
これが発生した場合には、そのマクロ構文を確認してください。変数かどう
か確認して、マクロ命令に添って確認してください。
[ 実行中 ][ SWITCH~END のネストが正しく対応していない[マクロ構文エラー]
Q.WTERM のマクロ実行中に、「SWITCH~END のネストが正し対応していない[
マクロ構文エラー ]」、というエラーがでました。どのすればよいのでしょ
うか?
A. 1つの、SWITCH命令に対して、対になる1 つの END がかならず必要です。
このエラーの場合、SWITCH 1に対しEND が少ないか、多いかの場合です。
マクロ構文を、よく確認してください。
[ 実行中 ][File open Error ]
Q.WTERM のマクロ実行中に、File open Error + ファイル名というエラーがで
ました。どのようにすればよいのでしょうか?
A.以下の命令で、ファイルをOPENしようとして、OPENできないのが原因で発生
するエラーです。
ファイルが存在しない場合は、違うエラーをかえします。(FILE NOT OPEN)
以下のマクロ命令で、表示されるエラーです。
FOPEN
WOPEN
OOPEN
WAPPEND
FLINE
FILER
FILETIME
[ 実行中 ][ File Not Open ]
Q.WTERM のマクロ実行中に、File Not Open というエラーがでました。
どのようにすればよいのでしょうか?
A.OPENすべきファイルが存在しません。ディスク及び格納場所をご確認下さ [1050]
い。下のマクロ命令で、表示されるエラーです。
FCLOSE
OCLOSE
RCLOSE
WCLOSE
FREAD
RREAD
WRITE
[ 実行中 ][ File Read Error ]
Q.WTERM のマクロ実行中に、File Read Error というエラーがでました。
どのようにすればよいのでしょうか?
A.READするファイルが、OPENされていないか(FOPEN ROPEN 命令)、ファイルの
終りきた(EOF)場合にでるエラーです。
以下のマクロ命令で、表示されるエラーです。
FREAD
OREAD
RREAD
[ 実行中 ][ File Write Error ]
Q.WTERM のマクロ実行中に、File Write Error + ファイル名というエラーが
でました。どのようにすればよいのでしょうか?
A.WAPPEND でOPENされた書き込み用ファイルに、書き込む事ができないか、デ
ィスクの空き容量がなくなった場合に表示されるエラーです。
以下のマクロ命令で、表示されるエラーです。
WRITE
[ 実行中 ][ File Not Found ]
Q.WTERM のマクロ実行中に、File Not Found + ファイル名というエラーがで
ました。どのようにすればよいのでしょうか?
A.以下の命令使用時において、ファイルが存在しない場合に表示されるエラー
です。
指定ファイルが指定の場所にあるかどうかご確認下さい。
以下のマクロ命令で、表示されるエラーです。
UPTEXT テキスト送信しようとするファイルが存在しない。
UPLOAD UPLOADすべきファイルが存在しない。
DELFILE 消すファイルが存在しない。 [1150]
FILETIME タイムスタンプを呼び出すべきファイルがない。
[ 実行中 ][ Division by zero ]
Q. WTERM のマクロ実行中に、Division by zeroというエラーがでました。
どのようにすればよいのでしょうか?
A.これは以下の命令使用の際に間違った数値を入れた場合に、出るエラーです。
意味は、ある数値を、 0で除算しようとした場合です。
例
B$ = "100" C$ = "0"
MOD(A$,B$,C$)
解説
100 ÷ 0 というのは、できません。
以下のマクロ命令で、表示されるエラーです。
MOD
[ 実行中 ][ MKDIRエラー指定 ]
Q.WTERM のマクロ実行中に、MKDIRエラー指定 + 名前というエラーがでました。
どうすればよいのでしょうか?
A.メイクディレクトリー(サブディレクトリー作成命令)をしようとした場合
に、既に同名のディレクトリーが存在するか、同名のファイルが存在する場
合に表示されるエラーメッセージです。
以下のマクロ命令で、表示されるエラーです。
MKDIR
[ 実行時 ][ Label Not Found ]
Q.WTERM のマクロ実行中に、Label Not Found + ラベル名というエラーがでま
した。どうすればよいのでしょうか?
A.これは、ジャンプすべきラベル(GOTO命令等)が、マクロ中に存在しない場
合に出るエラーメッセージです。
ラベル名をご確認ください。
以下のマクロ命令や、判定時やエラー時で、ジャンプする命令のマクロ命令
使用時に表示されます。
GOTO
エラー処理でラベルにジャンプするようなマクロ命令
[ 実行時 ][ File Already open]
[1200]
Q.WTERM のマクロ実行中に、File Already opened というエラーがでました。
どうすればよいのでしょうか?
A.これは、以下のマクロ命令で、OPENしようとした場合に、すでに同命令で、
ファイルがOPENされていた場合にでる、エラーメッセージ( 2重にOPENし
ようとした)
以下のマクロ命令で、表示されるエラーです。
FOPEN
ROPEN
WOPEN
WAPPEND
[ 実行中 ][ DELETE ERROR ]
Q.WTERM のマクロ実行中に、DELETE ERROR +ファイル名というエラーがでまし
た。どうすればよいのでしょうか?
A.指定されたファイルが、削除できない場合に表示されるエラーメッセージで
す。
削除禁止などがしてある場合にでます。
以下のマクロ命令で、表示されるエラーです。
DELFILE
[ 実行中 ][ ウィンドウエリアの解放に失敗しました リセットして下さい]
Q.WTERM のマクロ実行中もしくは、実行しようとして、ウィンドウエリアの解
放に失敗しました リセットして下さい
FAILED IN OPENING WINDOW AREA!! PLEASE RESET !!
といエラーメッセージがでました。どうすればよいのでしょうか?
A.そのマクロ文の中の、以下の命令に関して、命令文の中の文字数が多かった
り、判定文字列が長すぎたりした場合、表示される可能性が多いエラーです。
以下のマクロ命令をよくご確認ください。
CASE
WAIT
SWITCHI ~ END
VSWITCHI ~ END
ELSE
例
SWITCH文の中に、CALL文がはいってる場合など
[ 実行中 ][ マクロの途中中断ができない]
[1250]
Q.WTERM のマクロ実行中に、ESC キーを押して中断しようとしているのに、中
断できません。
A.マクロ文中に、ESCEXIT(OFF) としてありませんか?
この命令を、実行したあとは、再度 ESCEXIT(ON)と指定しない限り、ESC が
中断ではなく、SHIFT+ ESC(SHIFT キーを押しながら、同じにESC キーを押
す)でしか中断しません。
このモードの際は、F1の位置に"SHIFT" F2の位置に "+ESC" F3の位置には、
"=中断" と表示されます。
===============================================================================
【第 5章】 ラベルとコメントについて
===============================================================================
[ ラベルについて ]
--------------------------------------------
GOTO,CALL等でジャンプ先を示す場合の印です。
8文字以内で記述し、最後に : を付けてください [1300]
ラベルは行の先頭に記述しなければなりません。(スペース、タブはOK)
書式例
ラベル:
START: # ラベルの定義
wait("Help=> ? ") # コマンド(パラメーター)
send("O") # 送る (パラメーター)
1行の形式は、上記の通りです。
行中のスペース、タブは無視します。(" "で囲まれた所は別です)
[ コメント ]
--------------------------------------------
マクロ命令の後に続く # 以降の文字列はコメントとされます。
例 コメント
GOTO(START) # STARTにジャンプ
CASE("読みますか?") # 文字列待ち
SEND(" ") # スペ-スを送る
[ マクロ命令からコメントまでの間の制限 ]
--------------------------------------------
また、マクロ命令からコメントまでの間に、半角スペース以外のコードが、
記入されているとエラーになります。(例 全角スペースやTAB など)
===============================================================================
【第 6章】 マクロ中に使用できる 変数について
===============================================================================
[1350]
マクロの中では、A$ ~ Z$ と、A% ~ Z% と、TEMP_A$ ~ TEMP_Z$
迄の変数が使えます。
変数には、文字列または変数を、代入することが出来ます。
例 A$="ABCD" 変数A$に文字列 ABCD を代入します。
B$=C$ 変数B$に変数 C$ の内容を代入します。
[ マクロ使用可能な変数名 ]
A$ , B$ , C$ , D$ , E$ , F$ , G$ , H$ , I$ , J$ , K$ , L$ , M$ ,
N$ , O$ , P$ , Q$ , R$ , S$ , T$ , U$ , V$ , W$ , X$ , Y$ , Z$
A% , B% , C% , D% , E% , F% , G% , H% , I% , J% , K% , L% , M% ,
N% , O% , P% , Q% , R% , S% , T% , U% , V% , W% , X% , Y% , Z%
TEMP_A$ , TEMP_B$ , TEMP_C$ , TEMP_D$ , TEMP_E$ , TEMP_F$ , TEMP_G$ ,
TEMP_H$ , TEMP_I$ , TEMP_J$ , TEMP_K$ , TEMP_L$ , TEMP_M$ , TEMP_N$ ,
TEMP_O$ , TEMP_P$ , TEMP_Q$ , TEMP_R$ , TEMP_S$ , TEMP_T$ , TEMP_U$ ,
TEMP_V$ , TEMP_W$ , TEMP_X$ , TEMP_Y$ , TEMP_Z$
現在使用中の変数の内容を、表示する命令があります。
命令 VLIST
変数の内容を、すべてクリアする命令もあります。
命令 VCLEAR ( A$ ~ Z $ )
命令 VCLEAR2 ( A% ~ Z % )
変数の指定範囲をクリアする命令もあります。
複数の指定なら、その指定すべてを初期化します。
命令 VCLEAR(文字列[変数名]) ( A$ ~ Z $ )
命令 VCLEAR2(文字列[変数名]) ( A% ~ Z % )
変数の指定範囲を第 1パラメーターで指定された変数から第 2パラメータで指
定された変数までの間すべてを初期化します。
命令 VCLEAR(文字列1[変数名1]、文字列2[変数名2]) ( A$ ~ Z $ )
命令 VCLEAR2(文字列1[変数名1]、文字列2[変数名2]) ( A% ~ Z % )
退避中の変数の内容を、すべてクリアする命令もあります。
命令 VTCLEAR
退避中の変数の複数指定すべてを初期化します。
命令 VTCLEAR(文字列[変数名]) [1400]
退避中の変数の第1 パラメーターで指定された変数から第2 パラメータで指定
された退避中の変数までの間すべてを初期化します。
命令 VTCLEAR(文字列1[変数名1]、文字列2[変数名2])
変数の内容を、すべて一時退避する命令もあります。 (有効 A$ ~ Z$ )
命令 VTCOPY
変数の内容を、複数指定で一時退避する命令もあります。(有効 A$ ~ Z$ )
命令 VTCOPY(文字列[変数名])
変数の内容を、第2 パラメーターで指定された変数の内容のみを、第 1パラメ
ーターで指定された内部バッファーに格納します。 (有効 A$ ~ Z$ )
命令 VTCOPY(文字列[変数名]、文字列2[変数名2])
現在退避中の変数の内容を、表示する命令があります。
命令 VTLIST
現在退避中の変数の内容を、変数A-Z$ にそのまま戻す命令があります。
(有効 A$ ~ Z$ )
命令 VTACHG
現在退避中の任意の変数の内容を指定の変数にそのまま戻す命令があります。
(有効 A$ ~ Z$ )
命令 VTOCHG(変数1、文字列[変数名])
現在退避中の変数の複数指定のすべてに対し内容を指定の変数にそのまま戻し
ます。 (有効 A$ ~ Z$ )
命令 VTOCHG2(文字列[変数名])
現在退避中の変数の第 1パラメーターで指定された退避変数から、第 2パラメ
ーターで指定された退避変数の内容を、同名の変数に格納します。
命令 VTOCHG2(文字列1[変数名1]、文字列2[変数名2])
指定変数の内容を入れ換える命令もあります。 (有効 A$ ~ Z$ )
命令 VSWAP(変数1、変数2)
指定退避変数の内容を入れ換える命令もあります。
命令 VTSWAP(変数1、変数2)
[1450]
===============================================================================
【第 7章】 マクロの作り方入門
===============================================================================
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
1. マクロとは
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
通信ソフトとはマシンのRS-232C を制御し、モデムをコントロールすることに
よってホストコンピュータと回線を繋ぐというのが目的です。
しかし、大抵のネットワークではIDとパスワードを聞いてきます。これにいち
いち人間が対応して入力してやってもいいんですが、必ず聞いてくると分って
いるんですから、この辺まで通信ソフトが受持ってくれた方が使いやすいに決
まっています。
しかし、ひとりひとりアクセスする方法が異なり、ネットワーク毎にやり取り
する内容は異なります。また、受けたいサービスの内容も異なります。従って、
色々な場合に対応するために、通信ソフトはある程度の自由度を持ったものに
なってしまいます。自由度を大きくするために通信ソフトではマクロ(補助言
語)によるプログラミングが可能なのが普通です。
WTERM もそうした他の通信ソフトと同様マクロ機能が搭載されています。
Ver7.80まではマクロでできることがかなり限られていましたが、Versionが上
がるに従い機能追加をして、ほぼ現在では市販の通信ソフト並びもしくは、そ
れ以上の機能が搭載され、通信中にやりたいことは大抵マクロで出来る様にな
りました。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
2. 実際に使ってみよう
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
通信という性格から、こういう文字が送られてきたら、こういう文字を送り返
すというのが基本になります。
ホスト側から送られてくる文字を待ち、それに対応する文字をホスト側に返し
ます。以上の動作をマクロで行こなう場合に使用する命令は、送られてくる文
字を待つ命令は WAIT です。また、文字列を送る命令は SEND です。
これらは、次の様に使います。
WAIT("<<文字列>>") <<文字列>> という文字列を受信するまで待ちます。
SEND("<<文字列>>") <<文字列>> という文字列を送信します。 [1500]
送信したい文字列に改行、ID、パスワードといった特別な意味を持つ物は、
"\" + アルファベット 1文字で送ることが可能です。(改行は "\R"、IDは、
"\I"、パスワードは "\P" 、文字コードを送る場合は "\nnn"[nnnは0- 255ま
での、10進数]などがあります)。
では、一例として、NIFTY(FENICS ROAD 1)にログインする時を考えてみまし
ょう。
接続後
.00+ [センターへ接続する命令]
COM
Enter Connection-ID --->SVC [NIFTY-Serveへ ]
Enter User-ID --->ABC01234 [IDを入力 ]
Enter Password ---> [PASSWORDを入力]
ようこそNIFTY-Serveへ
Copyright (C) 1991
by NIFTY Corporation
All Rights Reserved
前回LOG OUT 91/12/01 00:00:00
この時の動作をまとめると次の様になります。
1)".00+" を送る。
2)"Enter Connection-ID --->" とメッセージが送られて入力待ちになる。
3)"SVC" と送る。
4)"Enter User-ID --->" とメッセージが送られて入力待ちになる。
5)"ABC01234"(ID)を送る
6)"Enter Password --->" とメッセージが送られて入力待ちになる。
7)パスワードを送る。但し、これは画面に表示されない。
8)NIFTYのウエルカムメッセージが表示されログイン完了。
まず、送るという所を SEND を使って作って見ましょう。
1)は次の様に出来ると思います。
SEND(".00+")
この調子で3)、5)、7) を書き換えて見て下さい。次の様になっていれば、
正解です。
SEND("SVC\R")
SEND("\I\R")
SEND("\P\R")
メッセージの後ろに \R が付いていますが、これは改行を行うためです。
1) の場合は改行がいらないのでついていないわけです。
次に文字列を待っている部分を書き換えて見ましょう。 2)はこの様になりま
す。 [1550]
WAIT("Enter Connection-ID --->")
これをまねて4)6)を書き換えてみて下さい。次の様になれば正解です。
WAIT("Enter User-ID --->")
WAIT("Enter Password --->")
以上ですべて書き換えました。順番通りに並べてみましょう。
SEND(".00+")
WAIT("Enter Connection-ID --->")
SEND("SVC\R")
WAIT("Enter User-ID --->")
SEND("\I")
WAIT("Enter Password --->")
SEND("\P")
これで、ログイン部分のマクロができた訳です。 これを LOGIN.MAC というフ
ァイル名でセーブしておいて下さい。
せっかく作ったマクロですが、WTERM の方が勝手に実行してくれるという訳で
はありません。これも指定してやらなければなりません。さきほど作ったマク
ロは、LOGIN.MAC というファイル名でセーブされている筈ですから、このファ
イルを設定F7-5-4のマクロ指定ドライブに格納してください。
そして、オートログイン文字列の設定の所に、
\#LOGIN.MAC
としておくか、回線が繋がった後にマクロの実行で、LOGIN.MAC を選択して下
さい。
これは接続後 SHIFT+F6の 8(マクロファイル名を入力 実行)をおして下さ
い。
さて、実際にアクセスしてみましょう。うまくいったでしょ。基本はたったの
これだけです。簡単でしょ。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
3. さらに発展させて、、、
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
たとえば、 A君は必ず FWTERM に入って会議室の未読を読むというのが、アク
セスした時の決まりになっているとしましょう。A 君の場合、FWTERMにいって
会議室を読むというのも、IDやパスワードの送信と同じく毎回することですか
ら、マクロにしておいた方がよさそうです。さて、さきほどのログの続きです。
まず、フォーラムに入りましょう。目的のフォーラムに直接入るためには、GO
コマンドが便利なのでこれを使います。
>GO FWTERM
WTERM ユーザースでのログインネーム《 A君 》 [1600]
----------------------------------------------------------------
WTERM の仲間!みんな集まれ。ようこそ FGALWT
----------------------------------------------------------------
質問等は掲示板ではなく会議室へお願いします
定例RTは、金曜日の22~23時です。お気軽にどうぞ!!
----------------------------------------------------------------
<FGAL・WTERM ユーザーズ> FWTERM
1:お知らせ 2:掲示板 3:電子会議
4:データライブラリ 5:会員情報 6:リアルタイム会議
7:SYSOP 宛メール 8:オプション E:終了
>
ここで、3 を入力し、電子会議に入り、そして、未読を全部読む命令MRE を、
実行すれば目的が果されます。
>3
--------------------------------------------------------------------
WTERMに関するご質問は,2番会議室に、お寄せ下さい。
マクロに関する話題・ご質問は使用されるマクロによって分かれており
4,5,6,9番会議室にお願い致します。
--------------------------------------------------------------------
番号 発言 (未読) 最新 会議室名
1 258 ( 258) 02/16 □F : 名刺交換:こんにちはどうぞよろしく
2 716 ( 716) 02/16 □W : WT質疑:WTERM・?・Q&A?
3 472 ( 472) 02/16 □T : 金粉ショー:幸せのキーボードは桃色☆
4 293 ( 293) 02/16 □E : 特定会議:WTNIF マクロ道場
5 244 ( 244) 02/16 □R : 特定会議:NIFMCR3マクロ道場
6 228 ( 228) 02/16 □M : 特定会議:その他の マクロ道場
7 11 ( 11) 02/01 □ : 特定会議:NIF_AUTO マクロ道場
8 40 ( 40) 02/16 □ : 特定会議:NIFカンタンA マクロ道場
9 127 ( 127) 02/16 □ : 特定会議:NEST マクロ道場
10 87 ( 87) 02/16 □ : 総合案内 FGALWT SYSTEM INFORMATION
11 34 ( 34) 02/09 (^o^)/一問一答:WTERM 活用 Q&A 講座
12 15 ( 0) 02/01 □ : 軟件活用:WTERMを巡るソフト達
13 184 ( 0) 02/16 ■Win: 特別会場 :WTERM for Win
14 210 ( 0) 02/16 △ : WT要望:次 Versionを考える検討会
16 999 ( 0) 02/16 ◎壁 : =-=-= K A B E =-=-= (-。-)y-゚゚゚゚
18 2450 ( 0) 02/09 □ : WT広場:いわゆるフリートーキング
19 660 ( 0) 02/10 △ : 特設会議: ------------------------
20 410 ( 10) 02/16 □ : 新着案内★ライブラリソフト新鮮情報
>MRE
こんな具合にログは続いていきます。では、これからマクロを作成していきま
しょう。この時の動作は以下の様になると思います。
[1650]
1)"GO FWTERM" を送る。
2)">" を待つ。
3)"3" を送る。
4)">" を待つ。
5)"MRE" を送る。
6)">" を待つ。
これらは既にやったことだけです。簡単にマクロにすることができますね。
やってみましょう。
SEND("GO FWTERM\R")
WAIT(">")
SEND("3\R")
WAIT(">")
SEND("MRE\R")
WAIT(">")
こんな具合になったでしょうか。しかしこれは完全という訳ではありません。
<FGAL・WTERM ユーザーズ> FWTERM
の行を見て下さい。"ーズ" の後ろに ">" があるためここで 3 を送ってしま
うのです。もう一度動作をよく考えてみましょう。 "ーズ"の後ろの ">"とプ
ロンプトの">"を区別してやらなければなりません。違いを判断材料にすれば
よいわけですね。相違点は、プロンプトの場合は ">"で改行していますが、
"ーズ>"の場合は改行せず、次にFWTERMと続いて改行しています。
そこで次の様にしましょう。
1)"GO FWTERM" を送る。
2)改行文字 + ">" を待つ。
3)"3" を送る。
4)改行文字 + ">" を待つ。
5)"MRE" を送る。
6)改行文字 + ">" を待つ。
これなら "ーズ" の後ろの ">" には反応しませんね。改行文字を待つには、
次の様にします。
WAIT("\010")
"\" の後ろに文字コードを入れてやればいいんです。ですから、マクロはこの
様に直しましょう。
SEND("GO FWTERM\R")
WAIT("\010>")
SEND("3\R")
WAIT("\010>")
SEND("MRE\R")
WAIT("\010>") [1700]
さて、実はまだこれでも誤動作を起こしてしまうのです。え?と思われるかも
知れませんが、事実です。仮に誰かがアーティクルの中で行頭に ">" を使っ
ていたとしましょう。そうするとこれはまさしく、改行文字 + ">"ですから、
最後の WAIT 命令が実行されてしまい、次の命令に勝手に進んでしまいます。
このことから、マクロを作る時は注意深く作らなければいけない、また、アー
ティクル中にプロンプトとまぎらわしい文字を入れることは迷惑なことだとい
うことが分って頂けると思います。
WTNIF(by HALKON)ではこんな具合にしてMRE コマンドの終了を判定しています。
(全く同じではありません。)
PRMPT:
TIMEOUT(0)
SWITCH
CASE(">")
GOTO(CHK)
END
CHK:
TIMEOUT(2)
SWITCH
CASE("\R")
GOTO(PRMPT)
CASE(" ")
GOTO(PRMPT)
CASE(" ")
GOTO(PRMPT)
END
詳しい説明は、ここではしませんが、">"を受信した後で、よく使われるはず
の文字が送られてこないことで表示が終ったと判断している訳です。
新たな命令が幾つかでてきましたが、BASICやCを御存知なら大体やっているこ
とが想像つくと思います。 GOTO は対応しているラベルにジャンプする命令で
す。ラベルは、"CHK:"の様に文字列の後ろに":" を付けることで表わします。
SWITCH~CASE~END は受信文字列に該当するものがあれば、それに対応して反
応するという分岐命令です。TIMEOUT 命令はWAITで待つ時間を設定する命令で
す。ですから、"CHK:"の後ろのSWITCHでは、2 秒間しか待ちません。0 という
のは、いつまででも待つ様にしているのです。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
4. まとめ
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
以上をまとめるとこんな感じのマクロになるでしょうか。
SEND(".00+")
WAIT("Enter Connection-ID --->")
SEND("SVC\R") [1750]
WAIT("Enter User-ID --->")
SEND("\I")
WAIT("Enter Password --->")
SEND("\P")
SEND("GO FWTERM\R")
WAIT("\010>")
SEND("3\R")
WAIT("\010>")
SEND("MRE\R")
PRMPT:
TIMEOUT(0)
SWITCH
CASE(">")
GOTO(CHK)
END
CHK:
TIMEOUT(2)
SWITCH
CASE("\R")
GOTO(PRMPT)
CASE(" ")
GOTO(PRMPT)
CASE(" ")
GOTO(PRMPT)
END
いかにもマクロって感じになってきましたね。
初めにも書いたようにマクロの基本はSENDとWAITです。
それと動作制御のGOTO, SWITCH~CASE~END などと組み合わせるだけです。
マクロの命令自体は単純です。難しいのは手順を考えることです。
これさえしっかり出来れば、もうあなたもマクロプログラマです。
それでは、頑張って下さい。
この章 野村 和正
[1800]
===============================================================================
【第 8章】 マクロハイテク講座
===============================================================================
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
1. イベントドリブン
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
イベントドリブンは、最近のはやりのプログラミングの方法論[*1]の一つで、
す。なにかの事象(イベント)が起こったことに反応して動くやり方を、示し
ています。Windows のプログラミングなどでは基本的なテクニックになってい
ます。
[*1]パラダイムなんて呼ぶとそれっぽいやつですね。何のことはない
単なる考え方のことです。
さて、WTERM のマクロでこの方法を使うと、面倒なやり取りが簡単に記述でき
ます。実際には switch case end を使ったループを作るだけで実現できます。
マクロで捕まえるべきイベントとは、ホストから送られてくる文字列ですから、
これで可能なわけです。
次に示すのが、実際マクロを書く場合の基本形です。特定の文字列が到着す
るごとに対応した処理をします。
REPEAT:
SWITCH
CASE("XXX")
"XXX" をに対応した処理
CASE("YYY")
"YYY" をに対応した処理
CASE("ZZZ")
"ZZZ" をに対応した処理
END
GOTO(REPEAT)
例えば、NIFTY のオートログイン処理を考えると以下のような記述になります。
LOGIN:
SWITCH [1850]
CASE("tion-ID --->") # サービス名称
SEND("SVC\r")
CASE("User-ID --->") # ユーザー名
SEND("\i\r")
CASE("Password --->") # パスワード
SEND("\p\r")
CASE("\010>") # 終了
GOTO(ENDLOGIN)
END
GOTO(LOGIN)
ENDLOGIN:
もちろん、WAIT()を使っても同じことが可能です。しかし、この方法の利点は、
順番を厳密にしなくて済む、変更が容易、ホストの仕様変更に強い、いくつか
の条件を同時に待つことができる、などの手段がいくつもあります。
上記のログイン処理では、文字化けなどでの再入力の要求の処理を特に記述し
なくても実現できます。このように柔軟な性質を持っている訳です。
これは、初心者マクロプログラマにもお薦めの常套手段です。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
2. 多方向分岐
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
WTERM のマクロの面白いところは、引数がすべて文字列であり、そのすべてが
平等に扱われている点にあります。
数も数字で構成された文字列であり、命令の引数としてかかれたものは、変数
以外は文字列として格納されます。そして、変数は実行時には文字列を表すわ
けです。
無条件ジャンプ命令のGOTO() の飛び先を示すラベルも実は単なる文字列で
す。したがって、
GOTO(foo)
と
A$="foo"
GOTO(A$)
は、ともに FOO: と名前のついたラベルに分岐します。
CALL() でも同様です。これが何の役に立つのでしょうか。NIFMCR3 では積極
的にこの性質を使っています。
例えば、NIFMCR3 の命令語判定し、それぞれの処理へ分岐する部分を素直に書
くと次のようになります。 [1900]
PICWORD(R$, L$, ":") # キーワード取り出し
JUMPE(r$, "TO", TO) # メイルの送信
JUMPE(r$, "MES", MES) # 会議室の発言
JUMPE(r$, "DOWN", DOWN) # ライブラリのダウンロード
JUMPE(r$, "LIST", LIST) # ライブラリの一覧
: 以下同様
これを変数を使った分岐で処理すると、次のようにわずかなマクロ命令で同じ
処理ができます。
PICWORD(R$, L$, ":") # キーワード取り出し
GOTO(r$) # 処理ルーチンへ分岐
この方法を使った場合、ラベルの名前がある程度制限される欠点があります。
しかし、この欠点は分岐前に名前の変換処理などをすれば容易に解決できる程
度のものです。上手に使うと大変効果があります。
初期のBASIC などでも似たような技が使えました。今でもLispなどでは、こう
いったことができます。インタプリタ言語ならではのおもしろいさが感じられ
ます。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
3. 選択項目の検査
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
前回の多方向分岐は、うまく使えば強力な使い方になります。しかし、問題は
それほど簡単ではありません。
たとえは、分岐のひな型を考えてみましょう。
FREAD(L$) # ファイルから 1 行読む
PICKWORD(R$, L$, ":") # ":" までを取り出す。
GOTO(R$) # TO/MES/DOWN などへ分岐する
これでも、一応動作はします。しかし、このままでは問題が起きる場合が存在
します。どういう場合でしょうか?
それは、必ずしも正しい命令がくると保証できないからです。
たとえば、MES: と書くべきところを MESS: と書いた場合はどうでしょう。
そのようなラベルはない(エラー)か、全く意図したとは別のところへ行くこ
とになります。
そのラベルが存在するかどうか、あらかじめチェックする必要があります。
なるべく簡単に、正しいかどうか検査する方法はないでしょうか。この方法の
ヒントは、文字列の検索判定を活用するところにあります。
[1950]
JUMPSRCHN("TO MES DOWN LIST HP ...", R$, ERROR)
GOTO(r$) # TO/MES/DOWN などへ分岐する
このほうほうなら、文字列に含まれないものは ERROR に行くので問題がなく
なります。
これで、問題がすべて解決かと言うとそうでもありません。 R$ が "LI" など
という短いものだと誤判定をしてしまいます。そこで、工夫として判定前に前
後に文字を追加します。
INS(R$, 1, ":") # 判定用文字の追加
CAT(R$, ":")
JUMPSRCHN(":TO:MES:DOWN:LIST:HP:...", R$, ERROR)
CHANGE(R$, ":", "") # 判定用文字を除く
GOTO(R$) # TO/MES/DOWN などへ分岐する
こうすれば、判定ミスもなくなります。いろいろ余分なものが付きましたが、
分岐先が多いならばこれでも効果があります。
このテクニックの応用は分岐先の検査以外にも、パラメーターの検査、フラグ
の検査などに使っています。前処理をサブルーチンにすれば、面倒さも軽減で
きます。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
4. 動的実行制御
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
ハイテク講座 2.で取り上げたように変数には飛び先を納めることができます。
このことをうまく使うと、さまざまな応用ができます。
例えば、A B C と言う 3 つの処理があったとします。講座 (1) で紹介した方
法で書くと次のようになります。
LOOP:
SWITCH
CASE("A の条件")
A の処理
CASE("B の条件")
B の処理
CASE("C の条件")
C の処理
END
GOTO(LOOP)
次に条件は同じで処理だけちょっと異なる、A B C' と言うのが必要になると
どうしますか。そこで変数に飛び先きを入れて制御すると簡単です。
[2000]
S$="PROCC" # 最初の処理ラベル
LOOP:
SWITCH
CASE("A の条件")
A の処理
CASE("B の条件")
B の処理
CASE("C の条件")
GOTO(S$) # 指定された処理へ移る
end
GOTO(LOOP)
PROCC: C の処理
S$="CDASH" # 次の処理を指示する
GOTO(LOOP)
CDASH: C' の処理
GOTO(LOOP)
こういったパターンは意外によく現れますから、うまく使うとかなり効果的な
テクニックになります。
また、GOTO() でなく CALL() でも同様に使えます。サブルーチンを呼ぶ前に
処理ルーチンを変数に与えるのも一つの手ですね。
S$="PROCA" # 最初は A
CALL(SUB)
S$="PROCB" # 次に B
CALL(SUB)
S$="PROCC" # そして C
CALL(SUB)
:
SUB:
:
CALL(S$) # ここは指示された処理を行う
:
RETURN
こういった使い方の利点は、マクロが短くなるだけではありません。
同じ処理が、 1箇所に集まってくれるので修正などを加えた場合など、修正忘
れがなくなります。
逆に欠点としては、制御構造が不透明になることです。何をやろうとしている
のか、しっかりコメントを書いて対処することにしましょう。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
5. フラグを使う [2050]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
メイルが到着している、センドはされないように、この処理は先にする、など
など。後で処理をどうするか指示状態を変数に記録しておくものをフラグとい
います。
たとえは、最初に "--メールが" と表示されたら、M$="MAIL" と設定すれば、
後で読み出し処理を始めることができます。
さて、WTERM のマクロでは、変数は A$ ~ Z$ の26個しか使えません。
(注 現在では、変数は A% ~ Z% の26個も使用できます。 H.INOUE)
かなり貴重な資源です。対してフラグの情報量はあるかないかだけで非常に少
ないのです。つまり、フラグと変数を 1 対 1 で割り当てるのはもったいない
となります。
そこで、1 つの変数に複数のフラグを納める方法を考えてみましょう。
A)変数の特定の位置にフラグを納める
-------------------------------------
変数は文字列ですから長さを持ちます。この長さ方向に値を納める方法です。
N$="0000000000" # 10 個のフラグをクリア
:
P$=1 # フラグ #1 をセット
CALL(SET)
:
P$=3 # フラグ #3 を検査
CALL(CHECK)
JUMPE(S$, "1", MAIL)
:
#------- フラグを制御するサブルーチン ---------------
CHECK: # フラグの状態を検査(p$: フラグ番号)
S$ = N$
COPY(S$, P$, 1) # 指定位置の取り出し
RETURN
RESET:S$="0" # フラグを消す
GOTO(flag)
SET: S$="1" # フラグを設定
FLAG:DEL(N$, P$, 1)
INS(N$, P$, S$)
RETURN
B)名前を使った方法
-------------------------------------
[2100]
A)で紹介した方法は変数の使用効率は大変いいものですが、取り扱いが面倒
です。また、フラグの解釈が機械的で判りにくい欠点もあります。
そこで、フラグの数はたかだか十数個として、もう少し冗長な手法を考えて
みましょう。
フラグには、文字列による名前を与えます。例えばメイル到着なら"MAIL"、
センドを切るのは "NOSEND" などとします。フラグは文字列の中に":MAIL:
NOSEND:" のように詰め込みます。(区切り ":" の意味は講座 3でやったも
のですね)
扱いが面倒になりそうですが、実は a)よりも簡単に済んでしまいます。
サブルーチンを用意する必要さえ無いのです。
N$=":FLAG:" # すべてのフラグをクリア
:
INS(N$, ":NOSEND", 1) # フラグの設定
:
JUMPSRCHY(N$, ":MAIL:", MAIL) # フラグの検査
:
CHANGE(N$, ":MAIL:", ":") # フラグのクリア
:
フラグの設定は、 INS()(あるいは CAT()を使う)で行い、検査はSRCH系の
命令 {JUMP|IF}SRCH{Y|N}() で行い、フラグのクリアはCHANGE() です。
これなら、単独の変数を使った手間(ステップ数)と変わりません。
また、マクロのデバッグとして、フラグの状態を見る場合にもその内容は、
一目瞭然です。
【ワンポイント】
-------------------------------------
N$が、全くの空や ":" だけになると、SRCH が思ったように働かないため、
初期値として ":FLAG:" のようにダミーのフラグを与えます。
なぜそうなるかは、自分で考えて見ましょう。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
6. 時間監視
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
マクロに限らず、通信用プログラムの重要な概念に時間監視(タイムアウト)
があります。通信は相手のあることですから、相手のトラブルを常に考慮 [2150]
する必要があるわけです。
WTERM マクロには、時間監視の命令として TIMEOUT()/STIMEOUT() がありま
す。WAIT() や SWITCH CASE() END で待ちに入って指定された時間が経過して
も応答が無い場合の制御を行います。
さて、この時間監視をどう決めるかは簡単ではありません。ある処理は30秒で
応答がなければ異常でとか、ある処理は 300秒を越えても正常とか、とにかく
いろいろあります。
一番難しいのは、どれくらいかかるか見当が付かない場合です。例えば、会議
室の読み出しには、どの位かかるのが正常でしょうか。毎日読んでいるなら、
5分位でしょうか、月に 1度なら、30分かかっても不思議はありません。
そこで NIFMCR3では、行送りの時間を基準にする方法を使っています。行送り
が止まって一定時間が経過したら、タイムアウトをとります。
この方法の実現は、イベントドリブン(講座 1を参照)を使っていれば非常に
簡単です。
STIMEOUT(30, ERROR) # 30 秒応答が無ければ ERROR へ行く
LOOP:
SWITCH
CASE()
処理
CASE()
:
CASE("\R") # 行が送られたら
GOTO(LOOP) # やり直し(タイムアウトのリセット)
END
GOTO(LOOP)
この方法なら、タイムアウトの時間をあまり気にする必要がありません。
また、トラブルを検知した場合の応答も一定の時間で応答してくれます。
NIFMCR.MAC や、私の作った外部マクロには、このようなフレーズが繰り返し
て現れています。最近は、一種のスタイルのように使っています。
トラブルは、ホストの障害ばかりではありません。マクロの予想していないプ
ロムプトで待ちに入った(ホストの仕様変更でよく起こる)などのリカバリ(
障害処理)が可能になります。
もちろん、この方法は万能ではありません。改行ばかりが送られる、改行が異
常に遅いなどのケースで誤動作します。まあ、そういうのは故意でもなければ
起こらないとは思いますが。
[2200]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
7. 末尾最適化
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
LISP や PROLOG と言った言語をご存じでしょうか。人工知能用の言語として
結構有名です。これらの言語で行う繰り返し処理の基本形は、再帰呼び出しと
言ってループの代わりに、何度もサブルーチンコール繰り返す方法です。
再帰呼び出しは、ループが終わるまで(戻る位置を記憶するため)メモリーを
どんどん使うので効率が良くありません。そこで、呼び出すのがそのルーチン
の最後なら戻る位置を記録せずに制御を移す(つまり単なる分岐をする)方法
が考えだされました。
これが、末尾最適化と呼ばれる方法です。通常これは言語処理系(コンパイラ
やインタプリタ)がすることですが、プログラマが直接書いても悪いことでは
ありません。WTERM マクロでも実は同じテクニックが使えます。
例えば、次のようなパターンでサブルーチン呼び出しをしたものを考えます。
CALL(A)
:
A:
:
CALL(B)
RETURN
B:
:
CALL(C)
RETURN
C:
:
RETURN
サブルーチンを活用したときによく現れるパターンです。さて、これを次のよ
うに書き換えたらどうなるでしょうか。
CALL(A)
:
A:
:
GOTO(B) # CALL() を GOTO() にする
B:
:
GOTO(C) # 同上
C:
: [2250]
RETURN
最終的な動作は同じですが、ステップ数は減り、RETURN の処理が減った分高
速になったはずです。これだけのことですが、大きなマクロでは、このパター
ンは結構多くなるので全体ではかなりのステップ削減に貢献してくれます。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
8. マクロファイルのサブルーチン呼び出し
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
NIFMCR 3.7 から外部マクロという機構が追加されました。これは一定の規約
を守ってマクロを作れば 1つのマクロファイルをサブルーチンのように扱うこ
とができるしくみです。
さて、この外部マクロの考え方は単純ですが、実際にこれを行うのは楽ではあ
りません。WTERM 自身は、このような機構を用意していないのです。
いかにして「外部マクロ」を実現するか考えていきます。
A)マクロの切り替え命令(chain)
-------------------------------------
WTERM でマクロをファイル単位で切り替えるには、CHAIN() を使います。
たとえば、CHAIN("A.MAC") とするだけです。開始する位置(ラベル)の指
定も CHAIN("A.MAC$FOO") などとすることができます。
CHAIN() は、ファイル単位での GOTO() として働きます。CHAIN() では変数
の内容はそのまま引き継がれるため、切り替えたマクロで連携して処理を進
めることも簡単です。
しかし、CHAIN() と GOTO() は全く同じ働きではありません。たとえば、A.
MAC の中で、GOTO(FOO) と CHAIN("A.MAC$FOO") は共に FOO: に制御が移り
ます。しかし、これには動作上の違いがあります。それは、
CHAIN() は CALL() の記録をすべて破棄する
と言うことです。これは CHAIN() を使うと CALL()で呼んだところに、戻っ
てこれないことになります。
B)外部マクロの実現方法
-------------------------------------
CHAIN() すると、現在のマクロ実行位置情報が失われます。しかし、マク [2300]
ロファイルを切り替えるには、CHAIN() しかありません。そこで、なんとか
戻ってくる機構を作り上げることにします。
方法論としては、記録を残せるものは変数しかありません。したがって、変
数にどこまで実行しているのかを記録しておき、外部マクロから制御が戻っ
た時点でこの記録をもとに実行状態を復元することにします。
C)外部マクロの実装
-------------------------------------
・呼び出し処理
外部マクロへ制御を移すこと自体は簡単です。パラメーターとして渡され
たマクロ名で CHAIN() するだけで可能です。
ただし、呼び出し前に、戻るべき状況を記録する必要があります。
NIFMCR.MACでは、中断する節目となる処理ステップを数えるようにしてい
ます。(数え方はちょっと不規則ですが)
後は、外部マクロの呼び出し指示を見つけると、この中断点記録をもって
制御を CHAIN() で引き渡すことになります。
・復帰処理
外部マクロでは、CHAIN("NIFMCR.MAC$RESUME") と言う決まり文句を使っ
て終了することになっています。つまり、外部マクロは、何も考えずにこ
の命令を実行すれば、NIFMCR.MAC が続きの処理を再開してくれます。
さて、実際の復帰処理は、次のような手順で行います。
1. 復帰処理中のフラグを立てる
2. 中断記録をもとに処理ステップ分岐する
3. フラグを元にサブルーチン呼び出しを重ねる
4. 目的のポイントまできたらフラグをクリアする
5. 復帰処理終了
以上のような方法により、外部マクロの呼び出しが行われています。
また、NIFMCR 3.8 からは、使用中のファイルを閉じて復帰時にオープンし
なおすように改良しています。これにより、外部マクロでのファイルの読み
出しが自由にできるようになっています。
[2350]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
9. マクロテクニックいろいろ
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
A)リターン値
-------------------------------------
NIFMCR.MAC では常套手段として、サブルーチンの終了には戻り値を、与え
ています。特定の変数[*2]にサブルーチンの処理が成功したのか、失敗した
のかを設定して戻します(例外もありますが)。
いちいち設定するのは面倒なようですが、サブルーチンをとして次のような
値を設定するものを作っておきます。
TRUE: S$="TRUE"
RETURN
FAIL: S$="FAIL"
RETURN
これを使うのは、必ず RETURN の前ですから、講座 7の、末尾最適化が使え
ます。つまり、RETURN を書く代わりに、GOTO(TRUE), GOTO(FAIL) とするだ
けです。マクロ全体で 4 行増えるだけのことです。
これにより、サブルーチンの組み立て方に統一性とれて、結局自分が混乱し
なくてすむのが利点です。また、論理的な戻り値が必要なサブルーチンを作
る場合にはとても効果的です。
[*2] STATUS と言うことで S$ を使っています。
B)引用に気を付けろ
-------------------------------------
NIFTYのプロムプトには、紛らわしいものがあります。たとえば、MREadの終
了は ">" だけです。途中の発言で使われているものと見分けることが必要
です。
引用と本物のプロムプトの違いはなんでしょうか。人間はなぜ見分けること
ができるのでしょうか..そう、単に時間の問題です。本物のプロムプトの後
には、何もメッセージ(文字)が送られてこないのです。
WAIT() 命令には、引数が 1つのものと 3つのものがあります。 1つのWAIT()
命令は、単に文字列を(TIMEOUTまで)待つだけですが、 3つの引数の WAIT()
は次に何も送られてこないと言う条件を待つことができます。
[2400]
つまり、 3引数の WAIT() は、まさにプロムプト検知のためにあるわけです。
たとえば、単一の ">" をプロムプトを待つには次のようにすることができ
ます。
# 待ち状態の確認
MPROMPT:
WAIT(">", 1, MPROMPT)
つまり、">"を受信して、 1秒以内に何か受信すればやり直し、という感じ
です。( 1秒を選んだのは 0 でない最小の引数のため)
さて、待つべきプロムプトが必ず 1つなら、これで十分ですが一般的にはい
ろいろなプロムプトの可能性があるとおもいます。実際、">"あるいは、
"CCS(N)>" を待つといったケースが多々あります。
この場合次のような使い方で実現できます。
MRELOOP:
STIMEOUT(30, ERROR)
SWITCH
CASE("\010>") # プロムプト ">"
WAIT("", 1, MRELOOP)
CASE("\010CCS(N)>") # プロムプト "CCS(N)>"
WAIT("", 1, MRELOOP)
CASE("\r")
GOTO(MRELOOP)
END
空の文字列を待つ、ことで何も来ないと言う条件を調べる訳です。
確実にプロムプトを待つと言うのは、ログを引用される可能性もあって
、なかなか難しいことです。時間条件付きの wait() は、この可能性に対す
る強力な命令となります。
* * *
何も来ないと言う条件の検出は、プリミティブで WTERM のマクロの弱点で
した。この拡張によって、引用による誤動作の確率は非常に小さくできるの
です。
CALL(WAITOUT) # 確認
C)前方一致の検査
-------------------------------------
最初の文字だけが一致したかどうかで判定するにはどうすれば良いでしょう。
NIFMCR.MAC ではつぎのようにしています。 [2450]
INS($R, 1, ":")
CAT($R, ":")
JUMPSRCHY(R$, ":SUB", SUBJECT) # SUB* の判定
複数の値を検査するときの逆の要領です。文字列の操作は、うまく組み合わ
せるといろんな使い方ができます。この辺がアイディアの見せ所です。
D)A または B
-------------------------------------
確実に値の内容が判るなら、そのなかに含まれているか否かの検査だけなら
ば手抜きをしても大丈夫。講座 (3)の選択項目の検査で示した最初のパター
ンを使えます。
JUMPSRCHY("FAIL|ERROR", S$, ERROR)
中途半端なものでも、適用範囲を間違えなければ十分役に立ちます。
E)引用に気を付けろ 2
-------------------------------------
NIFTY のプロムプトは、2行で初めて意味を持つものが少なくありません。
そこで NIFMCR.MAC では、次のようなパターンをよく使っています。
STIMEOUT(30, FAIL)
LOOP:
SWITCH
CASE("\010続き (改行で次文書")
WAIT("\010>")
SEND("\R") # 改行を送って進める
CASE("\010FOURM>")
GOTO(NEXTSTEP)
CASE("\R")
GOTO(LOOP)
END
GOTO(LOOP)
この方法の欠点は、WAIT("\010 > ") が成立しない場合、いつまでも待ち
つづける可能性があることです。そこで STIMEOUT() と共に、TIMEOUT(1, LOOP)
を入れておきます。1 秒以内に成立しなければ、誤検知と判定するわけです。
F)文字列エスケープは大変だ
------------------------------------- [2500]
WTERM のマクロでは、
LOGOPEN(LOGFILE.LOG)
を
LOGOPEN("LOGFILE.LOG")
と書いても同じ意味になります。
これは特別な場合を除いて、WTERM のマクロは何でも文字列と解釈するよう
になっているためです。ところが、この特別な場合の兼ね合いで、クォート
(") をつけると、うまくいかないケースがあります。
さて、特別な場合を除いてクォートが要らないのですから、その特別な場合
をまず考えてみましょう。たとえば次のような文字列です。
SEND("MREAD ROOM:1,4,6\R")
WAIT(" >> ")
これは、クォートをとると全く意味が変わってしまいます。
したがって、こういう使い方の時にクォートを忘れてはいけません。
では、文字列の中にダブルクォートの文字 (") 自体を入れたいときは、ど
うしますか。そう、\ でエスケープするのです。send("\"") とすれば、"
だけが送信されます。
しかし、ちょっと待ってください。\を送る場合を考えてみましょう。
\ を指定する場合は?それに send に送られるものと、" 自体も実は違うも
のです。
たとえば、A$="\"" とした場合、A$ に入るのは何でしょうか。
実は、A$ には、\" と言う 2文字の文字列が納められます。つまり特別な処
理(エスケープ)をしているのは、SENDなのです。
ところが文字列指定にも特別なことがあります。つまり、\" となった場合、
後ろの " を文字列の終わりと考えないのです。
ここまでわかったところで、\ や " のみを変数に入れるにはどうすれば良
いでしょうか?・・・面倒だから、答を出しておきましょう。
どうしてこれで良いのか、考えてみてください。
・基礎編
A$=\
B$="
・応用編
F$="\\USR\BIN\\\DIR.LST"
CHANGE(F$, \\, \)
A$="
CAT(A$, F$)
CAT(A$,"
PRINTCR(A$)
[2550]
最後の括弧がないのは、間違いではありません。ただし、保証された書式で
もありませんので、将来正しく動作しなくなる恐れがあります。
つまり、これらがクォートをつけると意図した動作にならないケースです。
マクロトレースなどで、これらがどう動いているか追ってみると分かりやす
いですよ。
%% 実際は、この動きをつかむのに結構悩んだのでした。(^_^;)
また一文字に限って、というわけではありません。問題はパリティ(奇遇)
と出現位置なのです。たとえば、次のような指定はどうなるか?
A$=""" これは " が代入される
A$=\"" これは \""
A$=123 これは A$="123" と同じ
一見ばらばらに見えますが、明確なルールがあります。まず、最初の'=' ま
たは '('のところで前後に分けます。前の文字列が、X$(X は任意の英字)
ならば、変数への代入として、後ろの文字列を入れます。それ以外は命令語
と解釈します。
そして、文字列を取り出すときには、最初と最後をペアで " が揃っている
ときはじめて、クォート文字として働くのです。
私の場合、一部を除いて意図的に使い分けています。文字列として扱う場合
は、必ずクォートします。数字やラベルの直値は、クォートしません。そう
いうルールを定めて使い分けています。これは、マクロを組むために、引数
をどういうクラス(数字、文字列、記号)で扱っているか明示する配慮です。
ところで、こういう性質が分かってくるといろいろ危ない書き方が
できたりします。:-)
PRINT="HELLO "
K$(DOCTOR)
PRINTCR=K$)
ま、こういう書き方をして、ある日突然動かなくなってもだれにも文句は言
えませんが。
%% あんどきゅめんてっど・だぶるたーむ」とか言ったりして:-)
G)禁断の反則技 (^_^;)
-------------------------------------
さて、最後に示すこの技は、WTERM マクロの実装法を考えるとできるだろう
と思って調べたものです。確かに動作はします。以下がそのテストプログラ
ムですが、どう動くは判りますか?
REPEAT:
CALL(SUPPLY) [2600]
JUMPE(A$, "", STOP)
PRINT("SUPPLY>")
PRINTCR(A$)
GOTO(REPEAT)
STOP:EXIT
SUPPLY:
PICKWORD(A$, "AAA BBB CCC DDD", " ")
RETURN
なんと、定数を破壊読み出しすると言う恐ろしい手法です。
順序制御などに使えると思っていますが、副作用が強すぎて私も使うのは、
躊躇している恐ろしいテクニックです。(^_^;)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
10. 高速テキスト送信テクニック
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
WTERM には、ホスト局の特性によっていくつかのテキスト送信方法が用意され
ています。決められたファイルをそのまま送信するなら、マクロでもこの送信
機能が利用できます。しかし、マクロを使う場合、動作の指示とメッセージを
同じファイルに入れたいものです。
たとえば、メイルの送信を考えると、
|
|*SENDMAIL ← 指示
|TO:AAA00000 ← 以降送信文
|SUB:こんにちは
|ぼく元気です。
| :
指示はマクロが READ() 命令 (FREAD/RREAD) で読み出し、以降を UPLOAD()
で送信する、と言った方法は残念ながら使えません(UPLOADはファイル全体を
送信するため)。
このため、指示と本文を混在させるなら、マクロが送信の操作をする必要があ
ります。
A)シンプルテキスト送信
-------------------------------------
さて、送信と言う作業は、結局メッセージを送っているだけです。
つまり、単純に言えば、SEND() を続けて行えば良いことになります。
[2650]
STEXT:FREAD(L$, TEXTEND) # FOPEN() されているとする
SEND(L$)
SEND("\R")
GOTO(STEXT)
TEXTEND:SEND("/POST\R")
これでも動作はしますが、受信処理をするきっかけがないので、送信中なに
も表示されないことになります。また、相手の都合を考えず次々メッセージ
を送るため、ホストによっては障害を起こすことがあります。
そこで、次のようにします。
STEXT:FREAD(L$, TEXTEND) # FOPEN() されているとする
CONVERT(OFF)
SEND(L$)
CONVERT(ON)
SEND("\R")
WAIT("\R") # 復帰文字を待つ
GOTO(STEXT)
TEXTEND:SEND("/POST\R")
つまり、ホスト局が送った復帰文字 (\R:CR) を返してくる[*1] まで次の行
を送るのを待ってやるわけです。
なお、読み込んだ文字列に '\'などが含まれていたら、WTERM は特殊文字と
思ってしまうので CONVERT(OFF) で抑制します。
さて、この方法(改行を待ちながらの送信)は、「低速テキスト送信」に相
当します。障害は起こりにくいのですが、名前が示す通りあまり効率は良く
ありません。そこで高速化の工夫を考えてみましょう。
[*1] 送った文字を無条件に返すところでは WAIT("\010") として、行送り
文字 (LF) を待つ方がよいかもしれません。
B)テキスト送信の高速化
-------------------------------------
一般に、NIFTY のような接続網[*2]を経由するサービスは通常行単位で、パ
ケット(送信単位)を組み立てます。ここで、前行の処理が済まないまま、
次の行を送ると中継装置のバッファー(作業用のメモリー)があふれて障害
を起こす[*3]のです。
つまり、テキスト送信を高速化するには、障害を起こさない範囲で行の先送
りをしてやれば良いのです。
[*2] NIFTY では FENICS のこと。PC-VAN なら C&C-VAN を使っています。
(他にもありますが)
[2700]
[*3] 昔の ROAD1 は、2 行以上先送りすると落とされることが良くあり
ました。最近の ROAD1 は、使ったことが無いのでしりません
さて、行を先送りするには、どうすれば良いでしょう。一行余計に送る場合
を考えてみましょう。
1) 最初の行を送る
2) CR を待たず次の行を送り 1 行目の CR を待つ
3) 3 行目を送り 2 行目の CR を待つ
4) 4 行目を送り 3 行目の CR を待つ
: 以下同様
最初の行を送った時点で CR を待たず次の行を送り、2 行目の後(あるいは
3行目を送る前)から CR を待ってやればれば良いことになります。
これで常に 1 行の先送りが可能となります。
さて、これを一般的にして n 行先送りを WTERM のマクロで作ってみましょう。
S$=5 # 先送り行数
STEXT:FREAD(L$, TEXTEND) # FOPEN() されているとする
CONVERT(OFF)
SEND(L$)
CONVERT(ON)
SEND("\R")
JUMP>(S$, 0, NOWAIT)
WAIT("\R") # 復帰文字を待つ
GOTO(STEXT)
NOWAIT: # 先送りのため復帰を待たない
SUB(S$, S$, 1)
GOTO(STEXT)
TEXTEND:SEND("/POST\R")
さて、この例で先送り数を無限に取った場合は、最初の WAIT() を入れない
例と同じ動作になります。実はこの場合は、WTERM の超高速テキスト送信の
方式に相当します[*4]。
後は、いろいろなバランスの上で、先送りの行数を決めるだけです。
たとえば、NIFMCR3 では、高速指定時で先送り数を 5 行にしています。
この辺は実験的に決めるしかないでしょうね。
[*4] 手順的に同じと言うこと。マクロでやるとオーバーヘッドのため超
高速動作にはならないでしょうね。(2400くらいならほぼ同じ動作
になります)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= [2750]
11. 最後に
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
これで、WTERM のマクロハイテク講座は終りです。このシリーズでは、NIFMCR.
MAC を記述するのに使った方法で、割と使えそうなものを取り上げました。
ここで取り上げた方法は、良いものでも唯一の方法でもありません。また、マ
クロ入門としては、やや難しい面もあると思います。工夫次第でこんな面白い
方法があるんだよ、と言ったマニア的楽しみですね。
この章 安富 伸浩
[2800]
===============================================================================
【第 9章】 マクロ コマンド(パラメーター)説明
===============================================================================
[ 実行命令文 ]
BELL BLINK BREAK CHILD CLS COLOR
CRT CUTFILE DELAY DELAYM DELFILE DOWNLOAD
FCLOSE FCOPY FDIR FDIRA FILER FLHA
FLINE FMOVE FOPEN FPOINT FREAD FREN
FRENAME FTYPE FTYPEA GET GETC GETS
HANGUP INPUT INPUTF ISKANJI LOGCLOSE LOGOPEN
MAKERB MKDIR OFF CLOSE OOPEN OPENCHK
OREAD PRINT PRINTCR PRINTER RCLOSE ROPEN
RPOINT RREAD SEND SETTIME SMENU TABSPACE
TAPPEND TIMED TOPEN TCLOSE UPLOAD UPTEXT
VCLEAR VCLEAR2 VLIST VSWAP VTACHG VTCLEAR
VTCOPY VTLIST VTOCHG VTOCHG2 VTSWAP WAIT
WAPPEND WCLOSE WOPEN WRITE
UPTEXT 1.低速テキスト送信 2.高速テキスト送信 3.超高速テキスト
UPLOAD 1.XMODEM-SUM 2.XMODEM-CRC 3.XMODEM-CRC/1024
4.FlyingX 128/S 5.FlyingX-128/C 6.FlyingX-1024/C
7.YMODEM 8.YMODEM-G 9.未使用
10.MLINK 11.ZMODEM 12.Quick-VAN
13.BP or BPL 14.TRANSIT
21.ZM or ZMIBM(ZMODEM内蔵版の際使用)
23.BP or BPL(BP内蔵版の際使用)
DOWNLOAD 1.XMODEM-SUM 2.XMODEM-CRC 3.XMODEM-CRC/1024
4.FlyingX 128/S 5.FlyingX-128/C 6.FlyingX-1024/C
7.YMODEM 8.YMODEM-BAT 9.YMODEM-G/BAT
10.MLINK 11.ZMODEM 12.Quick-VAN
13.BP or BPL
21.ZM or ZMIBM(ZMODEM内蔵版の際使用)
23.BP or BPL(BP内蔵版の際使用)
[ 制御文 ]
[2850]
AUTOUD CALL CASE CHAIN COMMODE CONVERT
ELSE END ESCEXIT EXIT GOTO HANGUPT
IF< IF<> IF> IFE IFE< IFE>
IFFILEN IFFILEY IFSRCHN IFSRCHY JUMP< JUMP<>
JUMP> JUMPE JUMPE< JUMPE> JUMPFILEN JUMPFILEY
JUMPSRCHN JUMPSRCHY MASKCRT MDUMP NJUMP PAUSE
QUIT RETURN STIMEOUT SWITCH TIMEOUT VCONVERT
VSWITCH YJUMP
[ マクロ ビルトイン関数 ]
ADD APS CAT CHANGE CHANGE2 CHKPATH
COPY DATE DATEADD DATESUB DEL DELSPACE
DISKSIZE DISKFSIZE DIV FEXPAND FILESIZE FILETIME
FSEARCH FSPLIT GETCRTS GETDATAD GETDIR GETDOWND
GETENV GETID GETLOGD GETMACROD GETMRES GETTXUPD
GETUPD GETUSERD INS LAPTIME LASTDATE LASTTIME
LASTSTIME LEFT LENGTH LOGTIME LOWCASE MACROVER
MOD MUL PICKWORD POS RIGHT SAVEWDAT
SAVEW5B SAVEW5D STRCAT SUB TELFEE TIME
UPCASE WEEK WRITELOG
以下 解説他 ABCD順です。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
ADD [関 数] ADD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[2900]
ADD(変数1,変数2または文字列2,変数3または文字列3)
用途 変数 2に、変数 3の内容を足し(足し算)、変数 1にその解答(整数)
が代入されます。代入される内容は、数字の文字列形式です。
変数 1 = (変数 2 or 文字列 2)+(変数 3 or 文字列 3)
使用例1
B$ = "1000" C$ = "5"
ADD(A$,B$,C$)
結果 1
A$=B$+C$ A$は A$ = "1005" になる
使用例2
ADD(A$,"50","20")
結果 2
A$=50+20 A$は A$ = "70" になる
関連項目 SUB,MUL,DIV,MOD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
APS [関 数] Adjust Postion String
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
APS(変数,全長数,R(ight右寄せ) か L(eft左寄せ))
用途 変数の文字列に、全長数文までの半角スペースを付加して文字列にし
その変数文字が右寄せか左寄せかを指定する。
使用例 1
A$ = "WTERM"
APS(A$,"10","L")
結果 1
A$="WTERM "
使用例2
A$ = "WTERM"
APS(A$,"10","R")
結果 2
A$=" WTERM"
関連項目 CAT,COPY,DEL,INS,LEFT,RIGHT
[2950]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
AUTOUD [制御文] AUTO UpDown on or off
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
AUTOUD(ON,OFF)
用途 マクロ中は本来 ZMODEM(ZM.EXE/ZMIBM.EXE) BPLUS(BP/BPL.EXE)の、
自動起動の送信/受信モードを、OFFにします。
これを AUTODU(ON)で、ONにします。上記のプロトコル専用コードを
確認したら マクロ中でも自動起動します。
AUTOUD(OFF) で、ONにしたものを解除しデフォルトの自動起動解除に
戻します。
使用例 1
AUTOUD(ON)
結果 1
自動起動 送信/受信モードをONにします。
使用例 2
AUTOUD(OFF)
結果 2
自動起動 送信/受信モードをOFFにします。
関連項目 DOWNLOAD,UPLOAD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
BELL [実行文] BELL
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
BELL(文字列または変数,文字列または変数,文字列または変数)
用途 ある一定時間、BEEPを鳴らします。
回数設定
鳴らす長さ単位ミリ秒 1/1000 秒 から 9 秒まで
回数 1 回 から 99 回まで
間隔 単位ミリ秒 1/1000 秒 から 9 秒まで
使用例
BELL("500","5","1000")
結果
0.5 秒の長さを、1 秒間隔で、 5回鳴らす。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=[3000]
BLINK [実行文] BLINK of screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
BLINK(色指定,BLINK回数,間隔)
用途 上記設定時間、画面を点滅させます。
色指定 0 BLACK 黒 1 BLUE 青
2 RED 赤 3 YELLOW 黄
4 GREEN 緑 5 MAGENTA 紫
6 CYAN 水色 7 WHITE 白
10 BLACK 黒反転 11 BLUE 青反転
12 RED 赤反転 13 YELLOW 黄反転
14 GREEN 緑反転 15 MAGENTA 紫反転
16 CYAN 水色反転 17 WHITE 白反転
BLINK 回数 1 回から
間隔 1/1000 秒 から 4000( 4秒)まで
使用例
BLINK("2","5","40")
結果
赤色と白色のリバースで、交互に 5回を、40ミリ秒間隔で点滅します。
注意
FMR /TOWNS 版では、正常に表示できない場合もあります。
関連項目 CLS,CRT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
BREAK [実行文] send BREAK
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
BREAK
用途 ブレーク信号を送ります。
使用例
BREAK
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CALL [制御文] CALL label
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CALL(ラベル)
CALL(ラベル,変数1,変数2または文字列) [3050]
用途 指定されたラベルに制御を移し、RETURN文で、CALLの次の行に戻って
きます。変数 1(必ず変数)と変数 2または文字列が指定してある場
合には、変数 1に、変数 2、または文字列の内容を格納します。
注意 SWITCH ~ END の構文中に、CALL文をいれないでください。
使用例 1 # 解説
CASE("読みますか ? ☆ ([Yes]/No)") # 文字列待ち
SEND(" ") # スペースを送る
A$="SET PAUSE OFF" # NIFTYの命令
CALL(MAIL) # ラベル MAILをコールする
CASE("Help=>]") # Help=>] という文字列待ち
使用例 2 # 解説
CASE("Help=>]") # Help=>] という文字列待ち
SEND(" ") # スペースを送る
CALL(MAIL,A$,"SET PAUSE OFF") # ラベル MAILをコールする
CASE("Help=>]") # Help=>] という文字列待ち
解説 例 1と例 2では、 1行少なくなります。
関連項目 CASE,RETURN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CASE [制御文] CASE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
※※ SWITCH の項目参照
※※ VSWITCHの項目参照
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CAT [関 数] CAT strings
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CAT(変数1,変数2または文字列1)
CAT(変数1,変数2または文字列1,変数3または文字列2)
用途 変数の文字列に、指定の文字列を追加連結をします。
3つまでの連結が可能です。
使用例
A$ = "ABC"
CAT(A$,"12345")
結果 [3100]
A$ = "ABC12345"
使用例
A$ = "ABC"
B$ = "12345"
C$ = "789"
CAT(A$,B$,C$)
結果
A$="ABC12345789"
関連項目 COPY,DEL,INS,LEFT,RIGHT,STRCAT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CDCHK [関 数] CD CHecK
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CDCHK(ON,OFF)
用途 CD信号を、常時ON(接続中)と仮定させます。
OFF で、回線断とみせかけます。
使用方法はいろいろありますが、 1つには通常は回線切断後マクロ
は終了しますが、これを利用すれば動作の継続が可能になります。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CHAIN [制御文] CHAIN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CHAIN(変数1またはファイル名)
CHAIN(変数1またはファイル名,変数2または文字列)
用途 指定された文字列(または変数)を、マクロファイル名として、別の
マクロを実行します。機能は、GOTOと同じです。
2番目の引数に、ドライブまたはディレクトリーが指定してあれば、
2番目の引数ドライブにある、指定された文字列(または変数)を、
マクロファイル名として、別のマクロを実行します。
機能は、GOTOと同じです。
使用例 1
CHAIN("WWIV1.MAC$START")
解説 1
マクロ WWIV1.MACの、ラベル STARTにジャンプします。
使用例 2
CHAIN("WWIV1.MAC$START","B:\DATA\")
[3150]
解説 2
マクロ B:\DATA\WWIV1.MAC の、ラベル STARTにジャンプします。
関連項目 GOTO
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CHANGE [関 数] CHANGE strings
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CHANGE(変数1,置換前文字列または変数2,置換後文字列または変数3)
用途 変数 1から置換前文字列を検索し、該当文字があれば置換後文字列と、
入れ換えます。
注意 文字列の先頭から置換前文字列を検索して、該当した文字列全部を置
換します。
但、同一文字置換の場合、全域置換検索方式の為に、無限ループに陥
り、WTERM から戻ってこれません。一応、文字列範囲を越えた場合、
戻れる事は戻りますが通常は、やめておいてください。
同一文字を置換する場合は、CHANGE2 をご使用ください。
使用例 1
A$ = "私の名前はAといいます。"
CHANGE(A$,"A","H.INOUE")
結果 1
A$ = "私の名前はH.INOUEといいます。"
駄目な使用例
A$="ABC..."
CHANGE(A$,"ABC","ABCD")
結果
ABC...という文字をABCDに置換しても、置換後A$に、格納される文字列
は、ABCD... で、またこれに置換文字 (ABC)が含まれているので、無
限ループにはいってしまいます。このような使用方法はやめましょう。
ちなみに結果は、以下のようになりますが。.
A$="ABCDDDDDDDDDDDDDDDDDDDDDDDD..."
関連項目 CAT,COPY,DEL,INS,CHANGE2
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CHANGE2 [関 数] CHANGE strings part2
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[3200]
CHANGE2(変数1,置換前文字列または変数2,置換後文字列または変数3)
用途 変数 1の先頭から置換前文字列を検索し該当文字があればその最初の
文字列のみ置換します。複数の場合は、CHANGE2 を使って下さい。
注意 文字列の先頭から置換前文字列を検索して、最初に該当した文字列を
1つのみ置換します。
文中の該当文字全部を置換する場合は、CHANGE2 をご使用ください。
同一文字置換でも、置換するのは前方一致する最初の文字列の 1回だ
けです。
使用例 1
A$ = "こんにちは私は"
CHANGE2(A$,"にち","ばん")
結果 1
A$ = "こんばんは私は"
使用例 2
A$="...ABC..."
CHANGE2(A$,"ABC","XYZ")
結果 2
A$="...XYZ..."
関連項目 CAT,COPY,CHANG,DEL,INS
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CHILD [実行文] execute CHILD process
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CHILD(変数1または文字列1)
CHILD(変数1または文字列1,変数2,文字列2または変数3)
用途 指定された文字列(または変数)をコマンド名として、子プロセスを
起動します。変数 1もしくは文字列 1が、"FREE_MEMORY" という文字
列の場合のみ、変数 2に空きメモリーの値を返します。この場合には、
なにも実行しません。
仕様1 CHILD(変数1または文字列1)の場合
変数 1、または文字列 1のコマンド等を実行します。異常終了コード
等は返しません。
仕様2 CHILD(変数1または文字列1、変数2、文字列2または変数3)の場合
変数 2は必ず変数でなければなりません。変数 1、または文字列 1の
内容を実行し、プログラムのリザルト(返り値)を、変数 2に代入 [3250]
します。なお変数 1、または文字列に書く起動プログラム名は必ず拡
張子まで明記してください。また、それはカレントドライブに存在す
る事が必要です。
変数 3または文字列 2は、その起動プログラムのオプションパラメー
タを書きます。(なければ明記する必要はありません)
正常終了であれば、 0を返します。
但 異常であってもプログラムそのものが値を返さない場合は、 0に
なります。なお、MS-DOSが返すエラーに関してのみ、以下のように記
入されます。それ以外のプログラムが返すエラーは、数字(文字表記)
です。正常なら 0 です。
DOS ERROR 2 意味 変数 1のプログラムが存在しない。
DOS ERROR 8 意味 起動に必要な空きメモリーがない。
DOS ERROR 10 意味 Irregal Enviroment
DOS ERROR 11 意味 Irregal Format
使用例 1
CHILD("DIR B:")
結果 1
B ドライブのディレクトリ内容を表示します。
使用例 2
A$="DIR "
B$=""
GETLOGD(B$)
CAT(A$,B$)
CHILD(A$)
解説 2
GETLOGD(B$) で、ユーザー指定のログドライブを、B$へ格納します。
CAT で、A$="DIR " と、B$="USER指定の、LOG 格納登録ドライブディレ
クトリー" を連結します。
CHILD(A$ = "DIR USER指定のLOG格納登録ドライブディレクトリー")
USER指定の、ドライブのファイル内容を表示します。
使用例 3
A$="ER"
CHILD("MLP.EXE",A$)
結果 3
この例の場合に、ファイルが開く事ができませんでした。
MLP.EXEの場合 エラーコード 8 :ファイルオープン不良
PRINTCR(A$)
8 <- 画面
解説 3
MLP.EXE をチャイルドプロセスで起動したが、ファイルOPENエラーが発
生して、異常コード 8をMLP.EXE が返しました。正常終了であれば [3300]
A$ には 0が代入されます。
使用例 4
A$="1" <-- 必ず 0 以外の数値
CHILD("MLP.EXE",A$,"-O -W -N") :以下 MLPのエラーコード解説
JUMPE(A$,1,JUMPER1) 1 : 起動オプションエラー
JUMPE(A$,2,JUMPER2) 2 : メモリー不足
JUMPE(A$,3,JUMPER3) 3 : キーボードから転送中断
JUMPE(A$,4,JUMPER4) 4 : 相手側から転送中断
JUMPE(A$,5,JUMPER5) 5 : ディスク・エラー
JUMPE(A$,6,JUMPER6) 6 : タイムアウト
結果 4
この例の場合には、エラーコードを、JUMPE で比較して、その指定ラべ
ルに、JUMPするようになっています。
使用例 5
CHILD("FREE_MEMORY",A$)
^^^^^^^^^^^ これ以外の文字列または、小文字等では不可
結果 5
この例の場合に、チャイルドプロセスのメモリー残量を、A$に格納しま
す。これは、MS-DOS Version 3.XX 以上でしか動作しません。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CHKPATH [関 数] CHecK PATH
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CHKPATH(変数1または文字列,変数2)
用途 変数 1、または文字列に指定してあるドライブ、またはディレクトリ
ーのPATHを調べて、存在するドライブであれば、変数 2に半角数字の
1を返します。なければ半角数字の 0を返します。
使用例
CHKPATH("A:\LOG\",A$)
結果
A:\LOG\ は存在するので、A$には 1が返された。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CLS [実行文] CLear Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CLS
用途 画面をクリアーします。 [3350]
使用例
CLS
関連項目 BLINK,CRT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
COLOR [実行文] set COLOR
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
COLOR(変数)
用途 画面表示文字のカラー指定です。
色指定 0 BLACK 黒 1 BLUE 青
2 RED 赤 3 YELLOW 黄
4 GREEN 緑 5 MAGENTA 紫
6 CYAN 水色 7 WHITE 白
10 BLACK 黒反転 11 BLUE 青反転
12 RED 赤反転 13 YELLOW 黄反転
14 GREEN 緑反転 15 MAGENTA 紫反転
16 CYAN 水色反転 17 WHITE 白反転
使用例
COLOR(17)
PRINTCR("メモです")
解説
表示色を、白反転に指定します。
上記設定色で、画面に"メモです"と表示します。
関連項目 PRINT,PRINTCR
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
COMMODE [制御文] COM MODE CHG
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
COMMODE(文字列)
用途 通信中に、 RS232-Cモードの変更をしたい場合など有効です。
文字列は、半角 3文字で指定し、それぞれの意味は以下の通りです。
回線が切れると、この設定は無効になります。回線接続のままなら、マ
クロを終了しても、この設定は有効になっています。
また、ファイルのダウンロード時は、あらかじめホストの設定で指定さ
れているファイル転送モードが、優先します。
[3400]
使用例
COMMODE("N81")
COMMODE("E72")
1文字目 パリティの指定
N: パリティなし
O:奇数パリティ
E:偶数パリティ
2文字目 ビットの指定
8: 8ビット
7: 7ビット
3文字目 ストップビットの指定
1: 1ビット
2: 2ビット
5:1.5ビット
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CONVERT [制御文] extra word CONVERT on/off
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CONVERT(ON,OFF)
用途 SEND、WAIT命令等で使用する、特殊文字を有効もしくは無効にします。
なお、初期値は CONVERT(ON)です。
ただし、\1文字だけの場合は有効になりませんので、その場合は命令
(A$,"\") を 命令(A$,\)のようにしてください。
使用例 # 解説
CONVERT(ON)
SEND("WTERM\R") # WTERM"+CRを送信します
CONVERT(OFF)
SEND("WTERM\R") # "WTERM\R"を送信します(\RをCRに変換しない)
関連項目 SEND,VCONVERT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
COPY [関 数] COPY string
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
COPY(変数または文字列,指定開始数値,複写終了文字数数値)
用途 変数の複写開始位置から、複写文字数だけ文字を複写し、変数に代入
します。
数値は、バイト単位で、何番目か漢字の場合は1 文字 2バイトです。
使用例 1 [3450]
A$ = "123456789"
COPY(A$,"5","4")
解説 1
変数 A$の、 5文字から 8文字までを、A$に代入します
結果 1
A$ = "5678"
使用例 2
A$ = "こんにちはXYさん"
COPY(A$,"12","4")
解説 2
文字列変数 A$の、12文字(漢字で6 文字目)から、15文字までを 4文
字を、A$に代入します。
結果 2
A$ = "XY"
関連項目 APS,CAT,DEL,INS,LEFT,LENGTH,POS,RIGHT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CRT [実行文] CRT indication on/off
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CRT(ON,OFF)
用途 CRT画面表示を、一時中断します。但 表示内容はログ(記録中に限
る)と、スクロールバッファーには記録されます。
OFFにした時点で、マクロが終了する(途中でオンにしない限り)ま
で有効です。また、マクロが終了した時点(異常終了も含む)に表示
する状態に戻ります。 9600BPS以上の高速ホストで、画面表示しない
にすると多少早くなります。
使用例 1
CRT("OFF")
結果 1
画面表示を、一時的に中断します。
使用例 2
CRT("ON")
結果 2
画面表示を再開します。
関連項目 BLINK,CLS [3500]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CUTFILE [実行文] CUT FILE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CUTFILE(変数1または文字列1,変数2または文字列2,変数3または文字列3)
用途 第 1パラメーターで指定されたファイルから、第 3パラメーターで指
定された行数を、第 2パラメーターで指定されたファイルに書き込み
、第 1パラメーターで指定されたファイルは書き込んだ分だけ減りま
す。
なお、第 2パラメーターで指定されたファイルは、以前の内容は保存
されず、新規書き込み分のみになります。それを回避したい場合は、
下記を参照ください。
仕様 第 3パラメーターで指定された行数で、行数指定だけではなく、最初
に、"A" を指定すると、第 2パラメーターで指定されたファイルに書
き込む際は、アペンドモードになります。その場合、第 2パラメータ
ーで指定されたファイルは、以前の内容はそのままで、追加書き込み
になります。
使用例 1
A$ = "C:\MACRO\FILELIST.TXT"
B$ = "C:\TEMP.TXT"
C$ = "30"
CUTFILE(A$,B$,C$)
結果 1
A$で指定されたファイル"C:\MACRO\FILELIST.TXT" から、C$で指定され
た30行分を、B$で指定された"C:\TEMP.TXT" に書き込みます。
使用例 2
CUTFILE("C:\MACRO\FILELIST.TXT","C:\TMP.TXT","40")
結果 2
"C:\MACRO\FILELIST.TXT" から、30行分を"C:\TMP.TXT"に書き込みます。
使用例 3
A$ = "C:\MACRO\UP.TXT"
B$ = "C:\EMP.TXT"
C$ = "A20"
CUTFILE(A$,B$,C$)
結果 1
A$で指定されたファイル"C:\MACRO\FILELIST.TXT" から、C$で指定され
た30行分を、B$で指定された"C:\EMP.TXT"に、追加書き込みます。
関連項目 [3550]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DATE [関 数] system DATE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DATE(変数,区分挿入文字列[任意])
用途 変数に現在のシステム西暦年月日を代入します。
解説 区分挿入文字列(任意)は "/"、":"、"."以外でもOKです。
使用例 1
DATE(A$,"/")
結果 1
A$ = "93/01/01"
使用例 2
DATE(A$,":")
結果 2
A$ = "93:01:01"
使用例 3
DATE(A$,".")
結果 3
A$ = "93.01.01"
使用例 4
DATE(A$)
結果 4
A$ = "930101"
関連項目 TIME,DATEADD,DATESUB,LASTDATE,WEEK
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DATEADD [関 数] DATE ADD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DATEADD(変数1,区分挿入文字列(任意),変数2または文字列)
用途 変数 1に入っている任意の日付け文字列に、変数 2(日数)を足した
内容を、西暦年月日に修正して代入します。
A$が、空白であれば、マシン側の年月日(システムデート)を代 [3600]
入します。(A$="")
解説 区分挿入文字列(任意)は "/"、":"、"."以外でもOKです。
注意 計算可能範囲 1980.01.01 - 2038.01.01までです。
使用例 1
A$ ="95.01.01"
DATEADD(A$,"/","5")
結果 1
A$ = "95/01/06"
使用例 2
A$ ="950101"
DATEADD(A$,":","10")
結果 2
A$ ="95:01:11"
使用例 3
A$ ="95.01.01"
DATEADD(A$,".","15")
結果 3
A$ ="95.01.16"
関連項目 DATE,DATESUB,LASTDATE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DATESUB [関 数] DATE SUBtract
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DATESUB(変数1,区分挿入文字列(任意),変数2または文字列)
用途 変数 1に入っている任意の日付け文字列に、変数 2(日数)を引いた
内容を、西暦年月日に修正して代入します。
A$が、空白であれば、マシン側の年月日(システムデート)を代入し
ます。(A$="")
注意 計算可能範囲 1980.01.01 - 2038.01.01までです。
解説 区分挿入文字列(任意)は "/"、":"、"."以外でもOKです。
使用例 1
A$ ="95.01.01"
DATESUB(A$,"/","5")
[3650]
結果 1
A$ = "94/12/27"
使用例 2
A$ ="950101"
DATESUB(A$,"/","5")
結果 2
A$ = "94/12/27"
使用例 3
A$ ="95.01.01"
DATESUB(A$,":","10")
結果 3
A$ = "94:12:22"
使用例 4
A$ ="950101"
DATESUB(A$,".","20")
結果 4
A$ = "94.12.12"
関連項目 DATE,DATEADD,LASTDATE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DEL [関 数] DELete string
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DEL(変数,削除開始数値,削除文字分数数値)
用途 変数の削除開始位置から、削除文字数だけ文字を削除し、再度変数に
代入します。
数値は、バイト単位で、何番目か漢字の場合は1 文字 2バイトです。
使用例 1
A$ = "123456789"
DEL(A$,"5","4")
結果 1
A$ = "12349"
解説 変数A$の、 5文字目から 4文字分を削除し、A$に代入しました。
使用例 2
A$ = "こんにちは"
DEL(A$,"5","4") [3700]
結果 2
A$ = "こんは"
関連項目 APS,CAT,COPY,INS,LEFT,LENGTH,POS,RIGHT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DELAY [実行文] DELAY
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DELAY(文字列または変数)
用途 ある一定時間待ちます。単位は、 1秒 から 9999秒までです。
使用例
DELAY(10)
結果
10秒待ちます。
関連項目 PAUSE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DELAYM [実行文] DELAY Milli second
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DELAY(文字列または変数)
用途 ある一定時間待ちます。
単位 1000分の 1秒単位です。 1000分の 1秒 から 9.999 秒までです。
DELAYM(1000)で 1秒です。
使用例
DELAY(2500)
結果
2.5 秒待ちます。
関連項目 DELAY,PAUSE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DELFILE [実行文] DELete FILE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=[3750]
DELFILE(変数または文字列)
用途 変数にかかれたファイルを削除します。
その場合、正確にドライブやパス名等も記載してください。削除でき
ない場合や、ファイルが存在しない場合は、マクロを中断します。
注意 オープン中のファイルは、絶対に指定しないでください。
使用例
B$ = "A:\WTERM\TEMP.FIL"
DELFILE(A$)
結果
A:\WTERMにある、TEMP.FIL を削除します。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DELSPACE [関 数] DELete SPACE in Strings
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DELSPACE(変数1,変数2)
用途 変数 2から、半角スペースや全角スペースをすべて削除し、変数 1に
代入します。
使用例
B$ = "WTERM .LZH "
DELSPACE(A$,B$)
結果
A$ = "WTERM.LZH"
関連項目 CAT,COPY,DEL,INS,CHANGE,CHANGE2
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DISKSIZE [関 数] DISK SIZE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DISKSIZE(変数1,変数2または文字列)
用途 変数 2で指定したディスクドライブの総バイト数を、変数 1に格納し
ます。結果は、バイトで文字列です。
空きサイズを表示する場合は、命令DISKFSIZE でお求めください。
仕様 文字列のドライブは、半角小文字もしくは、A,B,C.....Z もしくは、
番号で指定します。A = 1 B = 2 C = 3 Z = 26 となります。 [3800]
注意 ドライブ指定が、正しくなければ、"-1"を返します。
使用例 1
B$="A"
DISKSIZE(A$,B$)
結果 1
A$ = "2654000" * ドライブ Aの総バイト数の値
使用例 2
DISKFSIZE(A$,"")
結果 2
A$ = "現在のドライブの総バイト数の値"
関連項目 FILESIZE,FILETIME,FEXPAND,FSEARCH,FSPLIT,,DISKSIZE,GETENV
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DISKFSIZE [関 数] DISK Free SIZE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DISKFSIZE(変数1,変数2または文字列)
用途 変数 2で指定したディスクドライブの未使用領域のバイト数を、
変数 1に格納します。結果はバイトで文字列です。
空きサイズを表示する場合は、命令DISKFSIZE でお求めください。
仕様 文字列のドライブは、半角小文字もしくは、A,B,C.....Z もしくは、
番号で指定します。A = 1 B = 2 C = 3 Z = 26 となります。
注意 ドライブ指定が、正しくなければ、"-1"を返します。
使用例 1
B$="A"
DISKFSIZE(A$,B$)
結果 1
A$ = "1354000" * ドライブAの空き領域の値
使用例 2
DISKFSIZE(A$,"")
結果 2
A$ = "現在のドライブの空き領域の値"
関連項目 FILESIZE,FILETIME,FEXPAND,FSEARCH,FSPLIT,DISKSIZE,GETENV
[3850]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DIV [関 数] DIVision
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DIV(変数1,変数2 or 文字列2,変数3 or 文字列3)
用途 変数 2を、変数 3の内容で割って(除算)、変数 1には商(整数)が、代
入されます。(内容は、数字の文字列形式)
変数 1 = (変数 2 or 文字列 2) ÷ (変数 3 or 文字列 3)
使用例 1
B$ = "1000"
C$ = "5"
DIV(A$,B$,C$)
結果 1
A$= B$ DIV C$
A$は、 1000 ÷ 5 = "200"
使用例 2
DIV(A$,"50","20")
結果 2
A$= 50 DIV 20 A$は A$ = "2"
関連項目 ADD,SUB,MUL,MOD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DOWNLOAD [実行文] DOWNLOAD file
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DOWNLOAD(番号,ファイル名) No 1 - No 6
DOWNLOAD(番号) No 7 - No 14,No 21,No 23
DOWNLOAD(番号,MODE) No 99
用途 ファイルの受信を行います。番号は受信方法を指定します。
DOWNLOAD(番号、ファイル名) ファイル名は必ず必要です。
番号 プロトコルの種類
1 XMODEM-128(SUM)
2 XMODEM-128(CRC)
3 XMODEM-1024(CRC)
4 Flying/XMODEM-128(SUM)
5 Flying/XMODEM-128(CRC)
6 Flying/XMODEM-1024(CRC) [3900]
DOWNLOAD(番号) ファイル名は必ず必要ありません。
番号 プロトコルの種類
7 YMODEM
8 YMODEM-G
9 YMODEM-G/B
10 MLINK (MLP/F/I/J.EXE 使用 注 1)
11 ZMODEM (ZM/ZMIBM.EXE 使用 注 2)
11 ZMODEM (内蔵プロトコル 使用 注 2)
12 Quick-VAN (QV.EXE 使用 )
13 BPLUS (BP/BPL.EXE 使用 注 2)
13 BPLUS (内蔵プロトコル 使用 注 2)
14 Transit (内蔵版のみ 注 3)
21 ZMODEM (ZM/ZMIBM.EXE 使用 )
23 BPLUS (BP/BPL.EXE 使用 )
107 ZMODEM (ZM/ZMIBM.EXE 使用 YMODEM 受信)
108 ZMODEM (ZM/ZMIBM.EXE 使用 YMODEM/G受信)
123 BPLUS (BP/BPL.EXE 使用 7bitで使用の場合)
DOWNLOAD(番号、MODE) モード指定が必要です。
番号 プロトコルの種類
99 BPLUS (BP内蔵版のみ
99番指定のモード指定(SUPER版及び、BPLUS内蔵版)
MODE オプションの種類
0 指定
DOWNLOAD(99)
DOWNLOAD(99,0)
内蔵BPLUS でダウンロードしようとした場合に、指定ファイルと同
名ファイルがあった場合、マニュアル動作と同じく、WINDOWが開き、
+------------------------------------------------------+
| 同名のファイルが存在します |
| 途中から継続する場合は Y を押して下さい[Yes/No] |
| 上書きなら N を押して下さい|
+------------------------------------------------------+
と表示されます。その際は、御自分で選択入力してください。
1 指定 (強制レジュームモード)
DOWNLOAD(99,1) 強制レジュームモード
内蔵BPLUS で、ダウンロードしようとした場合に、指定ファイルと
同名のファイルがあった場合、ダウンロード異常中断ファイルとし
て認識、レジュームダウンロードモードにはいります。
この場合、そのファイルが不正なファイルや、クラッシュリカバリ
ーできない場合は、WTERM 側が判断して中断します。
その場合は、マクロはそのまま続行します。 [3950]
2 指定 (強制上書きモード )
DOWNLOAD(99,2)
内蔵BPLUS でダウンロードしようとした場合に、指定ファイルと同
名のファイルがあった場合、同名ファイルとして現在のファイル
を消して、同名の新規ファイルとして、ダウンロードします。
ファイル名とは
ファイル名とは、受信するファイル名です。
ダウンロードファイルは、指定のダウンロードドライブに格納されます。
1から 6番の、XMODEMや、Flying-XMODEMの場合のみ、指定します。
7番以降は、指定する必要ありません。
使用例 1
DOWNLOAD(1,"WTERM.LZH")
結果 1
WTERM.LZHをXMODEM-SUMで受信します。
使用例 2
DOWNLOAD(11)
結果 2
ZMODEMで、ファイルを受信します。
使用例 3
DOWNLOAD(99,3)
結果 3
内蔵BPLUS で、ダウンロードとした場合に、指定ファイルと同名のファ
イルがあったが、同名の新規ファイルとして、ダウンロードしました。
注 1
SUPER版、DN版のみ、内蔵プロトコルになります。
それ以外は、MLシリーズ等の外部起動になります。
注 2
プトコル内蔵版の場合
既存のマクロで、11/13を指定してある場合、内蔵のプロトコルが起動
しますので、マクロは変更しなくても結構です。
マクロ実行中で、なおかつZMODEM/BPLUS 自動送信をしないという設定
の場合には、それぞれ送信は、ZM/ZMIBM BP/BPL.EXEを使用します。
その場合は、マクロ文のDOWNLOAD UPLOADとも番号を変更してください。
注 3
SUPER版、DN版のみ
関連項目 UPTEXT,UPLOAD,AUTOUD
[4000]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
ELSE [制御文] ELSE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
※※ VSWITCHの項目参照
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
END [制御文] END
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
※※ SWITCHの項目参照
※※ VSWITCHの項目参照
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
ESCEXIT [制御文] ESC key macro EXIT mode
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
ESCEXIT(ON,OFF)
用途 マクロの中断、もしくは中止は、通常は ESCキーでおこないますが、
ESCEXIT(OFF)とした場合は、SHIFT+ESC(SHIFTキーを押しながら、同
時に ESCキーを押す)でしか中断しません。
このモードの際は、ファンクションキー(F1の位置)に "SHIFT"と、
F2の位置に" + ESC" F3の位置に、"=中断"と表示されます。
使用例 1
ESCEXIT(OFF)
結果 1
マクロ中断を、SHIFT+ESC(SHIFTキーを押しながら、同時にESCキーを
押す)でしか受け付けません。
使用例 2
ESCEXIT(ON)
結果 2
マクロ中断を、ESC(ESCキーを押す)で、受け付けます。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
EXIT [制御文] EXIT macro
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
EXIT [4050]
用途 マクロを終了します。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FCLOSE [実行文] Fopened file CLOSE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FCLOSE
用途 FOPEN でオープンしたファイルを、CLOSE します。
使用例
FCLOSE
関連項目 FOPEN,FREAD,ROPEN,RREAD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FCOPY [実行文] File COPY
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FCOPY(変数1または文字列1,変数2または文字列2)
FCOPY(変数1または文字列1,変数2または文字列2,変数3または文字列3)
用途 変数 1または文字列 1で指定したファイルを、変数 2または文字列 2
で指定したディレクトリーに複写します。もしくは、変数 1または文
字列 1で指定したファイルを、変数 2または文字列 2で指定したディ
レクトリーに複写します。コピー先に同名のファイルが存在した場合
は拡張子を変更し、"FILE名.OLD"とリネームして保存します。さらに
同名の"FILE名.OLD"が存在すれば、そのファイルは、FILE名.000とし
て保存されます。"FILE名.000 ~ FILE名.999と積算します"
オプションパラメータの種類(変数 3または文字列 3で指定)
/V 新しいファイルが正しいかどうかベリファイします。
仕様 COPY ABC.EXE+A.EXE /B というような使用はできません。
注意 エラーには対応しません。
解説 MS-DOSのCOPYとほぼ同じです。
使用例 1
A$ = "C:\DOWN\WTERM.EXE"
B$ = "D:\TERM"
C$ = "/V"
FCOPY(A$,B$)
[4100]
結果 1
ドライブ C:\DOWN\にある WTERM.EXEを、ドライブ D:\TERMに複写します。
その際、ベリファイします。
使用例 2
FCOPY("D:\TERM\WTERM.EXE")
結果 2
ドライブ D:\TERM\にある WTERM.EXEを、カレントドライブに複写します。
使用例 3
FCOPY("D:\TERM\WTERM.EXE","C:\TEST")
結果 3
ドライブ D:\TERM\にある WTERM.EXEを、C:\TEST\に複写します。
関連項目 CHILD,FREN,FRENAME,FTYPE,FTYPEA,FDIR,FDIRA,FMOVE,FLHA
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FDIR [実行文] File Dir
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FDIR(変数1または文字列1,変数2または文字列2)
FDIR(変数1または文字列1,変数2または文字列2,変数3または文字列3)
用途 変数 1または文字列 1で指定したディレクトリー中のサブディレ
クトリーやファイルの一覧を、変数 2または文字列 2で指定した
ファイルを新規作成し、その内容を記載します。
変数 3または文字列 3はオプションパラメーターです。
オプションパラメーターは重複する際には、その命令の間に半角
スペースを入れてください。前後はいりません。
オプションパラメータの種類(変数 3または文字列 3で指定)
/W 画面いっぱいに一覧形式を表示します。
/A 指定した属性を持つファイルを表示します。
属性 D ディレクトリー R 読み出し専用ファイル
H 隠しファイル S システム・ファイル
A 保存属性 - 指定の属性以外
/O ソート順で表示します。
ソート順 N 名前 (ABC順) S サイズ (小さい順)
E 拡張子 (ABC順) D 日付/時刻 (古い順)
G ディレクトリー優先 - 逆順
/S 指定ディレクトリー下の全サブディレクトリー中のファイル
を表示します。 [4150]
/B ファイル名のみを表示します。
/L 小文字で表示します。
注意 エラーには対応しません。
解説 DIR [ドライブ:][パス][ファイル名] [/W] [/A[[:]属性]][/O[[:]ソ-ト順]]
[/S] [/B] [/L] > ファイル名 2
DIR [ドライブ:][パス][ファイル名] > ファイル名 2
と同じです。
使用例 1
A$ = "C:\*.*"
B$ = "CDRV.LST"
C$ = "/S /L"
FDIR(A$,B$)
結果 1
ドライブ C:にある 全てのファイル一覧(*.*)を表示し、かつサブディ
レクトリー以下のファイル一覧も表示し(/S)、小文字で(/L) CDRV.LST
というファイルを新規作成し、それにその内容を記載します。
使用例 2
FDIR("C:\*.*","CDRV.LST")
結果 2
ドライブ C:\にある 全てのファイル一覧(*.*)を表示し、CDRV.LSTと
いうファイルを新規作成し、それにその内容を記載します。
関連項目 CHILD,FREN,FRENAME,FTYPE,FTYPEA,FDIRA,FMOVE,FCOPY,FLHA
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FDIRA [実行文] File Dir Append
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FDIRA(変数1または文字列1,変数2または文字列2)
FDIRA(変数1または文字列1,変数2または文字列2,変数3または文字列3)
用途 変数 1または文字列 1で指定したディレクトリー中のサブディレ
クトリーやファイルの一覧を、変数 2または文字列 2で指定した
ファイルにその内容を記載します。ファイルが存在しなければ新
規作成します。
変数 3または文字列 3はオプションパラメーターです。
オプションパラメーターは重複する際には、その命令の間に半角
スペースを入れてください。前後はいりません。
[4200]
オプションパラメータの種類(変数 3または文字列 3で指定)
/W 画面いっぱいに一覧形式を表示します。
/A 指定した属性を持つファイルを表示します。
属性 D ディレクトリー R 読み出し専用ファイル
H 隠しファイル S システム・ファイル
A 保存属性 - 指定の属性以外
/O ソート順で表示します。
ソート順 N 名前 (ABC順) S サイズ (小さい順)
E 拡張子 (ABC順) D 日付/時刻 (古い順)
G ディレクトリー優先 - 逆順
/S 指定ディレクトリー下の全サブディレクトリー中のファイル
を表示します。
/B ファイル名のみを表示します。
/L 小文字で表示します。
注意 エラーには対応しません。
解説 DIR [ドライブ:][パス][ファイル名] [/W] [/A[[:]属性]][/O[[:]ソ-ト順]]
[/S] [/B] [/L] >> ファイル名 2
DIR [ドライブ:][パス][ファイル名] >> ファイル名 2
と同じです。
使用例 1
A$ = "C:\*.*"
B$ = "CDRV.LST"
C$ = "/S /L"
FDIRA(A$,B$)
結果 1
ドライブ C:にある 全てのファイル一覧(*.*)を表示し、かつサブディ
レクトリー以下のファイル一覧も表示し(/S)、小文字で(/L) CDRV.LST
というファイルにその内容を記載します。
使用例 2
FDIRA("C:\*.*","CDRV.LST")
結果 2
ドライブ C:\にある 全てのファイル一覧(*.*)を表示し、CDRV.LSTと
いうファイルにその内容を追加記載します。
関連項目 CHILD,FREN,FRENAME,FTYPE,FTYPEA,FDIR,FMOVE,FCOPY,FLHA
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FEXPAND [関 数] Filename EXPAND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FEXPAND(変数) [4250]
用途 ファイル名を、ドライブ名や、ディレクトリーを含む、完全なPATHを
含むファイル名に拡張します。
ファイルがなければ 現在のカレントドライブ名を返します。
使用例
現在のカレントドライブが、A:\WTERM\DATA とします。
A$ = "MACROS.DMP"
FEXPAND(A$)
結果
A$ = "A:\WTERM\DATA\MACROS.DMP"
関連項目 DISKSIZE,DISKFSIZE,FILESIZE,FILETIME,FSEARCH,FSPLIT,GETENV
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FILESIZE [関 数] FILESIZE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FILESIZE(変数1または文字列,変数2)
用途 変数 2で、指定したファイル名のカレントサイズを、変数 1に格納し
ます。結果は、バイトで文字列です。
制限 ファイルが存在しなければ、空白を返します。
使用例
B$ = "B:\TOOL\BP.EXE"
FILESIZE(A$,B$)
結果
BP.EXE のサイズを、変数A$に格納します。
A$ = "23657"
関連項目 DISKSIZE,DISKFSIZE,FILETIME,FEXPAND,FSEARCH,FSPLIT,GETENV,
GETDIR
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FILETIME [関 数] get FILE TIME
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FILETIME(変数1,変数2または文字列)
用途 変数 2、または文字列で、指定したファイル名のDATE/TIMEを、
変数 1に格納します。
仕様 変数 1は、必ず変数でなければいけません。
ファイルは、テキストでもバイナリファイルでも構いません。 [4300]
使用例
B$ = "B:\TOOL\MLP.EXE"
FILETIME(A$,B$)
結果
MLP.EXE のタイムスタンプ、変数A$に格納します。
A$ = "95-05-15 01:00:30"
関連項目 DISKSIZE,DISKFSIZE,FILESIZE,FEXPAND,FSEARCH,FSPLIT,GETENV,
GETDIR
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FILER [実行文] FilE Read
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FILER(ファイル名,変数)
FILER(ファイル名,変数,ラベル)
用途 任意のファイルの、任意の行数の内容を、変数に格納します。
ラベルを指定した場合は、オープンエラー(ファイルが存在しない場
合)のとき、指定したラベルにジャンプします。
異常が発生して、なおかつラベルを指定していない場合は、マクロは
中断します。
仕様 ファイルは、テキストファイルに限ります。
ファイル名に、ドライブ名やディレクトリー名指定がない場合は、ユ
ーザー指定の、"MACRO用ファイル格納・PATH[設定 F・7]-(5)-5" に
存在するものと見なします。
注意 指定ファイルの総行数以上の行数を指定した場合には、変数に格納さ
れる内容は最終行の内容です。
メモ ファイルの総行数を簡単に求めるには、マクロ命令 FLINE を使用す
ると便利です。
使用例 1
A$ = "20"
FILER("123.DAT",A$)
解説 1
MACRO DATA DIR[F・7]-(5)-5にある、123.MAC の20行目の内容を、A$に
格納します。ファイル"123.MAC" がオープンできない場合は、マクロを
中断します。
結果 1
A$ = "123.DATの20行目の内容"
使用例 2 [4350]
A$ = "30"
FOPEN("A:\DATA\123.DAT",ERROR)
解説 2
A:\DATA\にあるファイル"123.DAT" の30行目の内容を、変数A$に格納し
ます。オープンエラーの場合は、ラベル ERRORにジャンプします。
結果 2
A$="A:\DATA\123.DATの30行目の内容"
関連項目 FCLOSE,FREAD,RCLOSE,RREAD,WOPEN,WAPPEND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FLHA [実行文] FILE LHA
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FLHA(変数1または文字列1,変数2または文字列2,変数3または文字列3)
用途 変数 1または文字列 1は、"LHA.EXE"の命令またはオプションです。
変数 2または文字列 2で指定したファイルを作成します。
変数 3または文字列 3は解凍場所または、作成ファイル指定です。
仕様 変数 3または文字列 3は解凍場所または、作成ファイル指定ですが、
特殊な使用方法や指定をしたい場合は、以下のように形式で表記し
てください。/で区切ります。
ある圧縮ファイルから 1つのファイルを出し入れする場合例
MS-DOS上での場合(一例)
1. LHA e -n2 C:\TEMP\WTERM A:\TEMP1\ WTERM.LOG (解凍)
2. LHA m -n2 C:\TEMP\WTERM A:\TEMP1\ WTERM.LOG (格納)
FLHA での場合(一例)
1. FLHA("e -n2","C:\TEMP\WTERM","A:\TEMP1\/WTERM.LOG")#(解凍)
2. FLHA("m -n2","C:\TEMP\WTERM","A:\TEMP1\/WTERM.LOG")#(格納)
LHAの命令・オプションパラメータの種類(変数 1または文字列 1で指定)
は、LHAのドキュメントをご覧ください。代表的な物は以下です。
命令 a: ファイルを追加
m: 新ファイルを移動
e: ファイルを復元
注意 エラーには対応しません。
使用例 1
A$ = "A"
B$ = "C:\UP\UPLOAD.LZH"
C$ = "D:\UP\*.*"
FLHA(A$,B$,C$)
結果 1 [4400]
D:\UP\の全てのファイルを、C:\UP\に"UPLOAD.LZH"という名前のファイ
ルに圧縮します。
使用例 2
FLHA("E","C:\UP\UPLOAD.LZH","D:\)
結果 2
ドライブ C:\UP\にある UPLOAD.LZHのファイルを、D:\に解凍します。
関連項目 CHILD,FREN,FRENAME,FTYPE,FTYPEA,FDIR,FDIRA,FMOVE,FCOPY
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FLINE [実行文] File LINEs
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FLINE(ファイル名,変数)
FLINE(ファイル名,変数,ラベル)
用途 任意のファイルの、総行数を変数に格納します。
ラベルを指定した場合は、オープンエラー(ファイルが存在しない場
合)のとき、指定したラベルにジャンプします。
異常が発生して、なおかつラベルを指定していない場合は、マクロは
中断します。
仕様 ファイルは、テキストファイルに限ります。
ファイル名に、ドライブ名やディレクトリー名指定がない場合は、ユ
ーザー指定の、"MACRO用ファイル格納・PATH[設定 F・7]-(5)-5" に
存在するものと見なします。
メモ ファイルの総行数を求めたあと、任意の内容を知るには、マクロ命令
FILER を使用すると便利です。
使用例 1
FLINE("MACR.DAT",A$)
解説 1
MACRO DATA DIR[F・7]-(5)-5 にあるファイル、"MACR.DAT"の総行数を求
めます。ファイルオープンエラーの場合は、マクロを中断します。
使用例 2
FLINE("A:\DATA\MACR.DAT",A$,ERROR)
解説 2
A:\DATA\にある、ファイル "MACR.DAT" の総行数を求めます。
オープンエラーの場合は、指定ラベル ERROR にジャンプします。
関連項目 FCLOSE,FILER,FREAD,RCLOSE,RREAD,WOPEN,WAPPEND
[4450]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FMOVE [実行文] File MOVE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FMOVE(変数1または文字列1,変数2または文字列2
用途 変数 1または文字列 1で指定したファイルを、変数 2または文字列 2
で指定したディレクトリーに移動します。移動先に同名のファイルが
存在した場合は拡張子を変更し、"FILE名.OLD"とリネームして保存し
ます。さらに同名の"FILE名.OLD"が存在すれば、そのファイルは"FIL
E名.000"として保存されます。"FILE名.000 ~ FILE名.999と積算"
もしくは、
変数 1または文字列 1で指定したディレクトリ名を、変数 2または文
字列 2で指定したディレクトリー名に変更します。
移動 ファイルを移動するには:
FMOVE [ドライブ1:][パス1]ファイル名 [ドライブ2:][パス2]
[ドライブ1:][パス1]ファイル名1
移動したいファイルの場所と名前を指定します。
[ドライブ2:][パス2]
移動する先のディレクトリーを指定します。
1個のファイルを移動する場合にファイル名を指定すると移
動時にファイル名が変更されます。
変更 ディレクトリー名を変更するには:
FMOVE [ドライブ:][パス]ディレクトリー名1 ディレクトリー名2
[ドライブ:][パス]ディレクトリー名1
変更したいディレクトリーの名前を指定します。
ディレクトリー名2
新しいディレクトリーの名前を指定します。
注意 エラーには対応しません。
解説 MS-DOSのMOVEとほぼ同じです。
使用例 1
A$ = "C:\ABC.DAT"
B$ = "D:\DOWN"
FMOVE(A$,B$)
結果 1
ドライブ C:にある ABC.DATを、ドライブ D:\DOWN に移動します。
使用例 2
FMOVE("C:\ABC.DAT","D:\DOWN"
^の末尾の )は付けない。(注意)
結果 2 [4500]
ドライブ C:にある ABC.DATを、ドライブ D:\DOWN に移動します。
使用例 3
FMOVE("C:\DOWN\TEST","TEST1"
^の末尾の )は付けない。(注意)
結果 3
ドライブ C:\DOWN\にある ディレクトリー TESTを、TEST1という名称
に変更します。
関連項目 CHILD,FREN,FRENAMEM,FTYPE,FTYPEA,FDIR,FDIRA,FCOPY,FLHA
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FOPEN [実行文] File OPEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FOPEN(ファイル名)
FOPEN(ファイル名,ラベル)
用途 FREAD する為に、ファイルをオープンします。
ラベルを指定した場合は、オープンエラー(ファイルが存在しない場
合)のとき、指定したラベルにジャンプします。
異常が発生して、なおかつラベルを指定していない場合は、マクロは
中断します。
仕様 ファイルは、テキストファイルに限ります。
ファイル名に、ドライブ名やディレクトリー名指定がない場合は、ユ
ーザー指定の、"MACRO用ファイル格納・PATH[設定 F・7]-(5)-5" に
存在するものと見なします。
使用例 1
FOPEN("MACR.DAT")
解説 1
MACRO DATA DIR[F・7]-(5)-5にあるファイル、"MACR.DAT"をオープン
します。ファイルオープンエラーの場合は、マクロを中断します。
使用例 2
FOPEN("A:\DATA\WT.DAT",ERROR)
解説 2
A:\DATA\にあるファイル"WT.DAT"をオープンします。
オープンエラーの場合は、指定ラベル ERROR にジャンプします。
関連項目 FCLOSE,FREAD,RCLOSE,RREAD,WOPEN,WAPPEND,OOPEN,OCLOSE,OREAD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FPOINT [実行文] FOPEN File POINTer
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=[4550]
FPOINT(変数1)
FPOINT(変数1,変数2または文字列)
用途 FREAD しているファイルの、現在読み込み済みの行数を求めます。
第 2パラメーターに指定されている場合は、リードポインターを任意
の行まで移動し、以降 FREADからはその指定された行数から読み込み
をするように変更します。
仕様 FPOINT(変数1) の場合
変数 1に、FREAD されているファイルの現在の読み込み済み行数を、
変数 1に格納します。
仕様 FPOINT(変数1,変数2または文字列) の場合
変数 1の読み込み済み行数(FREAD ファイルのリードポイント)を、
変数 2、または文字列で指定された行数に変更し、変数 1に格納しま
す。ただし、FREAD されているファイルの総行数を上回る場合は、最
終行の数に変更されます(次回FREAD後)。
使用例 1
FPOINT(A$)
解説 1
現在FOPEN 命令で、オープンされているファイルの、読み込み済み行数
を表示します。
使用例 2
FPOINT(A$,"20")
解説 2
現在FOPEN 命令で、オープンされているファイルの、読み込み済み行数
を(リードポイント)を、20行目から読み込むようにリードポインター
を移動します。以降 FREADで読む込む場合は、その指定された行数(
この場合は20行目)からになります。
使用例 3
B$="15"
FPOINT(A$,B$)
解説 3
現在FOPEN 命令で、オープンされているファイルの、読み込み済み行数
を(リードポイント)を、15行目から読み込むように、リードポインタ
ーを変更します。以降 FREADで読む込む場合は、その指定された行数(
ここでは15行目)からになります。
関連項目 FREAD,RREAD,FLINE,FILER,OOPEN,OCLOSE,OREAD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FREAD [実行文] Fopened file READ [4650]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FREAD(変数名)
FREAD(変数名,ラベル)
用途 指定した変数に、 FOPENされているファイルから 1行読み込みます。
ラベルを指定した場合、ファイルエンド(またはリードエラー)の場合、
指定したラベルにジャンプします。ラベルを指定していない場合は、
マクロを中断します
仕様 ファイルは、テキストファイルに限ります。
ファイル名に、ドライブ名やディレクトリー名指定がない場合は、ユ
ーザー指定の、"MACRO用ファイル格納・PATH[設定 F・7]-(5)-5" に
存在するものと見なします。
メモ 任意の行数から 1行のみ読み込みたい場合は、マクロ命令 FILERをご
利用ください。
使用例
FREAD(B$)
解説 1
FOPEN されているファイルから、変数 B$ に、一行読み込みます。
ファイルエンド(EOF)、またはエラーの場合はマクロを中断します。
使用例 2
FREAD(Z$,ERROR)
解説 2
FOPEN 命令でオープンされているファイルから、変数 Z$ に一行読み込
みます。
ファイルエンド(EOF)、またはエラーの場合は、指定ラベル ERROR に
ジャンプします。
関連項目 FOPEN,FCLOSE,ROPEN,RCLOSE,OOPEN,OCLOSE,OREAD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FREN [実行文] File REName
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FREN(変数1または文字列1,変数2または文字列2)
用途 変数 1または文字列 1で指定した任意のファイルを、変数 2または文
字列 2にファイル名を変更します。
注意 エラーには対応しません。
変数 2または、ファイル名 2には新しいドライブ・パスを指定するこ
とはできませんので注意して下さい。
[4650]
解説 REN [ドライブ :][パス]ファイル名1 ファイル名2 と同じです。
使用例 1
A$ = "C:\UP\FILE.LST"
B$ = "UPLIST.LST"
FREN(A$,B$)
結果 1
C:\UP\にある FILE.LSTという名称のファイルを、UPLIST.LSTという名前
に名称変更します。
使用例 2
FREN("C:\UP\FILE.LST","UP.LST")
結果 2
C:\UP\にある FILE.LSTという名称のファイルを、UP.LSTという名前に名
称変更します。
関連項目 CHILD,FREN,FTYPE,FTYPEA,FDIR,FDIRA,FMOVE,FCOPY,FLHA,FRENAME
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FRENAME [実行文] File REName
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FRENAME(変数または文字列)
用途 変数または、文字列で指定した任意の存在するファイルの拡張子を
FILE名.000 に変更します。同名の"FILE名.000"が存在すれば、その
ファイルは"FILE名.001"として保存されます。"FILE名.000 ~ FILE
名.999"と拡張子が増加していきます。
使用例 1
A$ = "C:\UP\FILE.LST"
FRENAME(A$)
結果
C:\UP\にある FILE.LSTという名称のファイルを、UPLIST.000という名前
に名称変更します。
関連項目 CHILD,FREN,FTYPE,FTYPEA,FDIR,FDIRA,FMOVE,FCOPY,FLHA,FREN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FSEARCH [関 数] File SEARCH
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FSEARCH(変数1,変数2)
用途 変数 1で、指定されたファイルを、変数 2で指定した複数のディレ [4700]
クリーから探し結果を、変数 1に代入します。変数 2のドライブ指定
は、MS-DOSのPATHコマンドのように; で区切ってください。ファイル
がみからなければ、空白を返します。
使用例
A$ = "WTERM.EXE"
B$ = "A:\;B:\TOOL;C:\WTERM;"
もしくは、 GETENV(B$,"PATH")で得られた内容 B$ = "PATH指定"
FSEARCH(A$,B$)
結果
A$ = "C:\WTERM\WTERM.EXE"
関連項目 DISKSIZE,DISKFSIZE,FILESIZE,FILETIME,FEXPAND,FSPLIT,GETENV
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FSPLIT [関 数] Filename SPLIT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FSPLIT(変数1,変数2,変数3)
用途 変数 1で指定されたファイル名を、 3分割して返します。
変数 1に ドライブ名とディレクトリー名
変数 2に ファイル名のみ
変数 3に 拡張子のみが 代入されます。
変数 1と変数 2と変数 3で、元の指定されたファイル名と同じ内容に
なります。
メモ FEXPAND や、FSEARCH で得られた内容を代入して分解する場合は、便
利です。
使用例
A$ = "A:\WT\TOOL\WTERM.EXE"
FSPLIT(A$,B$,C$)
結果
A$ = "A:\WT\TOOL\"
B$ = "WTERM"
A$ = ".EXE"
関連項目 DISKSIZE,DISKFSIZE,FILESIZE,FILETIME,FEXPAND,FSEARCH,GETENV
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FTYPE [実行文] File TYPE [4750]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FTYPE(変数1または文字列1,変数2または文字列2)
用途 変数 1または文字列 1で指定したテキストファイルの内容を、変数 2
または文字列 2で指定したファイル名を新規作成し、その内容を記載
します。
注意 エラーには対応しません。
表示するファイルは、テキストファイルに限ります。バイナリファイ
ルかどうかチェックしていません。
解説 TYPE [ドライブ :][パス]ファイル名1 > ファイル名2 と同じです。
使用例 1
A$ = "C:\UP\FILE.LST"
B$ = "UPLIST.LST"
FTYPE(A$,B$)
結果 1
C:\UP\にある FILE.LSTというテキストファイルの内容を、UPLIST.LSTと
いう名前のファイルを新規作成し、その内容を記載します。
使用例 2
FTYPER("C:\UP\FILE.LST","UPLIST.LST")
結果 2
C:\UP\にある FILE.LSTというテキストファイルの内容を、UPLIST.LSTと
いう名前のファイルを新規作成し、その内容を記載します。
関連項目 CHILD,FREN,FRENAME,FTYPE,FTYPEA,FDIR,FDIRA,FMOVE,FCOPY,FLHA
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FTYPEA [実行文] File TYPE Append
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FTYPEA(変数1または文字列1,変数2または文字列2)
用途 変数 1または文字列 1で指定したテキストファイルの内容を、変数 2
または文字列 2で指定したファイル名に、その内容を追加記載します。
指定したファイルが存在しない場合は、新規作成し記載します。
注意 エラーには対応しません。
表示するファイルは、テキストファイルに限ります。バイナリファイ
ルかどうかチェックしていません。
解説 TYPE [ドライブ:][パス]ファイル名1 >> ファイル名2 と同じです。[4800]
使用例 1
A$ = "C:\UP\FILE.LST"
B$ = "UPLIST.LST"
FTYPEA(A$,B$)
結果 1
C:\UP\にある FILE.LSTというテキストファイルの内容を、UPLIST.LSTと
いう名前のファイルに、その内容を追加記載します。
使用例 2
FTYPEA("C:\UP\FILE.LST","UPLIST.LST")
結果 2
C:\UP\にある FILE.LSTというテキストファイルの内容を、UPLIST.LSTと
いう名前のファイルに、その内容を追加記載します。
関連項目 CHILD,FREN,FRENAME,FTYPE,FTYPEA,FDIR,FDIRA,FMOVE,FCOPY,FLHA
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GET [実行文] GET word
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GET(変数,長さ)
用途 通信文字を変数に、指定のバイト数だけ取り込みます。
使用例
GET(A$,12)
関連項目 GETC,GETS
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETC [実行文] GET Charcter
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETC(変数,文字または文字列)
GETC(変数,文字または文字列,"+")
GETC(変数,文字または文字列,+時間)
GETC(変数,文字または文字列,監視時間)
用途 通信文字を、文字が一致するまで取り込みます。
第 3パラメーターが指定されていない場合は、上記のままです。
第 3パラメーターに "+"を指定すると、その取り込んだ内容に、文字
または、文字列の内容を付加します。(機能は、GETSと同じです) [4850]
第 3パラメーターに、時間(秒数)を指定すると、その時間を経過す
ると強制的に脱出します。その場合取り込み内容は空白になります。
第 3パラメーターに、"+時間" を指定すると上記の複合になります。
画面に[ わたしは、H.INOUEです。こんにちは ]と表示した場合
使用例 1
GETC(A$,"こんにちは")
結果 1
A$="わたしは、H.INOUEです。"
使用例 2
GETC(A$,"こんにちは","+")
結果 2
A$="わたしは、H.INOUEです。こんにちは"
使用例 3
GETC(A$,"こんばんは","20")
結果 3
20秒以内に、"こんばんは"という文字列を受信しなかったので、A$=""と
なりました。
関連項目 GETS,GET
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETCRTS [実行文] GET CRT Strings
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETCRTS(変数,変数2または文字列)
用途 現在の行数から、変数 2、または文字列に指定してある行数を遡った
行の、画面の表示列内容を取得をします。
仕様 CRT ON(画面表示を行なう)で、なおかつ現在の表示画面範囲のみ。
使用例
GETSRTS(A$,"5")
結果
この命令を実行した時点での、実行画面のカーソル位置の 5行上の表示
内容を、変数 A$ に格納します。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=[4900]
GETDATAD [関 数] GET DATA's file Directory
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETDATAD(変数)
用途 変数に、F7-5-7で、設定してある料金ファイル等の指定ドライブを、
代入します。
使用例
GETDATAD(A$)
結果
A$ = "USER指定のDATA登録ドライブディレクトリー"
関連項目 GETLOGD,GETTXUPD,GETUPD,GETDOWND,GETMACROD,GETUSERD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETDIR [関 数] GET DIRectory
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETDIR(変数,変数または文字列)
用途 指定したドライブの、カレントディレクトリーを返します。
"0" または、省略した場合は、現在のドライブを返します。
文字列のドライブは、半角小文字(A,B,C......Z)もしくは、番号で
指定します。 A = 1 B = 2 C =3 Z = 26
仕様 ドライブのルートディレクトリー以外のサブディレクトリーの場合、
末尾に、\はつきません。
使用例 1
GETDIR(A$,"A")
結果 1
A$ = "A:\WTERM"
解説 1
A:\WTERM は、現在の Aドライブのカレントディレクトリー
使用例 2
GETDIR(A$,"")
結果 2
A$ = "現在のカレントドライブ"
関連項目 DISKSIZE,DISKFSIZE,FILESIZE,FILETIME,FEXPAND,FSEARCH,
FSPLIT,GETENV,GETMACROD,GETUSERD
[4950]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETDOWND [関 数] GET DOWNload file Directory
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETDOWND(変数)
用途 変数に、F7-5-2で設定してある、DOWNロード指定ドライブの内容を、
代入します。
使用例
GETDOWND(A$)
結果
A$ = "USER指定のDOWNLOAD登録ドライブディレクトリー"
関連項目 GETLOGD,GETTXUPD,GETUPD,GETDATAD,GETMACROD,GETUSERD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETENV [関 数] GET ENVironmental variables
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETENV(変数,変数または文字列)
用途 指定した環境変数の値を、返します。
指定された環境変数がなければ、空の文字列を返します。
使用例 1
GETENV(A$,"WTERM")
結果 1
A$ = "A:\WTERM\WTERM5A.DAT"
使用例 2
GETENV(A$,"PATH")
結果 2
A$ = "A:\;B:\;"
関連項目 DISKSIZE,DISKFSIZE,FILESIZE,FILETIME,FEXPAND,FSEARCH,
FSPLIT,GETDIR,GETUSERD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETID [関 数] GET IDentification of bbs [5000]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETID(変数)
用途 変数に、現在接続中のホストに登録してある登録IDを代入します。
使用例
GETID(A$)
結果
A$ = "接続中のホスト登録ID"
関連項目 GETLOGD,GETTXUPD,GETUPD,GETDOWND,GETMACROD,GETUSERD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETLOGD [関 数] GET LOGfiles Directory
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETLOGD(変数)
用途 変数に、F7-5-1で設定してある、 LOG格納指定ドライブの内容を代入
します。
使用例
GETLOGD(A$)
結果
A$ = "USER指定のLOG格納登録ドライブディレクトリー"
関連項目 GETTXUPD,GETUPD,GETDOWND,GETDATAD,GETMACROD,GETUSERD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETMACROD [関 数] GET MACRO data Directory
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETMACROD(変数)
GETMACROD(変数,変数2)
用途 変数 1に、F7-5-4で、設定してあるマクロファイル格納指定ドライブ
の内容を代入します。
変数 2に、現在のマクロファイル読みだし用ドライブ(\#ドライブ名
\マクロファイル名で指定したドライブ名)の内容を代入します。
使用例 1
GETMACROD(A$)
[5050]
結果 1
A$ = "USER指定の、マクロファイル格納登録ドライブディレクトリー"
使用例 2
GETMACROD(A$,B$)
結果 2
A$ = "USER指定のマクロファイル格納登録ドライブディレクトリー"
B$ = "読みだし時に \# 以降で指定したマクロファイルドライブ"
関連項目 GETLOGD,GETUPD,GETDOWND,GETDATAD,GETMACROD,GETUSERD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETMRES [関 数] GET connected Modem RESult word
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETMRES(変数)
用途 変数に、モデムが接続した際に、モデムから返されるリザルトコード
の内容を変数に代入します。
モデム初期化文字列の内容で、V0なら数字形式の状態で、V1なら文字
形式の状態をかえします。
使用例
GETMRES(A$)
結果
ATQ0V1E0X4とあった場合に、9600 LAPM-V で接続した。
A$ = "CONNECT 9600 LAPM-V"
関連項目 GETLOGD,GETUPD,GETDOWND,GETDATAD,GETMACROD,GETUSERD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETS [実行文] GET Strings
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETS(変数,文字または文字列)
GETS(変数,文字または文字列,"+")
GETS(変数,文字または文字列,+時間)
GETS(変数,文字または文字列,監視時間)
用途 通信文字を、文字が一致するまで取り込みます。
第 3パラメーターが指定されていない場合は、上記のままです。
第 3パラメーターに "+"を指定すると、その取り込んだ内容に、文字
または、文字列の内容を付加します。(機能は、GETSと同じです)
第 3パラメーターに、時間(秒数)を指定すると、その時間を経過 [5100]
すると強制的に脱出します。その場合取り込み内容は空白になります。
第 3パラメーターに、"+時間" を指定すると上記の複合になります。
画面に[ わたしは、H.INOUEです。こんにちは ]と表示した場合
使用例 1
GETS(A$,"こんにちは、")
結果 1
A$="わたしは、H.INOUEです。"
使用例 2
GETS(A$,"こんにちは","+")
結果
A$="わたしは、H.INOUEです。こんにちは"
使用例 3
GETC(A$,"こんばんは","20")
結果 3
20秒以内に、"こんばんは"という文字列を受信しなかったので、A$=""と
なりました。
関連項目 GET,GETC
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETTXUPD [関 数] GET TeXt UPload Directory
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETTXUPD(変数)
用途 変数に、F7-5-4で設定してある、テキストUPロード指定ドライブの内
容を代入します。
使用例
GETTXUPD(A$)
結果
A$ = "USER指定のTXET UP登録ドライブディレクトリー"
関連項目 GETLOGD,GETUPD,GETDOWND,GETDATAD,GETMACROD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETUPD [関 数] GET UPload file Directory
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=[5150]
GETUPD(変数)
用途 変数に、F7-5-2で設定してある、UPロード指定ドライブの内容を代入
します。
使用例
GETUPD(A$)
結果
A$ = "USER指定のUPLOAD登録ドライブディレクトリー"
関連項目 GETLOGD,GETTXUPD,GETDOWND,GETDATAD,GETMACROD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETUSERD [関 数] GET USERS DATA
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GETUSERD(変数1,変数2または文字列)
GETUSERD(変数1,変数2または文字列,変数3または文字列)
用途 変数 1に、変数 2または第 2パラメーターの文字列の指定数項目デー
ターの内容を代入します。
注意 変数 3は、各ホストごとの任意の番号に該当し(1-60番)指定がなけ
れば現在のアクセス中のホストのデーターです。
79番、別枠外部起動プログラムもしくは、80番の別途定義文字列の場
合は、それぞれ該当する番号(1 - 9) もしくは、(A - Z) を明記
してください。
項目(変数2または文字列に指定する番号)
注意 1-15番はホスト関係です。
各ホストごとの番号指定は、変数 3または、第 3パラメータで可能です。
1 ホストの名前 [ダイヤル F・5]-(M)-1
2 ホストの電話番号 [ダイヤル F・5]-(M)-2
3 グループ名(A-G) [ダイヤル F・5]-(M)-9
4 アクセス開始時間 [ダイヤル F・5]-(M)-A
5 アクセス終了時間 [ダイヤル F・5]-(M)-B
6 ログの取得 [ダイヤル F・5]-(M)-G (返り値数字)
1なら記録する、 0なら記録しない
7 ログの名前 [ダイヤル F・5]-(M)-M
8 テキスト送信桁折指定行 [ダイヤル F・5]-(M)-I
9 ラストログイン日付
10 ラストログイン開始時刻
11 ラストログイン終了時刻
12 ラストログイン接続時間 [5200]
13 AUTOPILOT文字列 [ダイヤル F・5]-(M)-O
14 ID [ダイヤル F・5]-(M)-Q
15 PASSWORD [ダイヤル F・5]-(M)-R
17 スピード(BPS) [ダイヤル F・5]-(M)-6 (返り値数字)
0 = 300 BPS
1 = 1200 BPS
2 = 2400 BPS
3 = 4800 BPS
4 = 9600 BPS 5 = 19200 BPS
6 = 38400 BPS 7 = 57600 BPS
8 = 20800 BPS 9 = 41600 BPS
10 = 62400 BPS 11 = 115200 BPS
19 現在接続中のホスト番号
20 ホストの指定漢字モード [ダイヤル F・5]-(M)-9
0 = SIFT-JIS 1 = JIS
2 = OJIS 3 = NEC
4 = EUC
注意 30-50 番は、USER設定DATA関係です。
この項目は変数3、または第3パラメーターは必要ありません。
30 ログ格納ドライブ名 [設定 F・7]-(5)-1
31 ダウンロードファイル格納PATH [設定 F・7]-(5)-2
32 アップロードファイル格納PATH [設定 F・7]-(5)-3
33 テキストアップファイル格納PATH [設定 F・7]-(5)-4
34 MACROファイル ファイル格納PATH [設定 F・7]-(5)-5
35 料金ファイル等 ファイル格納PATH [設定 F・7]-(5)-7
36 料金ファイル名 [設定 F・7]-(5)-6
37 モデムの基本初期設定コマンド [設定 F・7]-(1)-D
38 モデム初期化コマンド設定 2番 [設定 F・7]-(1)-E
39 モデム初期化コマンド設定 3番 [設定 F・7]-(1)-F
40 モデム初期化コマンド設定 4番 [設定 F・7]-(1)-G
41 モデム初期化コマンド設定 5番 [設定 F・7]-(1)-H
42 モデム初期化コマンド設定 6番 [設定 F・7]-(1)-I
43 起動登録エディター名 [設定 F・7]-(2)-1
44 外部 登録 ファイル1 [設定 F・7]-(2)-2
45 外部 登録 ファイル2 [設定 F・7]-(2)-3
46 外部 登録 ファイル3 [設定 F・7]-(2)-4
47 外部 登録 ファイル4 [設定 F・7]-(2)-5
48 送出定義文字列 1 [設定 F・7]-(2)-7
49 送出定義文字列 2 [設定 F・7]-(2)-8
50 送出定義文字列 3 [設定 F・7]-(2)-9
51 送出定義文字列 4 [設定 F・7]-(2)-A
52 送出定義文字列 5 [設定 F・7]-(2)-B
53 送出定義文字列 6 [設定 F・7]-(2)-C
60 現在のログファイル名の取得
79 別枠外部起動プログラム 1-Z [設定 F・7]-(3)-1-Z
80 別途送出定義文字列 1-Z [設定 F・7]-(4)-1-Z [5250]
注意 79/80番は別途送出文字列定義 1-9,A-Zです。
この項目は、変数 3、または第 3パラメーターに、1-9 ないしは、A-Z
を書かなければ無効になります。
使用例 1
GETUSERD(A$,"7")
結果 1
A$ = "現在アクセス中のホストのログファイル名"
使用例 2
GETUSERD(A$,"7","1")
結果 2
A$ = "ホスト番号 1のログファイル名"
使用例 3
GETUSERD(A$,"44")
結果 3
A$ = "USER指定の外部登録ファイル 1"
使用例 4
GETUSERD(A$,"79","1")
結果 4
A$ = "USER指定の別枠 外部起動プログラム 1番の内容"
使用例 5
GETUSERD(A$,"80","D")
結果 5
A$ = "USER指定の別途送出文字列定義の Dの内容"
関連項目 GETLOGD,GETTXUPD,GETUPD,GETDOWND,GETMACROD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GOTO [制御文] GOTO
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
GOTO(ラベル名)
GOTO(ラベル名,変数1,変数2または文字列)
用途 指定されたラベルに制御を移します。CALLと違い、RETURNで戻っては
きません。変数 1(必ず変数)と変数 2、または文字列が指定してある
場合には、変数 1に、変数 2または文字列の内容を格納します。 [5300]
使用例 1 # 解説
START: # ラベルの定義
A$="PAUSE ON" # NIFTYの命令
SWITCH # SWITCH
CASE("Help=>]") # Help=>] という文字列待ち
GOTO(READ) # READにジャンプ
使用例 2 # 解説 例1より1行少ない。
START: # ラベルの定義
SWITCH # SWITCH
CASE("Help=>]") # Help=>] という文字列待ち
GOTO(READ,A$,"PAUSE ON") # READにジャンプ
関連項目 RETURN,CASE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
HANGUP [実行文] HANG UP
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
HANGUP
用途 回線を切断します。
使用例
HANGUP
関連項目 HANGUPT,QUIT,OFF
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
HANGUPT [制御文] HANG UP Time
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
HANGUPT(文字列または変数) (回線断の場合)
HANGUPT(文字列または変数,ラベル) (LABELにJUMPする場合)
用途 TIMEOUT/STIMEOUT と違い、時間差ではなく指定時刻を超過したら、
直ちに以下の作業をします。
指定時刻のみ明記した場合は、指定時刻を超過したら直ちに後述の
作業をします。
先頭に、半角 +を付加する事により、そのマクロを読み込んだ時刻と、
指定時刻経過後に、後述の作業をいたします。作業内容ラベルがない
場合、回線切断をしてマクロを終了します。
JUMPラベルが指定されている場合は、そのラベルにジャンプします。
その場合は、HANGUPT の値は初期化されます。
JUMPラベルは、同一マクロ内のみ有効です。 [5350]
注意 単位は、24時間表記で、"00:00" から "23:59"までです。
もしくは、"+00:00" - "+23:59" までです。
HANGUPT 数値は、グローバル値です。
使用例 1
HANGUPT("23:00")
結果 1
23:00(深夜11時) を過ぎた時点で、マクロを中断して終了します。
RTなどでは、ホスト側からのTIMEOUT が有効にならない場合があります
ので、マクロ自動実行を、RTなどでする場合は便利かと思います。
使用例 2
HANGUPT("23:00",TERR)
結果 2
23:00(深夜11時)を過ぎた時点で、ラベル TERRから実行します。
使用例 3
HANGUPT("+01:10") 現在時刻を 22:00(PM10:00)と仮定
結果 3
現在時刻から 1時間10分を過ぎた時点(上記例からいえば23:10)で、
マクロを中断し終了します。
RTなどでは、ホスト側からのTIMEOUT が有効にならない場合があります
ので、マクロ自動実行を、RTなどでする場合は便利かと思います。
使用例 4
HANGUPT("+01:10",TERR) 現在時刻を 22:00(PM10:00)と仮定
結果 4
現在時刻から、 1時間10分を過ぎた時点(上記例からいえば23:10)で、
ラベル TERR から実行します。
関連項目 HANGUP,QUIT,OFF
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IF< [制御文] IF less than(<)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IF<(変数1,変数2または数字文字列)
用途 変数 1の値が、変数 2、または数字文字列の値より小さければ、次の
行のマクロ命令を実行します。 [5400]
使用例
A$ = "1000"
IF<(A$,"2000")
PRINT(A$)
結果
上記では、A$と "2000" を比較した場合、A$が小さい時は次行マクロ(
PRINT) 文を実行します。
関連項目 IFE,IF<>,IFE<,IF>,IFE>,IFSRCHY,IFSRCHN,IFFILEY,IFFILEN,JUMPE,
JUMP<>,JUMPE<,JUMP<,JUMP>,JUMPE>,JUMPSRCHY,JUMPSRCHN,
JUMPFILEY,JUMPFILEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IF<> [制御文] IF not equal(<>)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IF<>(変数1,変数2または文字列)
用途 変数 1の値と、変数 2、または文字列の値と比較して違えば、次の行
のマクロ命令を実行します。
使用例
A$ = "WTERM" or A$="120"
IF<>(A$,"TERMW") or IF<>(A$,"130")
PRINT(A$)
結果
上記では、A$と TERMW or A$と "130" を比較した場合に、A$と違う時
は、次行 マクロ(PRINT)文を実行します。
関連項目 IFE,IF<,IFE<,IF>,IFE>,IFSRCHY,IFSRCHN,IFFILEY,IFFILEN,JUMPE,
JUMP<>,JUMPE<,JUMP<,JUMP>,JUMPE>,JUMPSRCHY,JUMPSRCHN,
JUMPFILEY,JUMPFILEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IF> [制御文] IF greater than(>)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IF>(変数1,変数2または数字文字列)
用途 変数 1の値が、変数 2、または数字文字列の値より大きいのであれば、
次の行のマクロ命令を実行します。
使用例 [5450]
A$ = "1000"
IF>(A$,"500")
PRINT(A$)
結果
上記では、A$と "500" を比較した場合 A$ の方が大きい時は、次行の
マクロ命令(PRINT) を実行します。
関連項目 IFE,IF<>,IF<,IFE<,IFE>,IFSRCHY,IFSRCHN,IFFILEY,IFFILEN,JUMPE,
JUMP<>,JUMPE<,JUMP<,JUMP>,JUMPE>,JUMPSRCHY,JUMPSRCHN,
JUMPFILEY,JUMPFILEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IFE [制御文] IF Equal(=)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IFE(変数1,変数2または数字文字列)
用途 変数 1と、変数 2、または数字文字列の値を比較して、等しければ、
次行のマクロ命令を、実行します。
使用例
A$ = "WTERM" or A$="120"
IFE(A$,"WTERM") or IFE(A$,"120")
PRINT(A$)
結果
上記では、A$と WTERM or A$と "120" を比較した場合、A$と等しい
場合には、次行マクロ(PRINT) 文を実行します。
関連項目 IF<>,IF<,IFE<,IF>,IFE>,IFSRCHY,IFSRCHN,IFFILEY,IFFILEN,JUMPE,
JUMP<>,JUMPE<,JUMP<,JUMP>,JUMPE>,JUMPSRCHY,JUMPSRCHN,
JUMPFILEY,JUMPFILEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IFE< [制御文] IF less than Equal(<=)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IFE<(変数1,変数2または数字文字列)
用途 変数 1の値が、変数 2、または数字文字列の値と比べて小さい、もし
くは等しければ、次の行のマクロ(PRINT) を実行します。
使用例
A$="999" or A$="1000"
IFE<(A$,"1000") [5500]
PRINT(A$)
結果
上記では A$(1000 or 999) と "1000" を比較した時
A$ が等しいか 小さい場合 次行マクロ(PRINT)を実行します。
関連項目 IFE,IF<>,IF<,IF>,IFE>,IFSRCHY,IFSRCHN,IFFILEY,IFFILEN,JUMPE,
JUMP<>,JUMPE<,JUMP<,JUMP>,JUMPE>,JUMPSRCHY,JUMPSRCHN,
JUMPFILEY,JUMPFILEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IFE> [制御文] IF greater than Equal(>=)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IFE>(変数1,変数2または数字文字列)
用途 変数 1の値が、変数 2、または数字文字列の値よりが大きいか、もし
くは等しければ、次の行のマクロ命令を実行します。
使用例
A$ = "1000" or A$="1001"
IFE>(A$,"1000")
PRINT(A$)
結果
上記では、A$(1000 or 1001)と "1000" を比較した場合、A$のほうが大
きいか等しい場合に、次行のマクロ命令(PRINT) を実行します。
関連項目 IFE,IF<>,IF<,IFE<,IF>,IFSRCHY,IFSRCHN,IFFILEY,IFFILEN,JUMPE,
JUMP<>,JUMPE<,JUMP<,JUMP>,JUMPE>,JUMPSRCHY,JUMPSRCHN,
JUMPFILEY,JUMPFILEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IFFILEN [制御文] If Find FILE No
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IFFILEN(変数または文字列)
用途 変数に、書かれたファイルを調べて存在しなければ、次行のマクロ命
令を実行します。ファイル名には *.* や *. や .* は使用できませ
ん。
使用例
A$ = "A:\TOOL\ML.EXE"
IFFILEN(A$)
PRINT(A$)
[5550]
結果
A:\TOOL\ML.EXEが無かった場合に、次行のマクロ命令(PRINT) を実行し
ます。
関連項目 IFE,IF<>,IF<,IFE<,IF>,IFE>,IFSRCHY,IFSRCHN,IFFILEY,JUMPE,
JUMP<>,JUMPE<,JUMP<,JUMP>,JUMPE>,JUMPSRCHY,JUMPSRCHN,
JUMPFILEY,JUMPFILEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IFFILEY [制御文] If Find FILE Yes
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IFFILEY(変数または文字列)
IFFILEY(変数または文字列1,文字列2)
用途 変数に書かれたファイルを調べて存在すれば、次行のマクロ命令を実
行します。ファイル名には *.* や *. や .* は使用できません。
ファイルが存在し、文字列2に"REN"と書いてあればそのファイルは、
拡張子が、FILE名.OLDとリネームして保存します。同名のFILE名.OLD
が存在すれば、そのファイルは、FILE名.000として保存されます。
使用例
A$ = "A:\TOOL\MLP.EXE"
IFFILEY(A$)
PRINT(A$)
結果
A:\TOOL\MLP.EXEが、存在した場合
次行のマクロ命令(PRINT) を実行します。
関連項目 IFE,IF<>,IF<,IFE<,IF>,IFE>,IFSRCHY,IFSRCHN,IFFILEN,JUMPE,
JUMP<>,JUMPE<,JUMP<,JUMP>,JUMPE>,JUMPSRCHY,JUMPSRCHN,
JUMPFILEY,JUMPFILEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IFSRCHN [制御文] IF SeaRCH word No
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IFSRCHN(変数1,比較文字列または変数2)
用途 変数 1から 2番目に代入した変数 2、または文字列があるかを検索し、
存在しなければ(Noの場合)、次行のマクロ命令を実行します。
使用例
A$ = "ABCDEF"
IFSRCHN(A$,"GH")
PRINT(A$)
[5600]
結果
上記では、A$(ABCDEF)の中に、比較文字("GH")が、含まれない場合、次
行のマクロ命令(PRINT) を、実行します。
関連項目 IFE,IF<>,IF<,IFE<,IF>,IFE>,IFSRCHY,IFFILEY,IFFILEN,JUMPE,
JUMP<>,JUMPE<,JUMP<,JUMP>,JUMPE>,JUMPSRCHY,JUMPSRCHN,
JUMPFILEY,JUMPFILEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IFSRCHY [制御文] IF SeaRCH word Yes
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IFSRCHY(変数1,比較文字列または変数2)
用途 変数 1から 2番目に代入した変数 2、または文字列があるか検索し、
存在すれば( Yesの場合)、次行のマクロ命令を実行します。
使用例
A$ = "ABCDEF"
IFSRCHY(A$,"AB")
PRINT(A$)
結果
上記では、A$(ABCDEF)の中に、比較文字("AB")が含まれる場合、次行の
マクロ命令(PRINT)を、実行します。
関連項目 IFE,IF<>,IF<,IFE<,IF>,IFE>,IFSRCHN,IFFILEY,IFFILEN,JUMPE,
JUMP<>,JUMPE<,JUMP<,JUMP>,JUMPE>,JUMPSRCHY,JUMPSRCHN,
JUMPFILEY,JUMPFILEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
INPUT [実行文] INPUT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
INPUT(変数1)
INPUT(変数1,変数2または文字列2)
INPUT(変数1,変数2または文字列2,変数3または文字列3)
用途 キーボードから文字列を読み取り、変数 1に格納します。
2番目のパラメーターを指定した場合は、変数 2、または文字列 2を
表示してから入力状態になります。(コメントをつけたい場合)
3番目のパラメーターを指定した場合は、入力ボックスでの入力にな
なります。
変数 3、または文字列 3で、入力ボックスの位置を指定します。
範囲は、 2 - 20 の範囲です。
カラー指定は変数 3、または文字列 3に付加します。 [5650]
入力ボックス枠のカラー(通常は黄色)を変更したい場合は、 3番目
のパラメーターの指定位置に、百の位をつけてください。
書式
色指定 nnは、ボックス位置
1nn 青枠 2nn 赤枠 3nn 黄枠 4nn 緑枠
5nn 紫枠 6nn 水色枠 7nn 白枠
書式例
上から、 5行目の場合であれば
105 青枠 205 赤枠
上から、10行目の場合であれば
510 紫枠 710 白枠
タイムアウト指定は、変数 3、または文字列 3に、 .nnで付加します。
単位
秒数です。最大値は、600 秒です。
書式
カラー指定 and 桁指定 + .nn で、付加します。
書式例
上から 5行目の場合であり、なおかつ60秒で、時間切れの場合。
105.60 青枠 205.60 赤枠
表示行が 5行目で、30秒でタイムアウトしたい場合。
5.30
用語 INPUT 文タイムアウト
キーをなにも押されていない状態が続くと入力処理を中断します。
使用例 1
INPUT(C$)
結果 1
キーボードから入力された文字列を、C$に格納します。
使用例 2
INPUT(C$,"input No. : ")
結果 2
"input No. : "を表示の後、入力待ちになります。
使用例 3
INPUT(C$,"番号を指定して下さい","5")
結果 3
入力ボックスでの入力になります。
[5700]
+---------------------------------------------------------+
| INPUT [ MACRO 実行中 ] 変数 2(任意) |
| |
| ESC -> 入力中断 |
+-----黄色枠----------------------------------------------+
使用例 4
INPUT(C$,"番号を指定して下さい","705.45")
結果 4
入力ボックスでの入力になります。(ボックスカラー白)
+---------------------------------------------------------+
| INPUT [ MACRO 実行中 ] 変数 2(任意) |
| |
| ESC -> 入力中断 |
+-----白色枠で 45 秒入力がないと入力のみ中断します--------+
注意 INPUT TIME OUT の場合は、入力前に内容が、A$に保存されます。
中断(ESC )の場合は、MACRO実行停止します。
関連項目 INPUTF
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
INPUTF [実行文] INPUT Filename
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
INPUTF(変数,文字列)
INPUTF(変数,文字列1,文字列2)
用途 ファイル選択画面を起動し、選択したファイル名を変数に格納します。
文字列 1は、最初に表示するディレクトリー名です。
文字列 2は、上記ディレクトリーで表示したい拡張子です。空白の場
合は *.* が代入されます。
注意 2分間入力がない場合は、入力を中断して戻ります。
使用例 1
INPUTF(A$,"")
結果 1
カレントディレクトリーのファイル選択画面を開き(*.*)、選択したフ
ァイル名を、A$に格納します。
使用例 2
INPUTF(A$,"","*.DAT")
結果 2
カレントディレクトリーの ファイル選択画面を開き(*.DAT)、 [5750]
選択したファイル名をA$に格納します。
使用例 3
INPUTF(B$,"A:\WTERM")
結果 3
A:\WTERM\*.* で ファイル選択画面を開き、選択したファイル名を、B$
に格納します。
使用例 4
INPUTF(B$,"A:\WT","*.MAC")
結果 4
A:\WT\*.MAC でファイル選択画面を開き、選択したファイル名を、B$に
格納します。
使用例 5
INPUTF(Z$,D$)
結果 5
D$の内容をディレクトリー名とみなしてファイル選択画面を開き、選択
したファイル名を Z$に格納します。
関連項目 INPUT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
INS [関 数] INSert string
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
INS(変数1,挿入開始数値,挿入文字列または変数2)
用途 変数の挿入開始位置の前に挿入文字列を挿入します。
数値は、バイト単位で、何番目か漢字の場合は1 文字 2バイトです。
使用例
A$ = "123456789"
INS(A$,"5","こんにちは")
結果
A$ = "1234こんにちは56789"
解説 変数A$の 5文字目に、こんにちはを挿入します。
関連項目 APS,CAT,COPY,INS,LEFT,LENGTH,POS,RIGHT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=[5800]
ISKANJI [実行文] ISKANJI
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
ISKANJI(文字列または変数1,変数2または文字列2,変数3)
用途 文字列の変数 2の数値バイト目が、漢字コードの 2バイト目であるか
どうか判定して、漢字コードの 2バイト目であれば、変数 3に 1を、
なければ変数 3に 0を返します。
使用例 1
A$="SHIFT-JISの漢字"
ISKANJI(A$,"11",B$)
結果 1
B$ = 1
使用例 2
A$="<<< a.doc for MS-DOS ( use ish ) [ 23 lines ] >>>"
ISKANJI(A$,"1",C$)
JUMPE(C$,"1",KANJI_Y)
JUMP(KANJI_N)
結果 2
変数A$の 1バイト( 1文字)目が、漢字( 2バイト文字)であれば、KA
NJI_Y に、でなければ、KANJI_N に、ジャンプします。
上記の場合、ジャンプラベル、KANJ_Nにジャンプします。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
JUMP< [制御文] compare JUMP less than(<)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
JUMP<(変数1,変数2または数字文字列,ラベル)
用途 変数 1の値が 変数 2、または数字文字列より値が小さいければ、指
定したラベルにジャンプします。
使用例
A$ = "1000"
JUMP<(A$,"2000",JUMPW2)
結果
上記では、A$と "2000" を比較した場合、A$が小さいので、指定ラベル
JUMPW2に、ジャンプします。
関連項目 YJUMP,NJUMP,JUMPE,JUMP<>,JUMPE<,JUMP>,JUMPE>,JUMPSRCHY,
JUMPSRCHN,JUMPFILEY,JUMPFILEN,IFE,IF<>,IF<,IFE<,IF>,IFE>,
IFSRCHY,IFSRCHN,IFFILEY,IFFILEN
[5850]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
JUMP<> [制御文] compare JUMP not equal(<>)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
JUMP<>(変数1,比較文字列または変数2,ラベル)
用途 変数 1の値と、比較文字列または、変数 2に代入した値を比較して、
違えば指定したラベルにジャンプします。
使用例
A$ = "WTERM" or A$="120"
JUMP<>(A$,"TERMW",JUMPW2) JUMP<>(A$,"130",JUMPW2)
結果
上記では、A$と TERMW or A$と "130" を比較した場合、A$の内容と違
うので指定ラベルJUMPW2に、ジャンプします。
関連項目 YJUMP,NJUMP,JUMPE,JUMP<,JUMPE<,JUMP>,JUMPE>,JUMPSRCHY,
JUMPSRCHN,JUMPFILEY,JUMPFILEN, IFE,IF<>,IF<,IFE<,IF>,IFE>,
IFSRCHY,IFSRCHN,IFFILEY,IFFILEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
JUMP> [制御文] compare JUMP greater Than(>)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
JUMP>(変数1,変数2または数字文字列,ラベル)
用途 変数 1の値が、変数 2、または、数字文字列の値より大きい場合に、
指定したラベルに、ジャンプします。
使用例
A$ = "1000"
JUMP>(A$,"500",JUMPW2)
結果
上記では、A$と "500" を比較した場合、A$が大きい場ので指定ラベル
JUMPW2に、ジャンプします。
関連項目 YJUMP,NJUMP,JUMPE,JUMP<>,JUMPE<,JUMP<,JUMPE>,JUMPSRCHY,
JUMPSRCHN,JUMPFILEY,JUMPFILEN,IFE,IF<>,IF<,IFE<,IF>,IFE>,
IFSRCHY,IFSRCHN,IFFILEY,IFFILEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
JUMPE [制御文] compare JUMP Equal(=) [5900]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
JUMPE(変数1,比較文字列または変数2,ラベル)
用途 変数 1の値と 2番目に代入した値を比較して等しければ、指定したラ
ベルに、ジャンプします。
使用例 1
A$ = "WTERM"
JUMPE(A$,"WTERM",JUMPW2)
結果 1
上記では、A$と比較文字列 WTERM を比較した場合、同じ内容なので、
指定ジャンプラベル JUMPW2に、ジャンプします。
使用例 2
A$ = "120"
JUMPE(A$,"120",JUMPW2)
結果 2
上記では、A$と 120を比較した場合、同じ内容なので、指定ジャンプラ
ベル JUMPW2に、ジャンプします。
関連項目 YJUMP,NJUMP,JUMP<>,JUMP<,JUMPE<,JUMP>,JUMPE>,JUMPSRCHY,
JUMPSRCHN,JUMPFILEY,JUMPFILEN,IFE,IF<>,IF<,IFE<,IF>,IFE>,
IFSRCHY,IFSRCHN,IFFILEY,IFFILEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
JUMPE< [制御文] compare JUMP less than Equal(<=)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
JUMPE<(変数1,変数2または数字文字列,ラベル)
用途 変数 1の値が、変数 2、または、数字文字列の値にくらべ、小さいか
もしくは等しければ、指定したラベルにジャンプします。
使用例
A$ = "999" or A$="1000"
JUMPE<(A$,"1000",JUMPW2)
結果
上記では、A$(999 or 1000)と "1000" を比較した場合、A$が等しいか
小さい場合、指定ジャンプラベル JUMPW2に、ジャンプします。
関連項目 YJUMP,NJUMP,JUMPE,JUMP<>,JUMP<,JUMP>,JUMPE>,JUMPSRCHY,
JUMPSRCHN,JUMPFILEY,JUMPFILEN,IFE,IF<>,IF<,IFE<,IF>,IFE>,
IFSRCHY,IFSRCHN,IFFILEY,IFFILEN [5950]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
JUMPE> [制御文] compare JUMP greater than Equal(>=)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
JUMPE>(変数1,変数2または数字文字列,ラベル)
用途 変数 1の値と、変数 2、または、数字文字列の値より、大きいもしは
等しければ指定したラベルに、ジャンプします。
使用例
A$ = "1000" or A$ = "1001"
JUMPE>(A$,"1000",JUMPW2)
結果
上記では、A$(1000 or 1001)と "1000" を比較した場合に、A$が等しい
か大きい場合、指定ジャンプラベル JUMPW2に、ジャンプします。
関連項目 YJUMP,NJUMP,JUMPE,JUMP<>,JUMPE<,JUMP<,JUMP>,JUMPSRCHY,
JUMPSRCHN,JUMPFILEY,JUMPFILEN,IFE,IF<>,IF<,IFE<,IF>,IFE>,
IFSRCHY,IFSRCHN,IFFILEY,IFFILEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
JUMPFILEN [制御文] JUMP if find FILE No
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
JUMPFILEN(変数または文字列,ラベル)
用途 変数に書かれたファイルを探して、存在しなければ指定したラベルに、
ジャンプします。
ファイル名には *.* や *. や .* は、使用できません。
使用例
A$ = "A:\TOOL\ML.EXE"
JUMPFILEN(A$,JUMPW2)
結果
A:\TOOL\ML.EXEが、存在しなかった場合、指定ジャンプラベル JUMPW2
に、ジャンプします。
関連項目 YJUMP,NJUMP,JUMPE,JUMP<>,JUMPE<,JUMP<,JUMP>,JUMPE>,JUMPSRCHY,
JUMPSRCHN,JUMPFILEY,IFE,IF<>,IF<,IFE<,IF>,IFE>,IFSRCHY,
IFSRCHN,IFFILEY,IFFILEN
[6000]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
JUMPFILEY [制御文] JUMP if find FILE Yes
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
JUMPFILEY(変数または文字列,ラベル)
用途 変数に書かれたファイルを探して、存在すれば指定したラベルに、ジ
ャンプします。
ファイル名には *.* や *. や .* は、使用できません。
使用例
A$ = "A:\TOOL\MLP.EXE"
JUMPFILEY(A$,JUMPW2)
結果
A:\TOOL\MLP.EXEが、存在した場合、指定ジャンプラベル JUMPW2に、ジ
ャンプします。
関連項目 YJUMP,NJUMP,JUMPE,JUMP<>,JUMPE<,JUMP<,JUMP>,JUMPE>,JUMPSRCHY,
JUMPSRCHN,JUMPFILEN,IFE,IF<>,IF<,IFE<,IF>,IFE>,IFSRCHY,
IFSRCHN,IFFILEY,IFFILEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
JUMPSRCHN [制御文] JUMP if SeaRCH No
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
JUMPSRCHN(比較元文字列または変数1,比較文字列または変数2,ラベル)
用途 変数 1から、 2番目に代入した変数 2、または文字列があるかを検索
して、該当する文字列がなければ、指定したラベルにジャンプします。
文字列、または変数 1が空白であれば、検索できないのでジャンプし
ます。
使用例
A$ = "ABCDEF"
JUMPSRCHN(A$,"GH",JUMPW2)
結果
上記では、A$(ABCDEF)の中に、比較文字("GH")が含まれない場合、指定
ジャンプラベル JUMPW2に、ジャンプします。
関連項目 YJUMP,NJUMP,JUMPE,JUMP<>,JUMPE<,JUMP<,JUMP>,JUMPE>,JUMPSRCHY,
JUMPFILEY,JUMPFILEN,IFE,IF<>,IF<,IFE<,IF>,IFE>,IFSRCHY,
IFSRCHN,IFFILEY,IFFILEN,
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=[6050]
JUMPSRCHY [制御文] JUMP if SeaRCH Yes
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
JUMPSRCHY(比較元文字列または変数1,比較文字列または変数2,ラベル)
用途 変数 1から、 2番目に代入した変数 2、または文字列があるかを検索
して、該当する文字列が存在すれば、指定したラベルにジャンプしま
す。文字列または変数 1が、空白であれば検索できないのでジャンプ
しません。
使用例
A$ = "ABCDEF"
JUMPSRCHY(A$,"AB",JUMPW2)
結果
上記では、A$(ABCDEF)の中に比較文字("AB")が含まれる場合、指定ジャ
ンプラベル JUMPW2に、ジャンプします。
関連項目 YJUMP,NJUMP,JUMPE,JUMP<>,JUMPE<,JUMP<,JUMP>,JUMPE>,JUMPSRCHN,
JUMPFILEY,JUMPFILEN,IFE,IF<>,IF<,IFE<,IF>,IFE>,IFSRCHY,
IFSRCHN,IFFILEY,IFFILEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
LAPTIME [関 数] LAPTIME
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
LAPTIME(変数1,変数2)
用途 変数 1に、マクロを開始からの経過時間が、代入されます。
変数 2に、SETTIME してからの経過時間が、代入されます。
使用例
LAPTIME(A$,B$)
MACROSTARTした時点での時間が仮に 00:00:10
SETTIMEした時点での時間が仮に 00:10:15
現在時間は 00:20:00
A$="00:19:50" マクロ START時からの経過時間の値
B$="00:09:45" SETTIME からの 経過時間の値
関連項目 TIME,LOGTIME,SETTIME
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
LASTDATE [関 数] LAST access DATE [6100]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
LASTDATE(変数,区分挿入文字列[任意])
用途 変数に、現在接続しているホストのラストログイン年月日を代入しま
す。
解説 区分挿入文字列(任意)は "/"、"*"、"." です。
仮に最終アクセス日が 95.01.01とした場合
使用例 1
LASTDATE(A$,"/")
結果 1
A$ = "95/01/01"
使用例 2
LASTDATE(A$,"*")
結果 2
A$ = "95*01*01"
使用例 3
LASTDATE(A$,".")
結果 3
A$ = "95.01.01"
使用例 4
LASTDATE(A$)
結果 4
A$ = "950101"
関連項目 DATE,DATEADD,DATESUB
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
LASTTIME [関 数] LAST access TIME
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
LASTTIME(変数,区分挿入文字列[任意])
用途 変数に、現在接続しているホストのラストログイン接続終了時間を代
入します。
解説 区分挿入文字列(任意)は "/"、":"、"."以外でもOKです。
[6150]
仮に最終アクセス時間が 21:10:05 とした場合
使用例 1
LASTTIME(A$,"/")
結果 1
A$ = "21/10/05"
使用例 2
LASTTIME(A$,"*")
結果 2
A$ = "21*10*05"
使用例 3
LASTTIME(A$,".")
結果 3
A$ = "21.10.05"
使用例 4
LASTTIME(A$)
結果 4
A$ = "211005"
関連項目 TIME,LASTDATE,LASTSTIME
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
LASTSTIME [関 数] LAST access Stat TIME
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
LASTSTIME(変数,区分挿入文字列[任意])
用途 変数に、現在接続しているホストのラストログイン時点のアクセス開
始続時間を代入します。
解説 区分挿入文字列(任意)は "/"、":"、"."以外でもOKです。
仮に、最終アクセスした際のその開始時間が 20:10:05 とした場合
使用例 1
LASTSTIME(A$,"/")
結果 1
A$ = "20/10/05"
使用例 2 [6200]
LASTSTIME(A$,"*")
結果 2
A$ = "20*10*05"
使用例 3
LASTSTIME(A$,".")
結果 3
A$ = "20.10.05"
使用例 4
LASTSTIME(A$)
結果 4
A$ = "201005"
関連項目 TIME,LASTDATE,LASTTIME,
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
LEFT [関 数] insert LEFT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
LEFT(変数1,左側よりカット指定(文字数または変数2))
LEFT(変数1,左側よりカット指定(文字数または変数2),変数3)
用途 変数 1の左側より、変数 2、または文字列で指定した文字数分取り出
して、変数 1に代入します。
第 3パラメーターに、変数 3がある場合は、変数 3にカットする前の
変数 1の内容を代入します。
数値はバイト単位で、漢字の場合は 1文字 2バイトで計算します。
使用例 1
A$ = "123456789"
LEFT(A$,"5")
結果 1
A$ = "12345"
解説 変数A$の左側から、 5文字分取りだし、変数A$に、代入します。
使用例 2
A$ = "123456789"
LEFT(A$,"5",C$)
結果 3
A$ = "12345"
C$ = "123456789" [6250]
解説 変数A$の左側から、 5文字分取りだし、変数A$に、代入します。
変数C$には、カットする前の、A$の内容が代入されます。
関連項目 APS,CAT,COPY,DEL,INS,RIGHT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
LENGTH [関 数] LENGTH of strings
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
LENGTH(変数1,変数2)
用途 変数 2の文字列の、文字列長を、変数 1に代入します。
使用例
B$ = "123456789ABC"
LENGTH(A$,B$)
結果
A$ = "12" (12文字)
関連項目 CAT,COPY,DEL,INS,POS
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
LOGCLOSE [実行文] LOG file CLOSE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
LOGCLOSE
用途 現在記録中のログファイルを、クローズ(記録中断)します。
使用例
LOGCLOSE
関連項目 LOGOPEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
LOGOPEN [実行文] LOG file OPEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
LOGOPEN(変数または文字列)
用途 指定された文字列(または変数)をログファイル名として、ログファ
イルを記録開始しはじめます。 [6300]
すでにログファイルが記録状態の場合は、中断したのち、再度記録開
始します。
仕様 TEMP という文字列の場合のみ、TEMP.LOGという名前のログに追加し
ていきます。
STOP という文字列の場合のみ、ログを取るのを中止します。
指定ファイルと、同名のファイルがある場合はそれに追加します。
存在しない場合は、新規に作ります。
ポイント
下記使用例での違いは、ファイル名が 4文字以内であるかどうかです。
ファイル名に、日時を付加したい場合は 4文字以下にして下さい。
なお。拡張子なしでも . があれば、月日はつけません。
使用例 1
LOGOPEN("WWIV")
結果 1
ログ格納ディレクトリーに、WWIV0301.LOGを作成します。
拡張子を指定しない場合、後ろに"月日.LOG"を付けます。
ファイル名が、 4文字以下あれば、ファイル名に月日を付加します。
使用例 2
LOGOPEN("WWIV1")
結果 2
カレントドライブに、WWIV1 というログファイルを作成します。
使用例 3
LOGOPEN("A:\WWIV")
結果 3
A:\に、WWIV0301.LOGというログファイルを作成します。
ファイル名が、 4文字以下あれば、ファイル名に月日を付加します。
使用例 4
LOGOPEN("A:\WWIV.")
結果 4
A:\に、WWIV というログファイルを、作成します。
使用例 5
LOGOPEN("A:\WT\WWIV")
結果 5
A:\WT\に、WWIV月日.LOG を 作成します。
ファイル名が、 4文字以下あれば、ファイル名に月日を付加します。
使用例 6 [6350]
LOGOPEN("A:\WT\WWIV1")
結果 6
A:\に、WWIV1 というログファイルを、作成します。
使用例 7
LOGOPEN("WWIV.LOG")
結果 7
ログ格納ディレクトリーに、WWIV.LOGを作成します。
使用例 8
LOGOPEN("A:\WWIV.LOG")
結果 8
A:\に、WWIV.LOG というログファイルを、作成します。
使用例 9
LOGOPEN("A:\WT\WW.LOG")
結果 9
A:\に、WW.LOG というログファイルを、作成します。
使用例10
LOGOPEN("")
結果 10
現在接続中のホスト設定で指定してある名前のログに追加します。
空白""は、忘れないようにしてください。
使用例11
LOGOPEN("TEMP")
結果 11
TEMP.LOGという名前に追加します。
同じ名前で、ログファイルを記録したい場合はこれにしてください。
関連項目 LOGCLOSE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
LOGTIME [関 数] LOGon TIME
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
LOGTIME(変数,区分挿入文字列[任意])
用途 変数に、接続中のホストに接続してからの経過時間を代入します
解説 区分挿入文字列(任意)は "/"、":"、"."以外でもOKです。 [6400]
仮に、アクセス開始時間が、 21:10:05 とした場合、現在時刻 21:25:25
使用例 1
LOGTIME(A$,":")
結果 1
A$ = "00:15:20"
使用例 2
LOGTIME(A$,"/")
結果 2
A$ = "00/15/20"
使用例 3
LOGTIME(A$,".")
結果 3
A$ = "00.15.20"
使用例 4
LOGTIME(A$)
結果 4
A$ = "001520"
関連項目 TIME,SETTIME,LAPTIME
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
LOWCASE [関 数] LOWer CASE string
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
LOWCASE(変数1,変数2)
用途 変数 2の中の半角大文字を、半角小文字に変換して、変数 1に代入し
ます。
使用例
B$ = "ABCDEF"
LOWCASE(A$,B$)
結果
A$ = "abcdef"
[6450]
関連項目 CAT,COPY,DEL,INS,UPCASE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
MACROVER [関 数] MACRO VERsion date
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
MACROVER(変数)
MACROVER(変数1,変数2)
用途 変数に、WTERM の製作発表時期が格納される。
変数2があれば、"MSDOS"を変数2に格納します。
現在発表時期において下記の種類があります。
MACROVER "920707" MACROVER "920928"
MACROVER "930127" MACROVER "930619"
MACROVER "930620" MACROVER "930910"
MACROVER "931020" MACROVER "931101"
MACROVER "931204" MACROVER "940610"
MACROVER "941001" MACROVER "950101"
MACROVER "950301" MACROVER "950303"
MACROVER "950415" MACROVER "950825"
MACROVER "951101" MACROVER "960127"
MACROVER "960301" MACROVER "960601"
使用例
MACROVER(A$)
結果
A$="950120" 95.01.27
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
MAKERB [実行文] MAKE Read Batch command
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
MAKERB(変数1,変数2)
用途 ","と "-" で、区切られた数字文字列を、変数 1にパラメーターとし
て与えると、PC-VANのRBコマンド用の文字列として、加工して変数 2
に返します。
変数 1の文字列を解析した結果、RBコマンド数字が 5個を越える時は、
残りの数字文字列を、変数 1に返します。
変数 1の文字列を解析した結果、RBの数字が 5個を越えない時は、解
析が全て終了したという文字列を変数 1に "__RB_END__" [6500]
を返します。
変数 1が空白の場合、変数 1に "__RB_END__" 変数 2に "__RB_ERR__"
を 返します。
制限 使用に当たって以下の制限があります。
9999の次は、 1になりません。10000になります。
A$は、"," や "-" で始まったり終わったりしている場合、その結果
は保証しません。 [
使用例 1
A$ = "1,2,3,5-10" の時
MAKERB(A$,B$)
結果 1
A$ = "7-10"
B$ = "RB1,2,3,5,6"
使用例 2
A$ = "100,50-52,200,300-310,400-410" の時
MAKERB(A$,B$)
結果 2
A$ = "300-310,400-410"
B$ = "RB100,50,51,52,200"
使用例 3
A$ = "100,50-52,200" の時
MAKERB(A$,B$)
結果 3
A$ = "__RB_END__"
B$ = "RB100,50,51,52,200"
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
MASKCRT [制御文] MASK CRT indication on or off
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
MASKCRT(ON,OFF)
用途 画面出力表示をすべて、X に置き換えます。
アクセス中に回りに人がいて不都合が招じる場合などで、画面出力を
表示したくない場合など(電子メールを読む場合など)有効です。
ログファイルや、バックスクロールなどには通常文字で記録されます。
OFF とするか、マクロを終了した時点で正常表示に戻ります。
使用例
MASKCRT(ON) 画面出力表示をすべて X に 置き換えます。
[6550]
実行例
こんにちは -> XXXXXXXXXX
関連項目 CRT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
MDUMP [制御文] Macro DUMP on or off
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
MDUMP(変数または文字列)
MDUMP(変数または文字列,変数 2または文字列)
用途 マクロDUMPファイルの記録の、開始/中断を指定します。
最初から記録せず任意の場所前後のみ記録したい場合に、便利です。
第 2パラメーターを指定した場合は、実行時間等の記録もします。
それを指定した場合には、なお一層実行速度が低下します。
注意 ユーザー設定で、MACRO.DMP 記録を、するにしている状態で有効です。
使用例
MDUMP("OFF") MACRO.DMP の記録を、中断します。
使用例
MDUMP("ON") MACRO.DMP の記録を、再開します。
使用例
MDUMP("ON","ON") MACRO.DMP の記録に、時間も書き込みます。
使用例
MDUMP("ON","OFF") MACRO.DMP の記録に、時間は書き込みません。
MACRO.DMP 例
NIFTY 95-01-01 00:00:00
-=-= MACRO DUMP -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
A:\MACRO\LOGIN.MAC 350 Line Reading ......OK
コマンド数=884(1024) 文字数=5318(12288) ラベル数=131(150)
NIFTY 95-01-01 00:01:15 <-- 時間表示の場合
A:\MACRO\LOGIN.MAC 9 LOGCLOSE
NIFTY 95-01-01 00:01:18 <-- 時間表示の場合
A:\MACRO\LOGIN.MAC 11 INPUT(,何をしますか?,3.10)
NIFTY 95-01-01 00:01:22 <-- 時間表示の場合
A:\MACRO\LOGIN.MAC 12 JUMPE(FWTERM,,OVER)
NIFTY 95-01-01 00:01:25 <-- 時間表示の場合
A:\MACRO\LOGIN.MAC 13 SEND(GO )
NIFTY 95-01-01 00:02:11 <-- 時間表示の場合
A:\MACRO\LOGIN.MAC 14 SEND(FWTERM)
[6600]
------------ 中略 --------------
A:\MACRO\LOGIN.MAC 118 LOGOPEN(NIF)
NIFTY 95-01-01 00:07:25 <-- 時間表示の場合
A:\MACRO\LOGIN.MAC 119 EXIT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
MKDIR [実行文] MaKe DIRectory
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
MKDIR(変数または文字列)
用途 サブディレクトリーを作ります。
制限 エラー(ディレクトリーが作成できない場合)時は、マクロは停止し
ます。指定されたディレクトリーが、すでに存在する場合は、続行と
なります。
使用例
MKDIR("A:\TEST") #※MKDIR("A:\TEST\")のように最後に\は付けない。
結果
A:\に TESTというサブディレクトリーを作ります。
関連項目 DISKSIZE,DISKFSIZE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
MOD [関 数] MODulus
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
MOD(変数1,変数2または文字列2,変数3または文字列3)
用途 変数 2を、変数 3の内容で割って(除算)、変数 1には除算の余り(
整数)が代入されます。代入される内容は、数字の文字列形式です。
変数 1 = 変数 1 -((変数 2 or 文字列 2)÷(変数 3 or 文字列 3))
使用例 1
B$ = "1000"
C$ = "5"
MOD(A$,B$,C$)
結果 1
A$ = "0"
B$(1000)を、C$( 5)で割算したが、割り切れたので、A$は 0。
使用例 2 [6650]
MOD(A$,"50","20")
結果 2
A$ = "10"
B$(50)を、C$(20)で割算したが、割り切れずに、10余るのでA$は10。
関連項目 ADD,SUB,MUL,DIV
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
MUL [関 数] MULtiply
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
MUL(変数1,変数2または文字列2,変数3または文字列3)
用途 変数 2に、変数 3の内容を掛算して(乗算)、変数 1にその解答(整
数)が代入されます。代入される内容は、数字の文字列形式です。
変数 1 = (変数 2 or 文字列 2)×(変数 3 or 文字列 3)
使用例
B$ = "1000" C$ = "5"
MUL(A$,B$,C$)
結果
A$ = "5000"
A$ = B$(1000)× C$(5)
関連項目 ADD,SUB,DIV,MOD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
NJUMP [制御文] No JUMP
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
NJUMP(変数または文字列,ラベル)
用途 第 1パラメーター(変数または文字列)で、指定したコメントを表示
し、No(N or [Space or Return これはUSERの選択] )を押すと、指
定したラベルにジャンプします。
それ以外は、何もしないでつぎのマクロ命令を実行します。ラベルが
ない場合や、ESCキー を押したときは、マクロを中断します。
なにも入力しない状態で、 120秒が経過すると、 Nキーを押した状態
と同じになり、マクロは進行し、指定ラベルにジャンプします。
使用例 1
A$="No なら ログアウトします"
NJUMP(A$,LOGOUT) # No(N key)で LOGOUT にジャンプします。
# LOGOUT は Label [6700]
結果 1
+-----------------------------------------------+
| << No or Return → Jump Label >> |
| No なら ログアウトします(例) [Yes/No] |
| [ ESC -> ABORT] |
+-----黄色枠------------------------------------+
注意 120 秒以内に選択しない場合は、指定ラベルにジャンプします。
ラベル指定がされていない場合は、マクロを中断します。
ESC キーを押した時は、マクロを中断します。
関連項目 YJUMP,JUMPE,JUMP<>,JUMP<,JUMPE<,JUMP>,JUMPE>,JUMPSRCHY,
JUMPSRCHN,JUMPFILEY,JUMPFILEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
OFF [実行文] log OFF
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
OFF
用途 現在接続中の回線を切断し、マクロ実行を停止します。
関連項目 QUIT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
OCLOSE [実行文] wOrk file CLOSE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
OCLOSE
用途 OOPEN した任意のファイルを、CLOSEします。
使用例
OCLOSE
関連項目 WOPEN,WAPPEND,WRITE,FCLOSE,RCLOSE,TCLOSE,TOPEN,FOPEN,ROPEN
OOPEN,OREAD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
OOPEN [実行文] wOrk file OPEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[6750]
OOPEN(ファイル名)
OOPEN(ファイル名,ラベル)
用途 OREAD する為に、ファイルをオープンします。
ラベルを指定した場合は、オープンエラー(ファイルが存在しない場
合)のとき、指定したラベルにジャンプします。
異常が発生して、なおかつラベルを指定していない場合は、マクロは
中断します。
仕様 ファイルは、テキストファイルに限ります。
ファイル名に、ドライブ名やディレクトリー名指定がない場合は、ユ
ーザー指定の、"MACRO用ファイル格納・PATH[設定 F・7]-(5)-5" に
存在するものと見なします。
使用例 1
OOPEN("MACR.DAT")
解説 1
MACRO DATA DIR[F・7]-(5)-5にあるファイル、"MACR.DAT"をオープン
します。ファイルオープンエラーの場合は、マクロを中断します。
使用例 2
OOPEN("A:\DATA\WT.DAT",ERROR)
解説 2
A:\DATA\にあるファイル"WT.DAT"をオープンします。
オープンエラーの場合は、指定ラベル ERROR にジャンプします。
関連項目 FCLOSE,FREAD,RCLOSE,RREAD,WOPEN,WAPPEND,OOPEN,OCLOSE,OREAD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
OPENCHK [実行文] OPEN file name CHecK
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
OPENCHK(変数,文字列または変数名)
用途 FOPEN /ROPEN /WOPEN で、OPENされているファイル名を取得します。
使用例 1
OPENFCHK(A$,"F")
結果 1
変数 A$ に、現在オープンされている、FOPEN のファイル名が格納され
ます。
使用例 2
OPENFCHK(D$,"R")
[6800]
結果 2
変数 D$ に、現在オープンされている、ROPEN のファイル名が格納され
ます。
使用例 3
OPENFCHK(Q$,"W")
結果 3
変数 Q$ に、現在オープンされている、WOPEN のファイル名が格納され
ます。
使用例 4
OPENFCHK(Q$,"O")
結果 4
変数 Q$ に、現在オープンされている、OOPEN のファイル名が格納され
ます。
関連項目 FOPEM,FCLOSE.ROPEN,RCLOSE,WOPEM.WCLOSE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
OREAD [実行文] wOrk Opened file READ
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
OREAD(変数名)
OREAD(変数名,ラベル)
用途 指定した変数に、 OOPENされているファイルから 1行読み込みます。
ラベルを指定した場合、ファイルエンド(またはリードエラー)の場合、
指定したラベルにジャンプします。ラベルを指定していない場合は、
マクロを中断します
仕様 ファイルは、テキストファイルに限ります。
ファイル名に、ドライブ名やディレクトリー名指定がない場合は、ユ
ーザー指定の、"MACRO用ファイル格納・PATH[設定 F・7]-(5)-5" に
存在するものと見なします。
使用例
OREAD(B$)
解説 1
OOPEN されているファイルから、変数 B$ に、一行読み込みます。
ファイルエンド(EOF)、またはエラーの場合はマクロを中断します。
使用例 2
OREAD(Z$,ERROR) [6850]
解説 2
OOPEN 命令でオープンされているファイルから、変数 Z$ に一行読み込
みます。
ファイルエンド(EOF)、またはエラーの場合は、指定ラベル ERROR に
ジャンプします。
関連項目 FOPEN,FCLOSE,ROPEN,RCLOSE,OOPEN,OCLOSE,OREAD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
PAUSE [制御文] PAUSE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
PAUSE
PAUSE(変数または文字列)
PAUSE(変数1または文字列1,変数2または文字列2)
用途 マクロ実行中に、実行等を一時停止します。なにか、任意のキーを押
せば解除し継続実行します。変数2、または文字列2があればそれを表
示します。なければ下記の文字列を表示します。
第 3パラは色指定です。この色指定はその場に限って有効です。
色指定
0 BLACK 黒 1 BLUE 青
2 RED 赤 3 YELLOW 黄
4 GREEN 緑 5 MAGENTA 紫
6 CYAN 水色 7 WHITE 白
10 BLACK 黒反転 11 BLUE 青反転
12 RED 赤反転 13 YELLOW 黄反転
14 GREEN 緑反転 15 MAGENTA 紫反転
16 CYAN 水色反転 17 WHITE 白反転
使用例 1
PAUSE
結果 1
画面に、[ MACRO PAUSE ナニカ キ- ヲ オシテクダサイ ] と表示し入力待ちになり
ます。
使用例 2
PAUSE( "[ ちょっとまってね ]")
結果 2
画面に、[ ちょっとまってね ] と表示し入力待ちになります。
使用例 3
PAUSE( "[ ちょっとまってね ]",1) [6900]
結果 3
画面に、[ ちょっとまってね ] と黄色で表示し入力待ちになります。
関連項目 DELAY,DELAYM
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
PICKWORD [関 数] PICK up WORD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
PICKWORD(変数1,変数2,変数3または文字列3[区切り文字])
用途 変数 2から、変数 3の最初の区切り文字までの文字列を切り出し、変
数 1に格納します。
変数 2は、切り出した文字列分が削除されます。
仕様 A$ B$ C$とも変数でなければなりません。
注意 区切り文字は、空白を含む半角文字のみで、全角文字は区切り文字に
はなりません。
変数 3は、区切り文字 ""であれば " "が代入されます。
最終的に、区切り文字に該当するものがなければ、変数 2には空白が
代入されます。
使用例 1
A$ = ""
B$ = "GO FWTERM MES4 RT"
C$ = ""
PICKWORD(A$,B$,C$)
結果 1
A$ = "GO"
B$ = "FWTERM MES4 RT"
使用例 2
結果 1のB$をそのままで
PICKWORD(D$,B$,C$)
結果 2
D$="FWTERM"
B$="MES4 RT"
関連項目 CAT,COPY,DEL,INS,LEFT,RIGHT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=[6950]
POS [関 数] POSition of strings
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
POS(変数1,変数2または文字列,検索文字)
用途 変数 2の中で、検索文字に最初に一致した位置を変数 1に代入します。
注意 但 同文字が 1個以上ある場合は、先頭から最初の該当場所が、バイ
ト単位で何番目かの値として代入されます。漢字(全角文字)の場合
は、全角文字 1文字を、 2バイトで計算します。
使用例 1
B$ = "123456W789"
POS(A$,B$,"W")
結果 1
A$ = "7" ( 7番目にあります。)
使用例 2
B$ = "こんにちはWTERMです"
POS(A$,B$,"W")
結果 2
A$ = "11" (11番目にあります。)
関連項目 CAT,COPY,DEL,INS
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
PRINT [実行文] PRINT variable or word
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
PRINT(変数または文字列)
PRINT(変数1または文字列1,変数2または文字列2)
用途 指定された文字列(または変数)を、画面に表示し改行しません。
相手側には、送信されません。
第 2パラは色指定です。この色指定はその場のみ有効です。
次のマクロ文から、ディフォルトカラーになります。
色指定
0 BLACK 黒 1 BLUE 青
2 RED 赤 3 YELLOW 黄
4 GREEN 緑 5 MAGENTA 紫
6 CYAN 水色 7 WHITE 白
10 BLACK 黒反転 11 BLUE 青反転
12 RED 赤反転 13 YELLOW 黄反転
14 GREEN 緑反転 15 MAGENTA 紫反転
16 CYAN 水色反転 17 WHITE 白反転 [7000]
使用例 1
PRINT("ABCD")
結果 1
文字列、ABCDを画面に表示します。
改行しない為、次の表示文字はこの後に続きます。
使用例 2
B$ = "こんにちは"
PRINT(B$)
結果 2
変数B$の内容、この場合はこんにちはを、画面に表示します。
改行しない為、次の表示文字はこの後に続きます。
関連項目 PRINTCR,COLOR
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
PRINTCR [実行文] PRINT variables or word and CR
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
PRINTCR(変数または文字列)
PRINTCR(変数1または文字列1,変数2または文字列2)
用途 指定された文字列(または変数)を、画面に表示し改行します。
相手側には、送信されません。
第 2パラは色指定です。この色指定はその場のみ有効です。
次のマクロ文から、ディフォルトカラーになります。
色指定
0 BLACK 黒 1 BLUE 青
2 RED 赤 3 YELLOW 黄
4 GREEN 緑 5 MAGENTA 紫
6 CYAN 水色 7 WHITE 白
10 BLACK 黒反転 11 BLUE 青反転
12 RED 赤反転 13 YELLOW 黄反転
14 GREEN 緑反転 15 MAGENTA 紫反転
16 CYAN 水色反転 17 WHITE 白反転
使用例 1
PRINTCR("ABCD")
結果 1
文字列、ABCDを画面に表示し改行します。
使用例 2
B$ = "こんにちは" [7050]
PRINTCR(B$,3)
結果 2
変数B$の内容、こんにちはを、画面に黄色で表示し改行します。
関連項目 PRINT,COLOR
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
PRINTER [実行文] PRINER on or off
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
PRINTER(ON,OFF)
用途 通信内容を、プリンターに同時出力します。要プリンター接続
注意 プリントできる環境に、設定してください。
またWTERM で、この関数は動作しない機種もあります。
使用例
PRINTER(ON)
結果
プリントを、開始します。
使用例 2
PRINTER(OFF)
結果 2
プリントを、中断します。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
QUIT [制御文] QUIT wtrem
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
QUIT
QUIT(変数または文字列)
用途 WTERM 自身を終了します。
使用例
QUIT
結果
回線はその時点で強制切断し、ログファイル等をクローズして、
マクロ実行を中断し、WTERM 自身を終了します。
使用例
QUIT(1) [7100]
結果
回線はその時点で強制切断し、ログファイル等をクローズして、
マクロ実行を中断し、WTERM 自身をエラーレベル 1で終了します。
関連項目 HANGUP,HANGUPT,OFF
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
RCLOSE [実行文] Ropened file CLOSE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
RCLOSE
用途 ROPENで、オープンした任意のファイルをCLOSEします。
使用例
RCLOSE
関連項目 FOPEN,FREAD,ROPEN,RREAD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
RETURN [制御文] RETURN to called line
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
RETURN
用途 CALLされた次の行に制御を戻す。
使用例
SWITCH # 以降のCASEのどれかを受信します迄待つ
CASE("ください") # "ください"を受信したら、SEND(" ")を実行
SEND(" ") # 半角スペースを送信します
RETURN # サブルーチンから、メインルーチンへ戻る
CASE("Help=> ? ") # Help=> ? という文字列を待つ
SEND("/N") # /N を送信します
GOTO(LOOP)
END
関連項目 CALL,CASE,GOTO
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
RIGHT [関 数] insert RIGHT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
RIGHT(変数1,右側よりカット指定(文字数または変数2))
RIGHT(変数1,右側よりカット指定(文字数または変数2),変数3)
[7150]
用途 変数 1の右側より、変数 2、または文字列で指定した文字数分取り出
して、変数 1に代入します。
第 3パラメーターに、変数 3がある場合は、変数 3にカットする前の
変数 1の内容を代入します。
数値はバイト単位で、漢字の場合は 1文字 2バイトで計算します。
使用例 1
A$ = "123456789"
RIGHT(A$,"5")
結果 1
A$ = "56789"
解説 変数A$の右側から 5文字分取りだし、変数A$に代入します。
使用例 2
A$ = "123456789"
RIGHT(A$,"5",C$)
結果 3
A$ = "12345"
C$ = "123456789"
解説 変数A$の右側から 5文字分取りだし、変数A$に代入します。
変数C$には、カット前A$の内容が代入されます。
関連項目 APS,CAT,COPY,DEL,INS,LEFT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
ROPEN [実行文] Read File OPEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
ROPEN(ファイル名)
ROPEN(ファイル名,ラベル)
用途 RREAD する為に、任意の名前のファイルをOPENします。
ラベルを指定した場合は、オープンエラー(ファイルが存在しない場
合)のとき、指定したラベルにジャンプします。
異常が発生して、なおかつラベルを指定していない場合は、マクロは
中断します。
仕様 ファイルは、テキストファイルに限ります。
ファイル名に、ドライブ名やディレクトリー名指定がない場合は、ユ
ーザー指定の、"MACRO用ファイル格納・PATH[設定 F・7]-(5)-5" に
存在するものと見なします。
使用例 1
ROPEN("MAC.DAT") [7200]
解説 1
MACRO DATA DIR[F・7]-(5)-5、にあるファイル"MAC.DAT" を、オープン
します。ファイルオープンエラーの場合は、マクロを中断します。
使用例 2
ROPEN("A:\DATA\WT.DAT",ERROR)
解説 2
A:\DATA\にあるファイル "WT.DAT"をオープンします。
オープンエラーの場合は、指定ラベル ERROR にジャンプします。
関連項目 FCLOSE,FREAD,RCLOSE,RREAD,WOPEN,WAPPEND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
RPOINT [実行文] Read file POINTer
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
RPOINT(変数1)
RPOINT(変数1,変数2または文字列)
用途 RREADしているファイルの、現在読み込み済みの行数を求めます。
第 2パラメーターに指定されている場合は、リードポインターを任意
の行まで変更し、以降 RREAD からはその指定された行数から読み込
みをするように変更します。
仕様 RPOINT(変数1) の場合
変数 1に、RREAD されているファイルの現在の読み込み済み行数を、
変数 1に、格納します
仕様 RPOINT(変数1,変数 2または文字列) の場合
変数 1の読み込み済み行数( RREAD ファイルのリードポイント)を、
変数 2、または文字列で、指定された行数に変更し、変数 1に格納しま
す。ただし、RREAD されているファイルの総行数を上回る場合は、最
終行の数に変更されます(次回 RREAD 後)。
使用例 1
RPOINT(A$)
解説 1
現在 ROPEN で、オープンされているファイルの、読み込み済み行数を
表示します。
使用例 2
RPOINT(A$,"20")
解説 2
現在 ROPEN で、オープンされているファイルの、読み込み済み行数 [7250]
を(リードポイント)を、20行目から読み込むように、リードポインタ
ーを変更します。以降 RREAD で読む込む場合は、その指定された行数
(ここでは20行目)からになります。
使用例 3
B$ = "15"
RPOINT(A$,"15")
解説 3
現在 ROPEN で、オープンされているファイルの、読み込み済み行数を(
リードポイント)を、15行目から読み込むようにリードポインターを変更
します。以降 RREAD で読む込む場合は、その指定された行数(ここでは
15行目)からになります。
関連項目 FREAD,RREAD,FLINE,FILER
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
RREAD [実行文] Ropened file READ
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
RREAD(変数名)
RREAD(変数名,ラベル)
用途 指定した変数に、ROPEN されているファイルから 1行読み込みます。
ラベルを指定した場合、ファイルエンド(またはリードエラー)のとき
指定したラベルにジャンプします。ラベルを指定していない場合は、
マクロを中断します
使用例
RREAD(B$)
解説 1
ROPEN されているファイルから、変数 B$ に、 1行読み込みます。
ファイルエンド(EOF)、 またはエラーの場合は、マクロを中断します。
使用例 2
RREAD(Z$,ERROR)
解説 2
ROPEN されているファイルから、変数 Z$ に、 1行読み込みます。
ファイルエンド(EOF)、またはエラーの場合は、ラベル ERROR にジャン
プします。
関連項目 FOPEN,FCLOSE,ROPEN,RCLOSE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=[7300]
SAVEWDAT [関 数] SAVE Wterm bbs/base DATa
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SAVEWDAT(変数1,変数2または文字列,変数3または文字列)
用途 各ホスト登録データーを書き換えます。
仕様 パラ 1(変数 1)は、文字列でSAVE内容
パラ 2(変数 2)は、各ホストごとの任意の番号に該当(1-60番)
パラ 3(変数 3)は、変更項目に該当
注意 正常に書き込みできれば、変数 1に OK が返されます。
エラーの場合は、変数 1に該当番号を示唆します。
300番台の書き込みの場合は変数 2に、1-60までの数字を記入してく
ださい。
項目 変数 3、または文字列に指定する番号
201 ホストの名前 [ダイヤル F・5]-(M)-1
202 ホストの電話番号 [ダイヤル F・5]-(M)-2
207 ログの名前 [ダイヤル F・5]-(M)-I
213 AUTO PILOT文字列 [ダイヤル F・5]-(M)-R
240 ID [ダイヤル F・5]-(M)-S
241 PASSWORD [ダイヤル F・5]-(M)-T
330 ログ格納ドライブ名 [設定 F・7]-(4)-1
331 ダウンロードファイル格納PATH [設定 F・7]-(4)-2
332 アップロードファイル格納PATH [設定 F・7]-(4)-3
333 テキスとアップファイル格納PATH [設定 F・7]-(4)-4
334 MACROファイル ファイル格納PATH [設定 F・7]-(4)-5
335 料金ファイル等 ファイル格納PATH [設定 F・7]-(4)-7
336 送出定義文字列 1 [設定 F・7]-(2)-8
337 送出定義文字列 2 [設定 F・7]-(2)-9
338 送出定義文字列 3 [設定 F・7]-(2)-A
339 送出定義文字列 4 [設定 F・7]-(2)-B
340 送出定義文字列 5 [設定 F・7]-(2)-C
341 送出定義文字列 6 [設定 F・7]-(2)-D
使用例 1
SAVEWDAT(A$,"7")
結果 1
A$ = "現在アクセス中のホストのログファイル名"
使用例 2
SAVEWDAT(A$,"7","1")
結果 2
A$ = "ホスト番号 1の設定ログファイル名"
[7350]
使用例 3
SAVEWDAT(A$,"44")
結果 3
A$ = "USER指定の外部登録ファイル 1"
使用例 4
SAVEWDAT(A$,"80","1")
結果 4
A$ = "USER指定の別途送出文字列定義の 1番の内容"
使用例 5
SAVEWDAT(A$,"80","D")
結果 5
A$ = "USER指定の別途送出文字列定義の Dの内容"
関連項目 GETLOGD,GETTXUPD,GETUPD,GETDOWND,GETMACROD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SAVEW5B [関 数] SAVE Wterm5B.dat
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SAVEW5B(変数1または文字列1,変数2または文字列2,変数3または文字列3)
用途 WTERM5B.DAT (別途送出文字列定義ファイル)の内容を書き換えます。
仕様 パラ 1(変数 1)は、1-9 / A-Zまでの指定
パラ 2(変数 2)は、送出文字列内容(最大 40 bytes)
パラ 3(変数 3)は、そのメモ 内容(最大 20 bytes)
注意 正常に書き込みできれば、変数 1に OK が返されます。
エラーの場合は、変数 1に該当番号を示唆します。
なお、書き込む際は、以前の内容の上に上書きします。
使用例
SAVEW5B("A","GO FWTERM'","NIFTY WTERM FORUM")
結果
WTERM5B.DAT (別途送出文字列定義ファイル)の項目 Aに、上記内容が
記録されました。
関連項目 GETLOGD、GETTXUPD、GETUPD、GETDOWND、GETMACROD、SAVEWDAT,
SAVEW5D
[7400]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SAVEW5D [関 数] SAVE Wterm5D.dat
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SAVEW5D(変数1または文字列1,変数2または文字列2,変数3または文字列3)
用途 WTERM5D.DAT (別枠外部起動プログラム登録ファイル)の内容を書き
換えます。
仕様 パラ 1(変数 1)は、1-9/A-Zまでの指定
パラ 2(変数 2)は、外部起動プログラム内容(最大 40 bytes)
パラ 3(変数 3)は、そのメモ 内容(最大 20 bytes)
注意 正常に書き込みできれば、変数 1に OK が返されます。
エラーの場合は、変数 1に該当番号を示唆します。
なお、書き込む際は、以前の内容の上に上書きします。
使用例 1
SAVEW5D("A","NIFP'","NIFTY LOG TOOL")
結果 1
WTERM5D.DAT (別枠外部起動プログラム登録ファイル)の項目 Aに、上
記内容が記録されました。
関連項目 GETLOGD、GETTXUPD、GETUPD、GETDOWND、GETMACROD、SAVEWDAT,
SAVEW5B
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SEND [実行文] SNED strings
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SEND(文字列または変数)
SEND(文字列,文字列2または変数2)
SEND(文字列,文字列2または変数2,文字列3または変数3)
用途 文字列をホストに送信します。変数名または""で囲んだ文字列を指定
してください。
特殊文字として、以下のものがあります。
また、特殊文字は、CONVERT 命令(後述)で抑制する事が出来ます。
\* : 1 秒間停止します。
\! : ブレーク信号を、0.5 秒送出します。
\R : CR (0DH)を、送信します。
\F : LF (0AH)を、送信します。
\E : ESC(1BH)を、送信します。
\I : ID文字列を、 送信します。
\P : パスワード文字列を、送信します。
\nnn : nnn は、0-255 までの、10進数を指定します。 [7450]
nnn に対応する文字コードを送信(末尾資料参考)
使用例 1
SEND("ABC")
結果 1
文字列、ABC を送信し、改行コード(CR)は送信しません。
使用例 2
SEND("ABC\R")
結果 2
文字列、ABC を送信し、改行コード(CR)も送信します。
使用例 3
SEND("\!\*XY\R")
結果 3
ブレーク信号を送出し、 1秒待ったのち XY を送信して、改行コード(
CR)を送信します。
使用例 4
SEND(A$)
結果 4
変数A$の内容を、送信します。
使用例 5
SEND("\007")
結果 5
BLコード(07H)を送信します。
使用例 6
SEND("AB","\*\*XY")
結果 6
文字列、ABを送信します。改行コード(CR)は、送信しません。
2秒待って、XYを送信します。改行コード(CR)は、送信しません。
関連項目 CASE,WAIT,COVERT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SETTIME [実行文] SET TIME
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SETTIME
[7500]
用途 LAPTIME にて使用する内部タイマーに、現在時間を設定します。
使用例
SETTIME
結果
現在の時刻が、内部変数(LAPTIME )に代入されます。
関連項目 TIME,LOGTIME,LAPTIME
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SMENU [実行文] Selection MENU
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SMENU(変数1,変数2,変数3)
用途 ↑↓キーで、変数 1、変数 2、変数 3の中から選択します。
入力ボックスから選んだ任意の番号を、変数 1に、格納します。
ESC キーで選択を回避、もしくは拒否した場合は、変数 1に、0 が格
納されます。変数 3の内容が、空白であれば選択枝は、 2になります。
仕様 入力ウインドウ位置および色は固定です。
□拡張モード
基本的には、選択は 3つまでしかできませんが、拡張モードもありま
す。書き方は、変数 1の文章の中を、"+" で連結してください。その
場合では "+" 以降が、選択 4になります。同様に、変数 2の場合は
"+" 以降が、選択 5になり、同様に変数 3の場合は、選択 6になりま
す。"+" は小文字です。また文中に、"+" が、不用意にあれば誤作動
をします。
使用例 1
A$ = "FWTERMへ行きます"
B$ = "未読メールを読みに行きます"
C$ = "アクセスを終了します"
SMENU(A$,B$,C$)
結果 1
+---------------------------------------------------------+
| MACRO 選択画面 [ 1 - 3 ] |
| 1. FWTERMへ行きます |
| 2. 未読メールを読みに行きます |
| 3. アクセスを終了します |
| ESC -> 入力中断 |
+---------------------------------------------------------+
ここで↑↓キーないしは数字で 3を選択したとします。 [7550]
すると A$には "3" が 格納されます。
ESCで選ばなかった場合は A$には "0" が 格納されます。
使用例 2(拡張モード)
A$ = "FWTERMへ行きます+FGALAVに未読を読みに行きます"
B$ = "未読メールを読みに行きます+メールを出しにいきます"
C$ = "アクセスを終了します+TOP メニューに戻ります"
SMENU(A$,B$,C$)
結果 2(拡張モード)
+---------------------------------------------------------+
| MACRO 選択画面 [ 1 - 6 ] |
| 1. FWTERMへ行きます |
| 2. 未読メールを読みに行きます |
| 3. アクセスを終了します |
| 4. FGALAVに未読を読みに行きます |
| 5. メールを出しにいきます |
| 6. TOP メニューに戻ります |
| ESC -> 入力中断 |
+---------------------------------------------------------+
使用例 3(拡張モード)
上との比較 C$には "+" がない場合
A$ = "FWTERMへ行きます+FGALAVに未読を読みに行きます"
B$ = "未読メールを読みに行きます+メールを出しにいきます"
C$ = "アクセスを終了します"
SMENU(A$,B$,C$)
結果 3(拡張モード)
+----------------------------------------------------------+
| MACRO 選択画面 [ 1 - 5 ] |
| 1. FWTERMへ行きます |
| 2. 未読メールを読みに行きます |
| 3. アクセスを終了します |
| 4. FGALAVに未読を読みに行きます |
| 5. メールを出しにいきます |
| ESC -> 入力中断 |
+----------------------------------------------------------+
駄目な例
選択 2の、 B$の内容が空白の場合
A$="FWTERMへ行きます+FGALAVに未読を読みに行きます"
B$=""
C$ = "アクセスを終了します"
選択 2は、 1つしかないのに、C$のには"+"以降がある場合
A$ = "FWTERMへ行きます+FGALAVに未読を読みに行きます"
B$ = "未読メールを読みに行きます" [7600]
C$ = "アクセスを終了します+TOP メニューに戻ります"
関連項目 TIMEOUT,SWITCH,VSWITCH,END
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
STIMEOUT [制御文] Switch TIME OUT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
STIMEOUT(文字列または変数,ラベル)
用途 SWITCH ~ END 文の、TIMEOUT を設定します。
ラベルが指定していない場合は、TIMEOUT になると、対応する END文
の次から実行します。
ジャンプラベルが指定されている場合、タイムアウトが発生すると、
そのラベルにジャンプします。その場合、ジャンプラベルは、同一マ
クロ内のみ有効です。
タイムアウト単位 1秒から、9999秒まで、 0秒は、TIMEOUT 文で設定
されている秒数を使用します(デフォルト)。
TIMEOUT 文も指定されていない場合は、TIMEOUT しません。
TIMEOUT 数値は、グローバルです。
使用例 1
STIMEOUT(10)
SWITCH
WAIT("LOGIN:")
解説
LOGIN: を待つ。
10秒過ぎても受信しない場合は、SWITCH文の次から実行します。
使用例 2
STIMEOUT(10,TERR)
SWITCH
WAIT("LOGIN:")
結果 2
LOGIN: を待つ。
10秒過ぎても受信しない場合は、ラベルTERRから実行します。
関連項目 TIMEOUT,SWITCH,VSWITCH,END
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
STRCAT [関 数] Strings CAT [7050]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
STRCAT(変数,変数または文字列) [7650]
STRCAT(変数1,変数2または文字列2,変数3または文字列3)
用途 変数の文字列に追加連結をします。
使用例
A$="ABC"
STRCAT(A$,"12345")
結果
A$="ABC12345"
使用例
A$="ABC"
B$="12345"
C$="789"
STRCAT(A$,B$,C$)
結果
A$="ABC12345789"
関連項目 CAT,COPY,DEL,INS,LEFT,RIGHT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SUB [関 数] SUBtract
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SUB(変数1,変数2または文字列2,変数3または文字列3)
用途 変数 2から、変数 3の内容を引き(引算)、変数 1にその解答(整
数)が代入されます。代入される内容は、数字の文字列形式です。
変数 1 = (変数 2 or 文字列 2)-(変数 3 or 文字列 3)
使用例 1
B$ = "1000"
C$ = "5"
SUB(A$,B$,C$)
結果 1
A$=B$-C$ A$は
A$ = "955"
関連項目 ADD,MUL,DIV,MOD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SWITCH [制御文] SWITCH
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=[7700]
CASE [制御文] CASE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
END [制御文] END
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SWITCH
SWITCH(文字列または変数)
SWITCH(文字列または変数,ラベル)
CASE(文字列またはコントロールコード)
END
用途 CASEで指定された文字列(または変数)のどれかを受信するまで待ち、
対応CASEフェーズの次から実行します。CASEフェーズが終了したら、
SWITCHに対応する、END に制御を移します。
なお、STIMEOUT命令/TIMEOUT 命令で、待ち時間を設定できます。
用途 2
第 2パラメーターで、SWITCH ~ END 文の TIMEOUTを変数、もしくは
文字列で設定します。ラベルがない場合は、TIMEOUT になると対応す
る END文の次から実行します。JUMPラベルが指定されている場合、タ
イムアウトが発生すると、そのラベルにジャンプします。
ただし、ジャンプラベルは同一マクロ内のみ有効です。
単位 1秒から、9999秒まで、 0秒は、TIMEOUT 文で設定されている秒
数を使用します(デフォルト)。TIMEOUT 文も指定されていない場合
は、TIMEOUT しません(デフォルト)。
注意 SWITCH文の中に、CALLをいれないでください。また、CASE文の次に動
作命令を関係付けなかった場合、致命的エラーが発生します。
使用例 1
SWITCH # SWITCHは以降のCASEのどれかを受信する迄待つ
CASE("終了") # 終了を受信したら、SEND(" ") を、実行します。
SEND("END") # END という文字を送信します。
CASE("読みますか")# ""内の文字列を待ちます
SEND("YES") # YES という文字を送信します。
END
解説 1
「終了」という文字列を受信したら、文字列 END を、実行します。
「読みますか」という文字列を受信したら、文字列 YES を送信します。
それか、 1つでも、CASE文が該当すれば 次行の命令を実行します。
そして SWITCH に対応した ENDへ行きます。
使用例 2
SWITCH(10)
------- 略 (使用例 1と同じ)
解説 2
上記の例 1と、10秒過ぎても受信しない場合は、SWITCH文の次から実行
[7750]
使用例 3
SWITCH(10,TERR)
------- 略 (使用例 1と同じ)
結果 3
上記の例 1と、10秒過ぎても受信しない場合は、ラベルTREEにジャンプ
関連項目 SEND,WAIT,STIMEOUT,VSWITCH
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TABSPACE [実行文] TAB to SPACE change Strings
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TABSPACE(変数1)
用途 変数 1の、TAB コードをすべて半角スペースに変換し、変数 1に代
入します。正常に置換されるのは正規表現のみです。1TAB(8byte)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TAPPEND [実行文] Temp log file APPEND open
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TAPPEND(ファイル名)
TAPPEND(ファイル名,ラベル)
用途 ログと同じ内容の一時ファイルを、任意のファイル名で作成します。
ファイルは、テキストファイルで、同名のファイルがあれば、そのフ
ァイルに追加していきます。
存在しない場合は、新規にファイルを作成します。
ジャンプラベルを指定した場合は、オープンエラー(ファイルが存在
しない場合)のとき、指定したラベルにジャンプします。
異常が発生して、なおかつラベルを指定していない場合は、マクロは
中断します。
仕様 ファイルは、テキストファイルに限ります。
ファイル名に、ドライブ名やディレクトリー名指定がない場合は、ユ
ーザー指定の、"MACRO用ファイル格納・PATH[設定 F・7]-(5)-5" に
存在するものと見なします。
注意 TOPENで、他のファイルをオープン中はオープンはできません。
使用例
TAPPEND("TEMP.LOG")
結果
MACRODIRにある TEMP.LOGに、Append(追加書き)します。 [7800]
ファイルがオープンできない場合は、その名前のファイルを新規制作し
てオープンします。
関連項目 WOPEN,WAPPEND,WRITE,FCLOSE,RCLOSE,TCLOSE,TOPEN,FOPEN,ROPEN,
TCLOSE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TCLOSE [関 数] Temp log file CLOSE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TCLOSE
用途 TOPEN、TAPPENDで、作成したファイルをCLOSEします。
関連項目 WOPEN,WAPPEND,WRITE,FCLOSE,RCLOSE,TCLOSE,TOPEN,FOPEN,ROPEN.
TAPPEND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TELFEE [関 数] TELphone FEE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TELFEE(変数1,変数2)
用途 変数 1に、現在の電話料金を、変数 2にあと何秒で次の料金加算にな
るかの秒数を代入します。
制限 通信中しか使用できません。また各ホストごとの設定で、秒数を設定
する必要があります。
使用例
TELFEE(A$,B$)
3分10円の市内料金と仮定します。
今現在、アクセスしはじめてから、 290秒( 4分50秒)が経過してい
ると仮定します。
結果
上記条件例とした場合に以下の値が代入されます。
A$に、20 (20円)
B$に、70 (70秒)
その値から考えると、今時点で回線切断しても、70秒後に切断しても
同じ電話料金体系です。
その残り70秒以内に、まだなにかできるかもしれません。それを判定
するための関数です。
[7850]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TIME [関 数] system TIME
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TIME(変数,区分挿入文字列[任意])
用途 変数に、現在時刻を代入します。
解説 区分挿入文字列(任意)は "/"、":"、"."以外でもOKです。
仮に現在時刻を、午後10時15分10秒とすると。
使用例 1
TIME(A$,"/")
結果 1
A$ = "22/15/10"
使用例 2
TIME(A$)
結果 2
A$ = "221510"
関連項目 DATE,LASTTIME,LASTSTIME,LAPTIME,SETTIME,LOGTIME,WEEK
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TIMED [実行文] TIME Display
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TIMED(ON,OFF)
用途 ファンクションキーF5/F6の、接続時間経過表示、及び電話料金表示
を、表示したり、やめたりします。
仕様 ON で表示、OFF で表示しない。
使用例
TIMED("ON")
結果
F5の接続時間経過表示及び、F6の電話料金表示をします。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TIMEOUT [制御文] TIME OUT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=[7900]
TIMEOUT(文字列または変数,ラベル)
用途 CASE文、WAIT文で使用するタイムアウト数値(TIMEOUT)を設定します。
ジャンプラベルがない場合は、TIMEOUT になると、対応する END文
WAIT文の次から実行します。
ジャンプラベルが指定されている場合、タイムアウトが発生すると、
そのラベルにジャンプします。
ただし、ジャンプラベルは、同一マクロ内のみ有効です。
タイムアウト数値は、単位秒で、1秒から9999秒まで、0秒はTIMEOUT
文で設定されている秒数を使用します。
TIMEOUT 文も指定されていない場合は TIMEOUTしません。
TIMEOUT 数値は、グローバルです。
使用例 1
TIMEOUT(10)
WAIT("LOGIN:")
解説 1
LOGIN:を待つ。10秒過ぎてもなにも受信しない場合は、次の行から実行
します。
使用例 2
TIMEOUT(10,TERR)
WAIT("LOGIN:")
解説 2
LOGIN:を待つ。10秒過ぎても受信しない場合は、指定ジャンプラベル
TERRから実行します。
関連項目 STIMEOUT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TOPEN [実行文] Temp log file OPEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TOPEN(ファイル名)
TOPEN(ファイル名,ラベル)
用途 ログと同じ内容の一時ファイルを、任意のファイル名で作成します。
ファイルは、テキストファイルで、同名のファイルがあれば、そのフ
ァイル削除したのち、新規作成します。
ジャンプラベルを指定した場合は、オープンエラー(ファイルが存在
しない場合)のとき、指定したラベルにジャンプします。
異常が発生して、なおかつラベルを指定していない場合は、マクロは
中断します。
仕様 ファイルは、テキストファイルに限ります。 [7950]
ファイル名に、ドライブ名やディレクトリー名指定がない場合は、ユ
ーザー指定の、"MACRO用ファイル格納・PATH[設定 F・7]-(5)-5" に
存在するものと見なします。
注意 GETC、GETSなどのマクロ構文の中での内容は、記録されません。
関連項目 WOPEN,WCLOSE,WRITE,FOPEN,ROPEN,TOPEN,TCLOSE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
UPCASE [関 数] UPper CASE string
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
UPCASE(変数1,変数2)
用途 変数 2の中の半角小文字を、半角大文字に変換して変数 1に代入しま
す。
半角英数字以外には、変化はありません。
使用例
B$ = "abcdef"
UPCASE(A$,B$)
結果
A$ = "ABCDEF"
関連項目 CAT,COPY,DEL,INS,LOWCASE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
UPLOAD [実行文] UPLOAD file
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
UPLOAD(番号,ファイル名)
UPLOAD(番号,ファイル名,ラベル)
用途 ファイルの送信を行います。番号は送信方法を指定します。
送信ファイルが存在しない場合、ジャンプラベルが指定されていれば、
そのラベルにジャンプします。ただし、ジャンプラベルは、同一マク
ロ内のみ有効です。
ジャンプラベルが指定していない場合は、マクロを中断します。
番号 送信プロトコルの種類
1 XMODEM-128(SUM)
2 XMODEM-128(CRC)
3 XMODEM-1024(CRC)
4 Flying/XMODEM-128(SUM)
5 Flying/XMODEM-128(CRC) [8000]
6 Flying/XMODEM-1024(CRC)
7 YMODEM
8 YMODEM-G
9 未使用
10 MLINK (MLP/F/I/J.EXE 使用 注 1)
11 ZMODEM (ZM/ZMIBM.EXE 使用 )
12 Quick-VAN (QV.EXE 使用 )
13 BPLUS (BP/BPL.EXE 使用 注 2)
14 TRANSIT (MLP/F/I/J/.EXE使用 注 1)
21 ZMODEM (ZM/ZMIBM.EX 使用 )
23 Bplus (BP/BPL.EXE 使用 )
107 ZMODEM (ZM/ZMIBM.EXE 使用 YMODEM 送信)
108 ZMODEM (ZM/ZMIBM.EXE 使用 YMODEM 送信)
123 BPLUS (BP/BPL.EXE 使用 7bitで使用の場合)
注 1 WTERM SUPER 版は、内蔵プロトコルを使用します。
注 2 BPUSE 内蔵版は除く
ファイル名は送信するファイル名です。ファイル名にディレクトリーが指
定されていないときは、アップロードディレクトリーにあるものとします。
BPLUS/ZMODEM内蔵版の場合
既存のマクロで、11番/13番を指定してある場合、内蔵のプロトコルが
起動しますので、マクロは変更しなくても結構です。
マクロ実行中で、なおかつZMODEM/BPLUS 自動受信をしないという設定
の場合には、それぞれ送信は、ZM/ZMIBM BP/BPL.EXE使用します。
マクロ文のDOWNLOAD、UPLOADとも番号を10番分ずらしてください。
使用例
UPLOAD(1,"WTERM.LZH")
解説
アップロードディレクトリーにあるWTERM.LZHを、XMODEM(SUM)で送信し
ます。
関連項目 UPTEXT,DOWNLOAD,AUTOUD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
UPTEXT [実行文] UPload TEXTfile
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
UPTEXT(番号,ファイル名)
UPTEXT(番号,ファイル名,ラベル)
用途 テキストファイルの送信を行います。
番号は、送信方法(低速、高速、超高速送信)を指定します。
番号が、1.2.3の場合で、送信ファイルが存在しない場合、ジャンプ[8050]
ラベルが指定されていれば、そのラベルにジャンプします。ただしジャ
ンプラベルは、同一マクロ内のみ有効です。ジャンプラベルが指定して
いない場合はマクロを中断します。
番号が、4.5.6の場合に、送信ファイルを任意で指定します。その場合
に限りファイル名は必ず変数で空白にします。ファイル名を指定しても
無視され、送信ファイル選択ボックスが開きます。ファイルが存在しな
い場合や、ESCキーでABORTした場合には、ファイル名(変数)に、
'ESC_TEXIUP'という文字が格納されます。なおその状態でもマクロは続
行します。
番号 テキスト送信の種類
1 低速テキスト 送信(ファイル名は必ず指定)
2 高速テキスト 送信(ファイル名は必ず指定)
3 超高速テキスト送信(ファイル名は必ず指定)
4 低速テキスト 送信(ファイル名は選択指定)
5 高速テキスト 送信(ファイル名は選択指定)
6 超高速テキスト送信(ファイル名は選択指定)
使用例
UPTEXT(1,"A:\DOC\READ.ME")
解説
A:\DOC\にあるREAD.MEを、低速テキスト送信にて送信します。
使用例
UPTEXT(5,A$)
解説
任意のファイルを選ぶように高速テキスト送信選択画面にいきます。
ファイルが存在しない場合や、ESCキーでABORTした場合には、
A$ に'ESC_TEXIUP'という文字が格納されます。よって判定文は以下
のように続ければよいかと思います。
JUMPE(A$,"ESC_TEXIUP",ラベル名)
関連項目 UPLOAD,DOWNLOAD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VCLEAR [実行文] Variables CLEAR
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VCLEAR
VCLEAR(文字列[変数名])
VCLEAR(文字列1[変数名1],文字列2[変数名2])
用途 パラメーター指定がない場合は、変数の内容(A$~Z$)をすべて初期化
します。
第 1パラメーターのみある場合はその指定変数の内容を初期化しま [8100]
す。その場合、 1個だけならその変数を初期化します。複数の指定な
ら、その指定すべてを初期化します。
第 1/第 2パラメーターがある場合は、その第 1パラメーターで指定
された変数から、第 2パラメーターで指定された変数までの間すべて
を初期化します。
制限 パラメーターは、半角で A - Z と書いてください。
無効な文字列がある場合には、なにもしないか、複数指定の場合は、
有効指定まで初期化をおこないます。
使用例 1
VCLEAR
結果 1
変数A$から、変数Z$の内容を、初期化します。
使用例 2
VCLEAR("D")
結果 2
変数D$の内容を、初期化します。
使用例 3
VCLEAR("ACZ")
結果 3
変数A$、変数C$、変数Z$の内容を、初期化します。
使用例 4
VCLEAR("C","V")
結果 4
変数C$から、変数H$までを、初期化します。この場合に初期化されるの
は、C$ D$ E$ F$ G$ H$ です。
VCLEAR("H","C") という逆の指定方法でも有効です。
関連項目 VLIST,VSWAP,VTACHG,VCLEAR2,VTCLEAR,VTCOPY,VTOCHG,VTLIST
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VCLEAR2 [実行文] Variables CLEAR part2
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VCLEAR2
VCLEAR2(文字列[変数名])
VCLEAR2(文字列1[変数名1],文字列2[変数名2])
用途 パラメーター指定がない場合は、変数の内容(A%~Z%)をすべて初期化
します。 [8150]
第 1パラメーターのみある場合は、その指定変数の内容を初期化しま
す。その場合、 1個だけならその変数を初期化します。複数の指定な
ら、その指定すべてを初期化します。
第 1/第 2パラメーターがある場合は、その第 1パラメーターで指定
された変数から、第 2パラメーターで指定された変数までの間すべて
を初期化します。
制限 パラメーターは、半角で A - Z と書いてください。
無効な文字列がある場合には、なにもしないか、複数指定の場合は、
有効指定まで初期化をおこないます。
使用例 1
VCLEAR2
結果 1
変数A%から、変数Z%の内容を、初期化します。
使用例 2
VCLEAR2("D")
結果 2
変数D%の内容を、初期化します。
使用例 3
VCLEAR2("ACZ")
結果 3
変数A%、変数C%、変数Z%の内容を、初期化します。
使用例 4
VCLEAR2("C","V")
結果 4
変数C%から、変数H%までを、初期化します。この場合に初期化されるの
は、C% D% E% F% G% H% です。
VCLEAR2("H","C") という逆の指定方法でも有効です。
関連項目 VLIST,VSWAP,VTACHG,VCLEAR,VTCLEAR,VTCOPY,VTOCHG,VTLIST
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VCONVERT [制御文] extra word VCONVERT on/off
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VCONVERT(ON,OFF)
用途 IF、JUMP、CASEで使用する特殊文字を有効/無効にします。
なお、初期値は VCONVERT(OFF)です。
[8200]
使用例 1
VCONVERT(ON)
IFE(A$,"WTERM\R")
結果 1
変数A$と、"WTERM"+CRを比較します。
使用例 2
VCONVERT(OFF)
IFE(A$,"WTERM\R")
結果 2
変数A$と、"WTERM\R"を比較します。
この場合は、\RをCRコードに変換しません。
関連項目 IFE,JUMP,CASE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VLIST [実行文] Variables LIST
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VLIST
用途 画面に現在使用中の変数の内容を、表示します。
制限 使用中の変数のみ表示します。(A$ ~ Z$ , A% ~ Z% )
使用例
VLIST
結果
A$= XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
A%= XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
B$= XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
...
Z$= XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Z%= XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
関連項目 VCLEAR,VCLEAR2,VSWAP,VTACHG,VTCLEAR,VTCOPY,VTOCHG,VTLIST
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VSWAP [実行文] Variables SWAP
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VSWAP(変数1,変数2)
[8250]
用途 変数 1と、変数 2の値を入れ換えます。
制限 変数 1も、変数 2も変数である必要があります。
使用例
A$ = "こんにちは"
Z$ = "WTERM"
PRINTCR(A$)
PRINTCR(Z$)
VSWAP(A$,Z$)
PRINTCR(A$)
PRINTCR(Z$)
結果
こんにちは A$の内容を表示
WTERM Z$の内容を表示
VSWAP ここで内容が入れ替わり
WTERM A$の内容を表示
こんにちは Z$の内容を表示
関連項目 VCLEAR,VCLEAR2,VLIST,VTACHG,VTCLEAR,VTCOPY,VTOCHG,VTLIST,VTSWAP
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VSWITCH [制御文] Variables SWITCH
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CASE [制御文] CASE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
ELSE [制御文] ELSE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
END [制御文] END
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VSWITCH(変数)
CASE(文字列またはコントロールコード)
ELSE
END
用途 VSWITCH で指定された変数を、CASEで指定された文字列(又はコント
ロールコード)と比較して、一致した場合対応した、CASEの次から実
行します。
一致するCASEが無く、ELSEが記述されている場合は、ELSEの次から実
行します。
CASEフェーズ、またはELSEフェーズが終了、または一致するCASEが無
く、ELSEの記述もなかった場合、VSWITCH に対応する ENDに制御を移
します。
使用例 # 解説
VSWITCH(A$) # A$をCASEの比較対象にします [8300]
CASE("MAIL") # A$が"MAIL"なら
GOTO(MAIL) # MAILのラベルに制御を移す
CASE("READ") # A$が"READ"なら
GOTO(READ) # READのラベルに制御を移す
ELSE # A$が"MAIL"でも"READ"でも無ければ
GOTO(OTHERS) # OTHERSのラベルに制御を移す
END #
解説
上記例で説明しますと、VSWITCH 文に入り
CASE("MAIL") # A$が"MAIL"なら
CASE("READ") # A$が"READ"なら
どれか 1つでもCASE文が該当すれば、次行以降を次のCASE、またはELSE
か、END 迄を実行します。そして、 VSWITCHに対応した ENDへ行きます。
1つも一致するCASE文が無かった場合は、 ENDへ行きます。
関連項目 GOTO,SWITCH
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VTACHG [実行文] Variables Temporary All CHanGe
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VTACHG
用途 現在WTERM の内部バッッファに退避中の変数を、変数A-Z$にそのまま
戻します。
制限 格納前の変数A$-Z$の内容は、初期化されます。
使用例
VTACHG
結果
変数A$-Z$に、退避中のA$-Z$の内容が格納されます。
それにともない、格納前のA$-Z$の内容は、空白となり失われます。
関連項目 VCLEAR,VCLEAR2,VLIST,VSWAP,VTCLEAR,VTCOPY,VTOCHG,VTLIST
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VTCLEAR [実行文] Variables Temporary CLEAR
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VTCLEAR
VTCLEAR(文字列[変数名])
VTCLEAR(文字列1[変数名1],文字列2[変数名2])
[8350]
用途 パラメーター指定がない場合は、退避中(VTCOPY)の変数の内容をす
べて初期化します。
第 1パラメーターのみある場合は、その指定退避中(VTCOPY)の変数
の内容を初期化します。その場合、 1個だけならその待避変数を初期
化します。複数の指定なら、その指定範囲すべてを初期化します。
第 1/第 2パラメーターがある場合は、その第 1パラメーターで指定
された待避変数から、第 2パラメーターで指定された待避変数までの
間すべてを初期化します。
制限 パラメーターは、半角で A - Z と書いてください。
無効な文字列がある場合には、なにもしないか、複数指定の場合は、
有効指定まで初期化をおこないます。
使用例 1
VTCLEAR
結果 1
待避変数A$から、待避変数Z$の内容を、初期化します。
使用例 2
VTCLEAR("D")
結果 2
待避変数D$の内容のみを、初期化します。
使用例 3
VTCLEAR("ACZ")
結果 3
待避変数A$、待避変数C$、待避変数Z$の内容を、初期化します。
使用例 4
VTCLEAR("C","V")
結果 4
待避変数C$から、待避変数H$までを、初期化します。この場合に初期化
されるのは、待避変数 C$ D$ E$ F$ G$ H$ です。
VTCLEAR("H","C") という逆の指定方法でも有効です。
関連項目 VCLEAR,VCLEAR2,VLIST,VSWAP,VTACHG,VTCOPY,VTOCHG,VTLIST
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VTCOPY [実行文] Variables Temporary COPY
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VTCOPY
VTCOPY(文字列[変数名]) [8450]
VTCOPY(文字列1[変数名1],文字列2[変数名2])
用途 指定パラメーターがない場合は、現在の変数 A$ ~ Z$ の内容を、退
避用のWTERM の内部バッファーに格納します。
変数の内容が、空白でも格納コピーされます。
第 1パラメーターのみがある場合で、単独指定の場合は、その変数の
内容のみ、内部バッファーの同名格納変数に格納します。複数指定の
指定なら、その指定すべてに対し同様の事をおこないます。
第 1/第 2パラメーターがある場合は、その第 2パラメーターで指定
された変数の内容のみを、第 1パラメーターで指定された内部バッフ
ァに格納します。第 2パラメーターに、無効な文字列がある場合には、
VTCOPY(文字列[変数名]) と同じ扱いになります。
チェインした場合でも、内容は初期化されません。
制限 退避した変数は、そのまま呼び出す事はできません。
別途命令の VTACHG もしくは VTOCHG で、再度変数に格納して下さい。
使用例 1
VTCOPY
結果 1
変数 A$ - Z$ の内容を、WTERM の内部バッファーにある待避変数、
TEMP_A$ - TEMP_Z$に格納します。
使用例 2
VTCOPY("F")
結果 2
変数 F$ の内容を、WTERM の内部バッファー にある待避変数、TEMP_F$
に格納します。
使用例 3
VTCOPY("JFK")
結果 3
変数 J$ の内容を、WTERM の内部バッファー TEMP_J$
変数 F$ の内容を、WTERM の内部バッファー TEMP_F$
変数 K$ の内容を、WTERM の内部バッファー TEMP_K$
に格納しす。
使用例 4
VTCOPY("G","A")
結果 4
変数 G$ の内容を、WTERM の内部バッファー TEMP_A$ に格納します。
関連項目 VCLEAR,VCLEAR2,VLIST,VSWAP,VTACHG,VTCLEAR,VTOCHG,VTLIST
[8450]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VTLIST [実行文] Variables Temporary LIST
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VTLIST
用途 画面に、WTERM の内部バッファーに退避中の変数の内容を表示します。
VLIST との表示の混乱を避ける為に、TEMP_変数と表示します。
制限 退避中の変数の内容のある物のみ表示します。
使用例
VTLIST
結果
TEMP_A$= XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
TEMP_B$= XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
TEMP_C$= XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
---- 中略 ----
TEMP_Y$= XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
TEMP_Z$= XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
関連項目 VCLEAR,VCLEAR2,VLIST,VSWAP,VTACHG,VTCLEAR,VTCOPY,VTOCHG
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VTOCHG [実行文] Variables Temporary Option CHanGe
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VTOCHG(変数1,文字列[変数名])
用途 現在WTERM の内部バッッファに退避中の変数の中から、第 2パラメー
ターで指定された変数の内容をひきだし、変数 1に格納します。
制限 第 2パラメーターは、半角で A - Z と書いてください。
無効な文字列がある場合には、無効になります。
使用例
VTOCHG(A$,"D")
結果
変数A$に、退避中のD$(TEMP_D$)の内容が格納されます。
それにともない格納前のA$の内容は、失われます。
関連項目 VCLEAR,VCLEAR2,VLIST,VSWAP,VTACHG,VTCLEAR,VTCOPY,VTLIST [8500]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VTOCHG2 [実行文] Variables Temporary Option CHanGe part2
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VTOCHG2(文字列[変数名])
VTOCHG2(文字列1[変数名1],文字列2[変数名2])
用途 現在、WTERM の内部バッッファに退避中の退避変数の中から、指定さ
れた退避変数の内容をひきだし、同変数名に格納します。
第 1パラメーターのみが指定してある場合で、単独指定の場合は、そ
の退避変数の内容のみ、同名の変数に格納します。
複数指定の指定なら、その指定の退避すべてに対し同様の事をおこな
います。
第 1/第 2パラメーターがある場合は、その第 1パラメーターで指定
された退避変数から、第 2パラメーターで指定された退避変数の内容
を、同名の変数に格納します。
制限 第 1/ 2パラメーターは、半角で A - Z と書いてください。
無効な文字列がある場合にはなにもしないか、複数指定の場合は、有
効指定まで初期化をおこないます。
使用例 1
VTOCHG("D")
結果 1
変数 D$ に、退避中の D$(TEMP_D$)の内容が、格納されます。
使用例 2
VTOCHG("ABC")
結果 2
変数 X$ に、退避中の X$(TEMP_X$)の内容が、格納されます。
変数 Y$ に、退避中の Y$(TEMP_Y$)の内容が、格納されます。
変数 Z$ に、退避中の Z$(TEMP_Z$)の内容が、格納されます。
使用例 3
VTOCHG("CIA")
結果 3
変数 C$ に、退避中の C$(TEMP_C$)の内容が、格納されます。
変数 I$ に、退避中の I$(TEMP_I$)の内容が、格納されます。
変数 A$ に、退避中の A$(TEMP_A$)の内容が、格納されます。
使用例 4
VTOCHG("C","H")
[8550]
結果 4
VTCOPYで、一時的に退避してある変数 C$ の内容すなわち、TEMP_C$ か
ら、退避変数 H$ (TEMP_H$) までを、変数 C$ から H$ に格納します。
C$ = TEMP_C$ / D$ = TEMP_D$ / E$ = TEMP_E$ / F$ = TEMP_F$
G$ = TEMP_G$ / H$ = TEMP_H$ となります。
VTOCHG("H","C") という書き方でも有効です。A - Z の範囲なら特に、
順序は決っていません。
関連項目 VCLEAR,VCLEAR2,VLIST,VSWAP,VTACHG,VTCLEAR,VTCOPY,VTLIST
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VTSWAP [実行文] Variables Temp SWAP
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VTSWAP(文字列1[変数名1],文字列2[変数名2])
用途 内部待避変数 1(TEMP_$)と、内部待避変数 2の内容を入れ換えます。
制限 変数 1も、変数 2も、変数である必要があります。
使用例
A$="こんにちは" (TEMP_A$)
Z$="WTERM" (TEMP_Z$)
VSWAP(A$,Z$)
結果
こんにちは TEMP_A$の内容の表示
WTERM TEMP_Z$の内容の表示
(VTSWAP) ここで内容が入れ替わり
WTERM TEMP_A$の内容の表示
こんにちは TEMP_Z$の内容の表示
関連項目 VCLEAR,VCLEAR2,VLIST,VTACHG,VTCLEAR,VTCOPY,VTOCHG,VTLIST,VSWAP
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=[8100]
WAIT [実行文] WAIT for strings
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
WAIT(変数または文字列)
WAIT(変数1または文字列1,変数2または文字列2,ラベル)
用途 指定された文字列(または変数またはコントロールコード)を受信す
るまで、待ちます。
なお、TIMEOUT 命令で、待ち時間を設定できます。
第 1パラメーターのみが指定してある場合は、待つだけですが、第 2
パラメーターで、変数 2、もしくは文字列が指定してある場合は、 [8600]
変数 1の文字列が受信してその後、受信文字がまったくない場合(ホ
スト側のプロンプト待ちの状態)で、変数 2の時間(指定秒)が経過
した場合のみ、次のステップへ移動します。
変数 1の文字列が受信してその後、受信文字が指定秒数以内にあった
場合は、第 3パラメーターで指定したラベルへジャンプします。
待つ文字列は、コントロールコードでも可能で、nnnは0-255までの10
進数を指定し、その nnnに対応する文字コードを待ちます。
使用例 1
WAIT("login:")
結果 1
login: という文字列を受信するまで待ちます。
使用例 2
WAIT("\E[31m") # \E: ESC($1B)
結果 2
ESC^[31m という文字列を待ちます。
使用例 3
WAIT("WTERM\R") # \R: CR ($0D)
結果 3
WTERM と改行コードという文字列を待ちます。
使用例 4
WAIT("\007\008")
結果 4
BL BS という文字列を待ちます。
使用例 5
WAIT(">","30",STOP)
解説 5
>という文字列を受信するまで待ちます。
その後、30秒間なにも受信文字がない場合は確実にプロンプトと判定で
きるために、次のステップに進み次の命令の処理をします。
もし、指定秒数以内に、次の任意の文字を受信した場合は、ラベルSTOP
へ、ジャンプします。
もし引用文などで同一文字があれば、確実にすぐ次の文字を表示して、
受信しますので、その場合はラベルSTOPへいきます。
使用例 6
WAIT("\042\060","20",END)
解説 6
\42\60(文字でいえば *> )という文字列を受信するまで待ちます。
その後、20秒間なにも受信文字がない場合は確実にプロンプトと判定 [8650]
できるために、次のステップに進み次の命令の処理をします。
もし、指定秒数以内に、次の任意の文字を受信した場合は、ラベルSTOP
へ、ジャンプします。もし引用文などで同一文字があれば、確実にすぐ
次の文字を受信しますので、その場合はジャンプラベル ENDへいきます。
関連項目 CASE,SEND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
WAPPEND [実行文] Writing file APPEND open [8000]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
WAPPEND(ファイル名)
WAPPEND(ファイル名,ラベル)
用途 WRITEする為の任意の名前のファイルを、OPENします。
新規にファイルを作りたい場合は WOPENを利用してください。
ラベルを指定した場合は、OPENエラー(制作指定場所が存在しない)
の場合、指定したラベルにジャンプします。ラベルを指定していない
場合は、マクロを中断します。
仕様 ファイルは、テキストファイルに限ります。
ファイル名に、ドライブ名やディレクトリー名指定がない場合は、ユ
ーザー指定の、"MACRO用ファイル格納・PATH[設定 F・7]-(5)-5" に
存在するものと見なします。
注意 WOPENで 他のファイルをオープン中はオープンはできません。
使用例 1
WAPPEND("TEMP.DAT")
結果 1
MACRODIRにある、TEMP.DATに、Append(追加書き)します。
ファイルがオープンできない場合(存在しない場合)は、その名前のフ
ァイルを新規作成して、オープンします。
使用例 2
WAPPEND("A:\DATA\WT.DAT",ERROR)
結果 2
A:\DATA\にあるWT.DATを、Append(追加書き)します。
ファイルがオープンできない場合(新規作成もできない場合)は、指定
ジャンプラベル ERRORに、ジャンプします。
関連項目 WOPEN,WCLOSE,WRITE,FOPEN,ROPEN,TOPEN,TCLOSE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=[8700]
WCLOSE [実行文] Written file CLOSE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
WCLOSE
用途 WOPEN 、またはWAPPEND した任意のファイルを、CLOSEします。
使用例
WCLOSE
関連項目 WOPEN,WAPPEND,WRITE,FCLOSE,RCLOSE,TCLOSE,TOPEN,FOPEN,ROPEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
WEEK [関 数] system WEEK
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
WEEK(変数)
WEEK(変数1,変数2または文字列)
用途 第 1パラメーターしかない場合は、変数に本日の曜日を代入します。
その場合、変数に代入される文字は、月、火、水、木、金、土、日で
す。
第 2パラメーターの変数 2、または文字列に、 0以外の数字があれば、
本日の祝祭日を判定して、数字の形で、変数 1に代入します。
その場合、変数 1に、代入される数字は、以下のようになっています。
0 = 祝日でも祭日でも振り替え休日でもない。
1 = 元旦
2 = 成人の日
3 = 建国記念の日
4 = 春分の日
5 = 緑の日
6 = 憲法記念日
7 = 国民の休日
8 = こどもの日
9 = 敬老の日
10 = 秋分の日
11 = 体育の日
12 = 文化の日
13 = 勤労感謝の日
14 = 天皇誕生日
15 = 振り替え休日
使用例 1
WEEK(A$)
結果 1
A$ = 土 [8750]
本日は土曜日
使用例
WEEK(A$,'1')
結果
A$ = 8
本日は、子供の日
関連項目 DATE,LASTTIME,LASTSTIME,LAPTIME,SETTIME,LOGTIME
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
WOPEN [実行文] Writing file OPEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
WOPEN(ファイル名)
WOPEN(ファイル名,ラベル)
用途 WRITE する為の 任意のファイルをOPENします。
同名のファイルがあれば消して、新規作成しますので、同名のファイ
ルの内容は失われます。それを回避したい場合は、WAPPENDを利用して
ください。
ラベルを指定した場合は、オープンエラー(ファイルが存在しない場
合)のとき、指定したラベルにジャンプします。
異常が発生して、なおかつラベルを指定していない場合は、マクロは
中断します。
仕様 ファイルは、テキストファイルに限ります。
ファイル名に、ドライブ名やディレクトリー名指定がない場合は、ユ
ーザー指定の、"MACRO用ファイル格納・PATH[設定 F・7]-(5)-5" に
存在するものと見なします。
注意 WAPPEND で他のファイルをオープン中は、オープンはできません。
使用例 1
WOPEN("TEMP.DAT")
解説 1
MACRO DATA DIR[F・7]-(5)-5にあるファイル"TEMP.DAT"を、オープンし
ます。ファイルオープンエラーの場合は、マクロを中断します。
使用例 2
WOPEN("A:\DATA\WT.DAT",ERROR)
解説 2
A:\DATA\にあるファイル、"WT.DAT"をオープンします。
オープンエラーの場合は、指定ジャンプラベルラベル ERRORに、 [8800]
ジャンプします。
関連項目 WAPPEND,WCLOSE,WRITE,FOPEN,ROPEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
WRITE [実行文] Written file wRITE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
WRITE(変数名)
WRITE(変数名,ラベル)
用途 WOPEN されている任意のファイルに 変数の内容を 1行書き込みます。
ジャンプラベルを指定した場合、ファイルエンド(またはライトエラ
ー)のときは、指定したラベルにジャンプします。
ラベルを指定していない場合は、マクロを中断します。
使用例 1
WRITE(B$)
結果 1
変数 B$に、一行書き込みます。ファイルエンド(EOF)または、書き込
みエラーの場合は、マクロを中断します。
使用例 2
WRITE(Z$,ERROR)
結果 2
変数 Z$に、一行書き込みます。ファイルエンド(EOF)または、書き込
みエラーの場合は、指定ジャンプラベル ERRORに、ジャンプします。
関連項目 WOPEN,WAPPEND,WCLOSE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
WRITELOG [関 数] WRITE LOGfile
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
WRITELOG(変数または文字列)
用途 変数、または第 1パラメーターの文字列の内容を、現在記録中のログ
ファイルに書き込みます。
制限 ログファイル記録中のみ有効です。
仕様 まず、最初に一行改行します。次の行に指定文字列を書き込みます。
使用例 [8850]
WRITELOG("テストです")
結果
現在のログの内容例
H.INOUEさんこんにちは、今は遊んでいます。
テストです ← 書き込んだ内容
なにをしていますか。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
YJUMP [制御文] Yes JUMP
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
YJUMP(変数または文字列,ラベル)
用途 第 1パラメーターの変数、または文字列で、指定したコメントを表示
し、Yes(Y or [Space or Return これはUSERの選択])を、押すと指
定したラベルにジャンプします。それ以外は、何もしないで次ののマ
クロ命令を実行します。
ジャンプラベルがない場合や、 ESCキーを押したときは、マクロを中
断します。
なにも入力しない状態で、 120秒が経過すると、 Yを押した状態と同
じなり、指定ラベルにジャンプします。
使用例
A$="Yes なら メールを読みます"
YJUMP(A$,MAILREAD) # Yes(Y key)で MAILREADにジャンプします。
# MAILREAD は Label
結果
+------------------------------------------------+
| << Yes or Space → Jump Label >> |
| Yes なら メールを読みます(例) [Yes/No] |
| [ ESC -> ABORT] |
+-----黄色枠 ONLY -------------------------------+
注意 120 秒以内に選択しない場合は、指定ラベルにジャンプします。
ラベル指定がされていない場合は、マクロを中断します。
ESC キーを押した時は、マクロを中断します。
関連項目 NJUMP,JUMPE,JUMP<>,JUMP<,JUMPE<,JUMP>,JUMPE>,JUMPSRCHY,
JUMPSRCHN,JUMPFILEY,JUMPFILEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[8900]
===============================================================================
【第10章】 SAMPLE.MAC
===============================================================================
マクロプログラムのサンプルとして、以下のマクロを添付します。
オートログイン文字列のあとに、
[in:]\I[rd:]\P\#WWIV.MAC
↑↑↑↑↑ \# を付加してあとはマクロ名
第 2パスワードがある場合
[in:]\I[rd:]\P[rd:]PASSWORD'\#WWIV.MAC
PASSWORD ↑↑↑↑↑ \# を付加してあとはマクロ名
マクロファイルは、通常は、F7 -[4]-5 MACRO 用格納PATHで指定した場所に、格納
して下さい。(ドライブ等は任意に指定することができます) [8950]
添付サンプル例
-------------
WWIV.MAC WWIV 系
107WWIV.MAC WWIV 107J系
CATWWIV.MAC WWIV-320B系(???)
以前まで付加していた、NIFTY 用マクロは、今回より容量の関係で別途になりま
した。
NIFTY-Serve をはじめ各ホストのマクロファイルに関しては、WTERM.DOC に紹介
してありますが、GO FWTERM(WTERM USERS) LIB 4にあるマクロを併記してご紹介
したいとおもいます。
NIFTY Serve にある WTERM 用マクロ
------------------------------------------------------------------------
NIFTY-Serve FWTERM (GO FWTERM LIB 4) (1996-01-21 現在)
====================================================================
| タイトル | FILE NAME | 作 者 |NIFTY FWTERM番号|
====================================================================
TYMPAS 経由マクロ for wterm TYMPS010.LZH GBD02140 FGALWT LIB 4 #892
発言 ファイル に究極タイムスタンプ カンタンOP30.LZH TBC02744 FGALWT LIB 4 #890
パスワード変更マクロ CHGPW098.LZH GHC03570 FGALWT LIB 4 #889
インストーラ付自動巡回マクロNIFカンタンA カンタンA145.LZH HBA00474 FGALWT LIB 4 #888
シェアウェア送金外部マクロ SOKIN_21.LZH GHC03570 FGALWT LIB 4 #886
CB,RTで 会員情報検索マクロ ラクラクMB17.LZH HBA00474 FGALWT LIB 4 #885
WTERM汎用PC-VAN+自動運転マクロ WAWAL100.LZH HHD01376 FGALWT LIB 4 #882
WTERM汎用アスキーネット自動運転マクロ WANAP101.LZH HHD01376 FGALWT LIB 4 #881
検索データで 一括ダウンロードマクロ ラクラクDL31.LZH HBA00474 FGALWT LIB 4 #880
Nif統合環境Nest ver3Bフルセット NEST3B .LZH KFR00526 FGALWT LIB 4 #879
Asahi-net自動運転v0.11>0.12 NPA011UP.LZH KFE03621 FGALWT LIB 4 #875
パスワード変更マクロ MAKEP11 .LZH CXP03125 FGALWT LIB 4 #871
パスワード変更NIF用MAKEP v1.00 MAKEP10 .LZH CXP03125 FGALWT LIB 4 #870
WTERM用Asahi-net自動運転マクロ NPA010SS.LZH KFE03621 FGALWT LIB 4 #869
WTERM用NIF_AUTO 簡単自動マクロ N_AUT612.EXE GHF01047 FGALWT LIB 4 #865
シェァウェア送金もカンタン カンタンEX23.LZH TBC02744 FGALWT LIB 4 #863
NIF_AUTO用手動制御v1.1 NA_MAC11.LZH KFR05233 FGALWT LIB 4 #857
PC-VAN+アスキーネット接続NIFMCRマクロ NIFTF002.LZH HHD01376 FGALWT LIB 4 #849
NIFMCR3外部マクロ集 Ver.2.2 ZZ_EXT22.LZH HBB01127 FGALWT LIB 4 #845
NIFMCR3 外部マクロ サンプル集 MCREXT17.LZH HBB01127 FGALWT LIB 4 #843
WTERM用 NIF自動運転マクロ NIFMCR3H.LZH HBB01127 FGALWT LIB 4 #842
RTBBSオートパイロット V1.10 RTMCR110.LZH VFD06064 FGALWT LIB 4 #822
絵理香系スーパーマクロ YUIMAC3H.LZH KHF06133 FGALWT LIB 4 #821
BBS巡回マクロ for NIFカンタンA カンタンBS12.LZH HBA00474 FGALWT LIB 4 #818
オートパイロットを作るライブラリv1.8B ATPLB18B.LZH HGD01761 FGALWT LIB 4 #816 [9000]
◎◎Net 完全オート WTMR V10.8f WMN108F .LZH NAA02474 FGALWT LIB 4 #813
WAPVAN Ver 4.022 for PC-VAN WAPV4022.LZH PDF02465 FGALWT LIB 4 #810
NIFTYメール&会議室未読ダウン AUTD_130.LZH TAB02651 FGALWT LIB 4 #807
ものぐさ ワン・ポイント・リリーフ・マクロ NIF1PT04.LZH GBG01136 FGALWT LIB 4 #804
GETLST専用ログ整理ツール v2.0 LSTMTN20.LZH HGD01761 FGALWT LIB 4 #800
LIB最新情報読込 GETLST v3.1 GETLST31.LZH HGD01761 FGALWT LIB 4 #799
Nif統合環境Nest ver3A1フルセット NEST3A1 .LZH PAF02437 FGALWT LIB 4 #798
アクセス ポイント 検索も カンタンA カンタンAP2 .LZH TBC02744 FGALWT LIB 4 #796
完全自動メール切出お返事書き MAILN202.LZH MAG00736 FGALWT LIB 4 #791
WTERM マクロ集 v1.4 WTMAC14 .LZH HGD01761 FGALWT LIB 4 #790
ファイルファインダーマクロ FFIND_15.LZH GHC03570 FGALWT LIB 4 #782
会議室巡回マクロ MESDOWNver2.3 MESDOW23.LZH GEC02571 FGALWT LIB 4 #781
KTBBS高機能通信マクロforWTERM WTKTB328.LZH NBD01115 FGALWT LIB 4 #778
プロ野球昨日の結果表示マクロ BASE .LZH MAG01563 FGALWT LIB 4 #770
BMWFR+ WTERM BMW自動運転マクロ BMF_P405.LZH LDE03262 FGALWT LIB 4 #764
キーワード検索→Pad不要DL タイトル14A .LZH TBC02744 FGALWT LIB 4 #753
カンタンA子マクロ集 カンタンET01.LZH TBC02744 FGALWT LIB 4 #752
気象情報画像 サービス も カンタンA カンタンWP03.LZH TBC02744 FGALWT LIB 4 #751
◎◎Net 完全オート WTMR V10.8 WTMRN108.LZH LDA02367 FGALWT LIB 4 #736
BMWFR+ SV BMWシスオペマクロ WTERM BP_SV112.LZH LDE03262 FGALWT LIB 4 #718
WTermNetMaker rel.05 WTNM .LZH QFH02235 FGALWT LIB 4 #716
アクセス・ギフト贈呈マクロ AGIFT_11.LZH GHC03570 FGALWT LIB 4 #715
アサヒネットのメール/ネットニュースをダウン ASAHI .LZH MAG01563 FGALWT LIB 4 #709
Nest UP2E_3の追加分 GOMEN2F .LZH PAF02437 FGALWT LIB 4 #700
クリッピングサービス巡回 Ver 2.1 CLIP21 .LZH HBB01127 FGALWT LIB 4 #692
NIFTYダウンロード用拡張版マクロ NIFTYDWN.LZH NCB00650 FGALWT LIB 4 #680
カンタンA で一日一度未読処理 カンタンRC01.LZH TBC02744 FGALWT LIB 4 #672
NIF_AUTO 外部マクロ SMCHK用 N_USE103.LZH GHF01047 FGALWT LIB 4 #671
カンタンA で 今週の注目新刊書 カンタンNB01.LZH TBC02744 FGALWT LIB 4 #667
WTERM用 NIF自動運転マクロ NIFMCR3G.LZH MGG02210 FGALWT LIB 4 #663
鮮度マクロ(マルチ対応版) SEND16 .LZH HBB01127 FGALWT LIB 4 #650
NET-MAKER III autopilot WTNM04 .LZH QFH02235 FGALWT LIB 4 #648
NIF_AUTO用CLIP読みだし N_CLIP2 .LZH QFH02110 FGALWT LIB 4 #626
パソコン内蔵時計をセットするマクロ TIME_030.LZH GHC03570 FGALWT LIB 4 #577
KTBBSオートパイロットマクロ for WTERM KTBM434 .LZH GBC01016 FGALWT LIB 4 #575
HP書込みマクロ HPUP.MAC v1.80 HPUP180 .LZH GDH00501 FGALWT LIB 4 #537
パティオ発言マクロ PTOUP120.LZH GDH00501 FGALWT LIB 4 #532
GETLSTからそのままダウンロード LSTDWN10.LZH GFC01252 FGALWT LIB 4 #528
カンタンAでプロフィール+マクロ作成手引 カンタンPF11.LZH GBH02111 FGALWT LIB 4 #502
ものぐさセンター宛メール送信マクロ NIFCNT02.LZH GBG01136 FGALWT LIB 4 #486
ものぐさPATIO巡回マクロ NIFPAT04.LZH GBG01136 FGALWT LIB 4 #485
SEND返しマクロ Ver 1.1 SENDMAC .LZH MAF00667 FGALWT LIB 4 #484
for accessing to JALNET JAL0210 .LZH QGB02774 FGALWT LIB 4 #481
NIFMCR 3.14 ソースとバッチ MCRSRC3E.LZH MGG02210 FGALWT LIB 4 #476
カンタン子マクロ MRE,RT/N,#,RC,MES タイトルZ04 .LZH HFD01312 FGALWT LIB 4 #467
WIDE Internet宛メール送信マクロ カンタンWD05.LZH HBA00474 FGALWT LIB 4 #457
mmmホスト用マクロ 3M_AUTO v4.0c 3MAUTO4C.LZH PDF02576 FGALWT LIB 4 #450
汎用BIG-Modelオートマクロ Ver1.64 BMW164 .LZH NAH02571 FGALWT LIB 4 #446
HPWAVE.MAC v1.30 HP巡回マクロ HPWAV130.LZH GDH00501 FGALWT LIB 4 #444
BIG-Model汎用マクロ Ver 1.28 BIG128 .LZH NAH02571 FGALWT LIB 4 #427 [9050]
Tri-Pホスト局切替マクロ v0.10 P3_010 .LZH HGF01546 FGALWT LIB 4 #417
メールを受信し削除して帰るマクロ MAIL_MAC.LZH JBE01454 FGALWT LIB 4 #416
BigModelオートパイロットマクロ BigMAP BIGM150 .LZH HGA00460 FGALWT LIB 4 #413
国際アウトダイヤル v1.00 forWTERM DCOWT100.LZH KGF03316 FGALWT LIB 4 #411
WTerm macro for NetMaker3 WTNM .LZH QFH02235 FGALWT LIB 4 #409
mmmホスト用オンラインマルチメディアセッション AVMMM043.LZH NBG02322 FGALWT LIB 4 #385
ATPLIB v1.4B ソース ATPLB14S.LZH HGD01761 FGALWT LIB 4 #379
WANIBBSアクセス用マクロ Rev 1.12 WANIM112.LZH GDH01517 FGALWT LIB 4 #377
Net Maker-IIIホスト用マクロ WTNM01 .LZH QFH02235 FGALWT LIB 4 #374
EYE-NETのDJ(ボードチャット)用マクロ EYEDJMC3.LZH GBF03124 FGALWT LIB 4 #361
big modelオートパイロットマクロ MACRO4BM.LZH JCD02177 FGALWT LIB 4 #356
NIFMCR外部マクロ ADDRESS v1.0 ADDRESS1.LZH GBB02053 FGALWT LIB 4 #350
オートパイロット比較資料 CHOICE11.LZH MGG02210 FGALWT LIB 4 #347
MEGA-Links系ホスト用マクロ LINKS021.LZH TAB01605 FGALWT LIB 4 #344
極小ホスト ぷちネット v1.1 PNET110 .LZH PEH01416 FGALWT LIB 4 #343
FGALLIBからそのままダウンロード VZDWN220.LZH GFC01252 FGALWT LIB 4 #340
アップ&ダウンロード マクロッセット UDLOD100.LZH RGE01213 FGALWT LIB 4 #326
NIFTY用課金情報マクロ GB001 .LZH GDH01517 FGALWT LIB 4 #324
NIFTY用HP自動運転 HR001 .LZH GDH01517 FGALWT LIB 4 #323
WTERM888対応快適マクロ作成 TM_WTMC1.LZH SDI00587 FGALWT LIB 4 #320
GLL.MAC NIFMCR対応方法解説 GLL125N .LZH HFB02256 FGALWT LIB 4 #307
GLLの取得データ処理 Ver.1.32 GLLM132 .LZH HFB02256 FGALWT LIB 4 #292
ライブラリリスト自動取得 Ver.1.25 GLL125 .LZH HFB02256 FGALWT LIB 4 #291
JALNETゲートウェイ用プログラム JAL11MAC.LZH QGB02774 FGALWT LIB 4 #277
メール一括削除マクロ(WTERM) MDEL10 .LZH NBG02253 FGALWT LIB 4 #270
Nifty Lib DownLoad専用マクロ N_DOWN_O.LZH JBA00406 FGALWT LIB 4 #269
EYE-NET オートパイロット etc マクロ EYEMC205.LZH GBF03124 FGALWT LIB 4 #246
mmm用自動ダウンロードマクロ v1.50 MDOWN150.LZH GHH02021 FGALWT LIB 4 #240
マクロコンパイラ(C言語のように記述 WWM008 .LZH HAH00215 FGALWT LIB 4 #233
フォーラム間移動ダウン,NIFMCR対応 UCDL200 .LZH PBC02424 FGALWT LIB 4 #231
NIFMCR3 外部マクロ サンプル集 MCREXT15.LZH MGG02210 FGALWT LIB 4 #229
CBから目的IDを検索するマクロ AS_CBIDS.LZH GBB01625 FGALWT LIB 4 #220
モノグサ用クリッピングサービス巡回マクロ CLIP014 .LZH GBA00744 FGALWT LIB 4 #210
CompuServe用マクロ CISNEWS .LZH SDI00598 FGALWT LIB 4 #190
アスキーネット用自動ダウンロードマクロ ADOWN200.LZH GHH02021 FGALWT LIB 4 #165
WWIV GENESIS版マクロ Ver1.32 WGMAC132.LZH SDI00598 FGALWT LIB 4 #155
ものぐさマクロ2.21Aコメント入り ATUP221A.LZH GBA00744 FGALWT LIB 4 #143
ものぐさマクロ2.21 コメント無し ATUP221 .LZH GBA00744 FGALWT LIB 4 #142
RT-BBS用インタプリタマクロ TM201 .EXE SDI00598 FGALWT LIB 4 #113
ライブラリ連続ダウンロード NIFFR101.LZH NCC02366 FGALWT LIB 4 # 87
WTERM用 JOIS自動運転マクロ JOISL01 .LZH ISN00125 FGALWT LIB 4 # 79
RTBBS汎用オートパイロットマクロ TM141 .EXE NAF00431 FGALWT LIB 4 # 78
初心者必見!通常モードでのマクロ NIFカンタン3.LZH GBH02111 FGALWT LIB 4 # 65
ワールドレポートダウン用マクロ&UTL WORLDDOW.LZH GAG00704 FGALWT LIB 4 # 62
WTERM-NIF,MNPクラス別オートマクロ MNPMCR1C.LZH GHH01026 FGALWT LIB 4 # 57
WTERM用MIXオートパイロット MIXAP12B.LZH GBF00022 FGALWT LIB 4 # 56
WTERM超簡易HOSTマクロ 要ZMODEM WTHOST01.LZH SDI00598 FGALWT LIB 4 # 50
WTERMインストーラ ver0.6 INSTWT06.LZH SDI00598 FGALWT LIB 4 # 47
mmm3.29/4.00対応マクロ WTMMM16D.LZH NCB02117 FGALWT LIB 4 # 46
ものぐさ ワン・ポイント・リリーフ・マクロ NIF1PT02.LZH GBA00744 FGALWT LIB 4 # 45 [9100]
WT851用NIFオンライン操作支援マクロ OLWTNF12.LZH SDI00587 FGALWT LIB 4 # 22
WTERM用RTお返事マクロ MKMAC120.LZH MAG01532 FGALWT LIB 4 # 20
新LIBシステム対応マクロ(WTERM) WTNIF24 .LZH PDE01130 FGALWT LIB 4 # 19
ワールドレポート連続ダウンマクロ NIFWORLD.LZH PGB01631 FGALWT LIB 4 # 17
未読メッセージを自動的にDLする NIFDOWN2.LZH PAF02002 FGALWT LIB 4 # 16
日経MIX用 WTERMマクロ MIXA .LZH NBF00132 FGALWT LIB 4 # 15
PCVAN用マクロ NEW WTERM対応 VAMMAC10.LZH NBF00132 FGALWT LIB 4 # 14
会議室別ログ用オ-トマクロ(暫定 NMAC1202.LZH NBH02224 FGALWT LIB 4 # 8
===============================================================================
【第11章】 マクロを制作され、公開される方々へ
===============================================================================
御自分の作られたマクロを、インストールしてもらう場合に結構わずらわしい手
順を、事細かく説明しなければなりません。
専用のインストーラーマクロを作ってみてはいかがでしょうか。
WTERM の起動オプションに
WTERM -_マクロ名 例 WTERM -_INST [9150]
のがあります。この命令は、上記のマクロ名が、ユーザー設定のマクロ格納場所
に存在すれば、それを読み出し実行します。なお、ダイヤル等はいたしません。
また以下のように指定することもできます。
WTERM -_マクロ名.MAC 例 WTERM -_INST.MAC
WTERM -_A:\DATA\マクロ名.MAC 例 WTERM -_A:\DATA\INST.MAC
これを使用してマクロで、マクロ命令のチャイルド使用で、圧縮されているマク
ロの解凍ができます。
また同チャイルド命令を使ってのコピーや、移動などをできます。もしディレク
トリー等がなければ、マクロ命令(MKDIR )で作成することも簡単に可能です。
そしてそれらの命令を使って、新規作成したディレクトリー情報などを、WTERM
側のデーターに記載保存(WTERM5A.DAT F7-1-4項目)をしたり、ユーザー等が各
自使用している、ホスト登録データ(WTERMN.DAT)などの、オートパイロット文
字列などを、任意の文字列に交換が可能です。
すべて正常に終了したのち、INST.MAC(仮名)の削除もマクロで可能ですので、
超簡単インストールプログラムが書けることと思います。
また任意のラベルにジャンプさせ個別命令が、実行可能なマクロであれば、その
簡易説明とマクロ呼び出し方法を、拡張文字列定義(WTERM5B.DAT 設定 F7-3
1-9 .. A - Z )に、書き込み保存する事ができます。
ただし この場合 上書きなので以前の内容は消されてしまう為、そのあたりの
説明は明記するのがトラブルを防ぐ手段です。
上記をおこなうにあたり、以下の命令を新規追加しました。
ご利用ください。
----------------------------------------------------------------------
SAVEWDAT [関 数] SAVE Wterm bbs/base DATa
----------------------------------------------------------------------
SAVEWDAT(変数1,変数2または文字列,変数3または文字列)
用途 各ホスト登録データーを書き換えます。
仕様 パラ 1(変数 1)は、文字列でSAVE内容
パラ 2(変数 2)は、各ホストごとの任意の番号に該当(1-60番)
パラ 3(変数 3)は、変更項目に該当
注意 正常に書き込みできれば、変数 1に OK が返されます。
エラーの場合は、変数 1に該当番号を示唆します。
300番台の書き込みの場合は変数 2に、1-60までの数字を記入してく
ださい。
----------------------------------------------------------------------
SAVEW5B [関 数] SAVE Wterm5B.dat
----------------------------------------------------------------------
SAVEW5B(変数1または文字列1,変数2または文字列2,変数3または文字列3)
[9200]
用途 WTERM5B.DAT (別途送出文字列定義ファイル)の内容を書き換えます。
仕様 パラ 1(変数 1)は、1-9 / A-Zまでの指定
パラ 2(変数 2)は、送出文字列内容(最大 40 bytes)
パラ 3(変数 3)は、そのメモ 内容(最大 20 bytes)
注意 正常に書き込みできれば、変数 1に OK が返されます。
エラーの場合は、変数 1に該当番号を示唆します。
なお、書き込む際は、以前の内容の上に上書きします。
----------------------------------------------------------------------
SAVEW5D [関 数] SAVE Wterm5D.dat
----------------------------------------------------------------------
SAVEW5D(変数1または文字列1,変数2または文字列2,変数3または文字列3)
用途 WTERM5D.DAT (別枠外部起動プログラム登録ファイル)の内容を書き
換えます。
仕様 パラ 1(変数 1)は、1-9/A-Zまでの指定
パラ 2(変数 2)は、外部起動プログラム内容(最大 40 bytes)
パラ 3(変数 3)は、そのメモ 内容(最大 20 bytes)
注意 正常に書き込みできれば、変数 1に OK が返されます。
エラーの場合は、変数 1に該当番号を示唆します。
なお、書き込む際は、以前の内容の上に上書きします。
===============================================================================
【第12章】 実行時表示 ・ その他
===============================================================================
接続中は、マクロ命令 TIMED("ON")にすることにより、接続経過時間、リアルタ
イム電話料金表示、ログ記録中カウント行数、マクロ実行行数などの表示を致し
ます。
[9250]
ファンクションキーの、F・ 5 の場所 接続経過時間
ファンクションキーの、F・ 6 の場所 リアルタイム電話料金表示
ファンクションキーの、F・ 9 の場所 マクロ実行行数表示
ファンクションキーの、F・10 の場所 ログ記録中 ログカウント行数
マクロの途中中断は、[ESCキー] を押して下さい。通常は、[ESCキー] で中断
しますが、ESCEXIT(OFF)とした場合は、[SHIFT+ESCキー] でしか中断しません。
===============================================================================
【第13章】 マクロ機能別分類表
===============================================================================
1. 送信関係コマンド
------------------------------------------------------------------------
AUTOUD(ON,OFF) 2952
BREAK 3033
CALL(ラベル) 3046
CALL(ラベル,変数1,変数2または文字列) 3046
CHAIN(変数1またはファイル名) 3129
CHAIN(変数1またはファイル名,変数2または文字列) 3129
CHILD(変数1または文字列1) 3231
CHILD(変数1または文字列1,変数2,文字列2または変数3) 3231
DOWNLOAD(番号,ファイル名) No 1 - No 6 3883
DOWNLOAD(番号) No 7 - No 14,No 21,No 23 3883
DOWNLOAD(番号,MODE) No 99 3883
END 4011 [9300]
GET(変数,長さ) 4824
GETC(変数,文字または文字列) 4839
GETC(変数,文字または文字列,"+") 4839
GETC(変数,文字または文字列,+時間) 4839
GETC(変数,文字または文字列,監視時間) 4839
GETS(変数,文字または文字列) 5088
GETS(変数,文字または文字列,"+") 5088
GETS(変数,文字または文字列,+時間) 5088
GETS(変数,文字または文字列,監視時間) 5088
GOTO(ラベル名) 5292
GOTO(ラベル名,変数1,変数2または文字列) 5292
IF<(変数1,変数2または数字文字列) 5394
IF<>(変数1,変数2または文字列) 5418
IF>(変数1,変数2または数字文字列) 5442
IFE(変数1,変数2または数字文字列) 5466
IFE<(変数1,変数2または数字文字列) 5490
IFE>(変数1,変数2または数字文字列) 5514
IFFILEN(変数または文字列) 5537
IFFILEY(変数または文字列) 5561
IFSRCHN(変数1,比較文字列または変数2) 5588
IFSRCHY(変数1,比較文字列または変数2) 5611
JUMP<(変数1,変数2または数字文字列,ラベル) 5831
JUMP<>(変数1,比較文字列または変数2,ラベル) 5854
JUMP>(変数1,変数2または数字文字列,ラベル) 5877
JUMPE(変数1,比較文字列または変数2,ラベル) 5900
JUMPE<(変数1,変数2または数字文字列,ラベル) 5932
JUMPE>(変数1,変数2または数字文字列,ラベル) 5955
JUMPFILEN(変数または文字列,ラベル) 5978
JUMPFILEY(変数または文字列,ラベル) 6002
JUMPSRCHN(比較元文字列または変数1,変数2,ラベル) 6026
JUMPSRCHY(比較元文字列または変数1,変数2,ラベル) 6051
RETURN 7124
SEND(文字列または変数) 7431
SEND(文字列,文字列2または変数2) 7431
SEND(文字列,文字列2または変数2,文字列3または変数3) 7431
STIMEOUT(文字列または変数,ラベル) 7608
SWITCH 7699
SWITCH(文字列または変数) 7699
SWITCH(文字列または変数,ラベル) 7699
CASE(文字列またはコントロールコード) 7701
END 7703
TIMEOUT(文字列または変数,ラベル) 7899
UPLOAD(番号,ファイル名) 7983
UPLOAD(番号,ファイル名,ラベル) 7983
UPTEXT(番号,ファイル名) 8041
UPTEXT(番号,ファイル名,ラベル) 8041
VCONVERT(ON,OFF) 8193
VSWITCH(変数) 8276
CASE(文字列またはコントロールコード) 8276
ELSE 8280 [9350]
END 8282
WAIT(変数または文字列) 8590
WAIT(変数1または文字列1,変数2または文字列2,ラベル) 8590
2. ファイル操作関係コマンド
------------------------------------------------------------------------
CHKPATH(変数1または文字列,変数2) 3327
CUTFILE(変数1または文字列1,変数2または文字列2,変数3) 3505
DELFILE(変数または文字列) 3749
DISKSIZE(変数1,変数2または文字列) 3790
DISKFSIZE(変数1,変数2または文字列) 3822
FCLOSE 4057
FCOPY(変数1または文字列1,変数2または文字列2) 4072
FCOPY(変数1 or 文字列1,変数2 or 文字列2,変数3 or 字列3) 4072
FDIR(変数1または文字列1,変数2または文字列2) 4123
FDIR(変数1 or 文字列1,変数2 or 文字列2,変数3 or 文字列3) 4123
FDIRA(変数1または文字列1,変数2または文字列2) 4187
FDIRA(変数1 or 文字列1,変数2 or 文字列2,変数3 or 文字列3)4187
FEXPAND(変数) 4247
FILESIZE(変数1または文字列,変数2) 4268
FILETIME(変数1,変数2または文字列) 4291
FILER(ファイル名,変数) 4315
FILER(ファイル名,変数,ラベル) 4315
FLHA(変数1 or 文字列1,変数2 or 文字列2,変数3 or 文字列3) 4366
FLINE(ファイル名,変数) 4415
FLINE(ファイル名,変数,ラベル) 4415
FMOVE(変数1または文字列1,変数2または文字列2) 4453
FOPEN(ファイル名) 4514
FOPEN(ファイル名,ラベル) 4514
FPOINT(変数1) 4549
FPOINT(変数1,変数2または文字列) 4549
FREAD(変数名) 4600
FREAD(変数名,ラベル) 4600
FREN(変数1または文字列1,変数2または文字列2) 4639
FRENAME(変数または文字列) 4673
FSEARCH(変数1,変数2) 4695
FSPLIT(変数1,変数2,変数3) 4721
FTYPE(変数1または文字列1,変数2または文字列2) 4750
FTYPEA(変数1または文字列1,変数2または文字列2) 4787
GETDATAD(変数) 4901
GETDIR(変数,変数または文字列) 4920
GETDOWND(変数) 4954
GETID(変数) 5000
GETLOGD(変数) 5018
GETMACROD(変数) 5037
GETMACROD(変数,変数2) 5037
GETMRES(変数) 5066 [9400]
GETTXUPD(変数) 5130
GETUPD(変数) 5149
GETUSERD(変数1,変数2または文字列) 5168
GETUSERD(変数1,変数2または文字列,変数3または文字列) 5168
LOGCLOSE 6279
LOGOPEN(変数または文字列) 6294
MKDIR(変数または文字列) 6610
OCLOSE 6731
OOPEN(ファイル名) 6748
OOPEN(ファイル名,ラベル) 6748
OPENCHK(変数,文字列または変数名) 6784
OREAD(変数名) 6824
OREAD(変数名,ラベル) 6824
RCLOSE 7110
ROPEN(ファイル名) 7182
ROPEN(ファイル名,ラベル) 7182
RPOINT(変数1) 7218
RPOINT(変数1,変数2または文字列) 7218
RREAD(変数名) 7270
RREAD(変数名,ラベル) 7270
SAVEWDAT(変数1,変数2または文字列,変数3または文字列) 7301
SAVEW5B(変数1または文字列1,変数2または文字列2,変数3) 7374
SAVEW5D(変数1または文字列1,変数2または文字列2,変数3) 7402
TAPPEND(ファイル名) 7774
TAPPEND(ファイル名,ラベル) 7774
TCLOSE 7810
TOPEN(ファイル名) 7936
TOPEN(ファイル名,ラベル) 7936
WAPPEND(ファイル名) 8661
WAPPEND(ファイル名,ラベル) 8661
WCLOSE 8701
WOPEN(ファイル名) 8765
WOPEN(ファイル名,ラベル) 8765
WRITE(変数名) 8808
WRITE(変数名,ラベル) 8808
WRITELOG(変数または文字列) 8838
3. キーボード入力関係コマンド
------------------------------------------------------------------------
ESCEXIT(ON,OFF) 4022
INPUT(変数1) 5635
INPUT(変数1,変数2または文字列2) 5635
INPUT(変数1,変数2または文字列2,変数3または文字列3) 5635
INPUTF(変数,文字列) 5727
INPUTF(変数,文字列1,文字列2) 5727
NJUMP(変数または文字列,ラベル) 6684
PAUSE 6864
PAUSE(変数または文字列) 6864 [9450]
PAUSE(変数1または文字列1,変数2または文字列2) 6864
SMENU(変数1,変数2,変数3) 7514
YJUMP(変数または文字列,ラベル) 8864
4. 画面表示関係コマンド
------------------------------------------------------------------------
BLINK(色指定,BLINK回数,間隔) 3001
CLS 3345
COLOR(変数) 3360
CRT(ON,OFF) 3476
GETCRTS(変数,変数2または文字列) 4881
MASKCRT(ON,OFF) 6537
PRINT(変数または文字列) 6981
PRINT(変数1または文字列1,変数2または文字列2) 6981
PRINTCR(変数または文字列) 7021
PRINTCR(変数1または文字列1,変数2または文字列2) 7021
5. 数値操作関数
------------------------------------------------------------------------
ADD(変数1,変数2または文字列2,変数3または文字列3) 2898
DIV(変数1,変数2 or 文字列2,変数3 or 文字列3) 3854
MOD(変数1,変数2または文字列2,変数3または文字列3) 6632
MUL(変数1,変数2または文字列2,変数3または文字列3) 6662
SUB(変数1,変数2または文字列2,変数3または文字列3) 7676
6. 文字列操作関数
------------------------------------------------------------------------
APS(変数,全長数,R(ight右寄せ) か L(eft左寄せ)) 2925
CAT(変数1,変数2または文字列1) 3087
CAT(変数1,変数2または文字列1,変数3または文字列2) 3087
CHANGE(変数1,置換前文字列または変数2,変数3) 3159
CHANGE2(変数,置換前文字列または変数2,変数3) 3198
COPY(変数または文字列,指定開始数値,複写終了文字数数値) 3441
DEL(変数,削除開始数値,削除文字分数数値) 3680
DELSPACE(変数1,変数2) 3770
INS(変数1,挿入開始数値,挿入文字列または変数2) 5778
ISKANJI(文字列または変数1,変数2または文字列2,変数3) 5801
LEFT(変数1,左側よりカット指定(文字数または変数2)) 6223
LEFT(変数1,左側よりカット指定(文字数または変数2),変数3) 6223
LENGTH(変数1,変数2) 6260
LOWCASE(変数1,変数2) 6436 [9500]
MAKERB(変数1,変数2) 6487
PICKWORD(変数1,変数2,変数3または文字列3[区切り文字]) 6910
POS(変数1,変数2または文字列,検索文字) 6951
RIGHT(変数1,右側よりカット指定(文字数または変数2)) 7145
RIGHT(変数1,右側よりカット指定(文字数または変数2),変数3) 7145
STRCAT(変数,変数または文字列) 7647
STRCAT(変数1,変数2または文字列2,変数3または文字列3) 7647
TABSPACE(変数1) 7763
UPCASE(変数1,変数2) 7962
7. 日時操作関連
------------------------------------------------------------------------
DATE(変数,区分挿入文字列[任意]) 3555
DATEADD(変数1,区分挿入文字列(任意),変数2または文字列) 3593
DATESUB(変数1,区分挿入文字列(任意),変数2または文字列) 3633
LAPTIME(変数1,変数2) 6076
LASTDATE(変数,区分挿入文字列[任意]) 6100
LASTTIME(変数,区分挿入文字列[任意]) 6141
LASTSTIME(変数,区分挿入文字列[任意]) 6182
LOGTIME(変数,区分挿入文字列[任意]) 6393
SETTIME 7496
TIME(変数,区分挿入文字列[任意]) 7852
TIMED(ON,OFF) 7880
WEEK(変数) 8717
WEEK(変数1,変数2または文字列) 8717
8. 変数および待避変数関連
------------------------------------------------------------------------
VCLEAR 8091
VCLEAR(文字列[変数名]) 8091
VCLEAR(文字列1[変数名1],文字列2[変数名2]) 8091
VCLEAR2 8042
VCLEAR2(文字列[変数名]) 8042
VCLEAR2(文字列1[変数名1],文字列2[変数名2]) 8042
VLIST 8221
VSWAP(変数1,変数2) 8246
VTACHG 8322
VTCLEAR 8344
VTCLEAR(文字列[変数名]) 8344
VTCLEAR(文字列1[変数名1],文字列2[変数名2]) 8344
VTCOPY 8396
VTCOPY(文字列[変数名]) 8396
VTCOPY(文字列1[変数名1],文字列2[変数名2]) 8396
VTLIST 8454 [9550]
VTOCHG(変数1,文字列[変数名]) 8482
VTOCHG2(文字列[変数名]) 8505
VTOCHG2(文字列1[変数名1],文字列2[変数名2]) 8505
VTSWAP(文字列1[変数名1],文字列2[変数名2]) 8564
9. その他
------------------------------------------------------------------------
BELL(文字列または変数,文字列または変数,文字列または変数) 2981
CASE 3077
CDCHK(ON,OFF) 3117
COMMODE(文字列) 3389
CONVERT(ON,OFF) 3420
DELAY(文字列または変数) 3710
DELAY(文字列または変数) 3728
ELSE 4003
EXIT 4047
GETCRTS(変数,変数2または文字列) 4881
GETENV(変数,変数または文字列) 4973
HANGUP 5320
HANGUPT(文字列または変数) 5335
HANGUPT(文字列または変数,ラベル) 5335
MACROVER(変数) 6456
MDUMP(変数または文字列) 6559
MDUMP(変数または文字列,変数 2または文字列) 6559
OFF 6719
PRINTER(ON,OFF) 7060
QUIT 7084
TELFEE(変数1,変数2) 7823
===============================================================================
===============================================================================
【第14章】 資料 ASCIIコード表
===============================================================================
SENDやWAIT等の説明ででてくる下記の文章の一覧です。
\nnn : nnnは0-255までの10進数を指定します。
nnnに対応する文字コードを送信します。 [9600]
98等のキャラクタで表示できない種類の文字は書いてありません。
また、10進 000-031までの ^ は、CTRL+文字を押した状態です。
また、16進 001-01Bまでの 何々/何々は、1文字表字です。
^@ や ^A とは CTRL+@ や CTRL+A と押した状態です。
PC / IBM PC / IBM PC / IBM PC / IBM PC / IBM
+---+---------+---+---------+---+---------+---+---------+---+---------+
10進|000| ^@ / |001| ^A / |002| ^B / |003| ^C / |004| ^D / |
16進|000| NUL |01 | SOH |02 | STX |03 | ETX |04 | EOT |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|005| ^E / |006| ^F / |007| ^G / |008| ^H / |009| ^I / |
|05 | ENQ |06 | ANK |07 | BEL |08 | BS |09 | HT |
|---+---------+---+---------+---+---------+---+---------+---+---------+
|010| ^J / |011| ^K / |012| ^L / |013| ^M / |014| ^N / |
|0A | LF |0B | HOM VT |0C | C/L FF |0D | CR |0E | SO |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|015| ^O / |016| ^P / |017| ^Q / |018| ^R / |019| ^S / |
|0F | SI |10 | DLE |11 | DC1 |12 | DC2 |13 | DC3 |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|020| ^T / |021| ^U / |022| ^V / |023| ^W / |024| ^X / |
|14 | DC4 |15 | NAK |16 | SYN |17 | ETB |18 | CAN |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|025| ^Y / |026| ^Z / |027| ^[ / |028| ^\ / |029| ^] / |
|19 | EM |20 | SUB |1B | ESC |1C | -> FS |1D | <- GS |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|030| ^^ / |031| ^_ / |032| / |033| ! / ! |034| " / " |
|1E | RS |1F | US |20 | SP |21 | |22 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|035| # / # |036| $ / $ |037| % / % |038| & / & |039| ' / ' |
|23 | |24 | |25 | |26 | |27 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|040| ( / ( |041| ) / ) |042| * / * |043| + / + |044| , / , |
|28 | |29 | |2A | |2B | |2C | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|045| - / - |046| . / . |047| / / / |048| 0 / 0 |049| 1 / 1 |
|2D | |2E | |2F | |30 | |31 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|050| 2 / 2 |051| 3 / 3 |052| 4 / 4 |053| 5 / 5 |054| 6 / 6 |
|32 | |33 | |34 | |35 | |36 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|055| 7 / 7 |056| 8 / 8 |057| 9 / 9 |058| : / : |059| ; / ; |
|37 | |38 | |39 | |3A | |3B | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|060| < / < |061| = / = |062| > / > |063| ? / ? |064| @ / @ |
|3C | |3D | |3E | |3F | |40 | [9650]
+---+---------+---+---------+---+---------+---+---------+---+---------+
|065| A / A |066| B / B |067| C / C |068| D / D |069| E / E |
|41 | |42 | |43 | |44 | |45 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|070| F / F |071| G / G |072| H / H |073| I / I |074| J / J |
|46 | |47 | |48 | |49 | |4A | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|075| K / K |076| L / L |077| M / M |078| N / N |079| O / O |
|4B | |4C | |4D | |4E | |4F | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|080| P / P |081| Q / Q |082| R / R |083| S / S |084| T / T |
|50 | |51 | |52 | |53 | |54 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|085| U / U |086| V / V |087| W / W |088| X / X |089| Y / Y |
|55 | |56 | |57 | |58 | |59 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|090| Z / Z |091| [ / |092| \ / |093| ] / ] |094| ^ / ^ |
|5A | |5B | |5C | |5D | |5E | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|095| _ / _ |096| / |097| a / a |098| b / b |099| c / c |
|5F | |60 | |61 | |62 | |63 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|100| d / d |101| e / e |102| f / a |103| g / g |104| h / h |
|64 | |65 | |66 | |67 | |68 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|105| i / i |106| j / j |107| k / k |108| l / l |109| m / m |
|69 | |6A | |6B | |6C | |6D | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|110| n / n |111| m / m |112| p / p |113| q / q |114| r / r |
|6E | |6F | |70 | |71 | |72 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|115| s / s |116| t / t |117| u / u |118| v / v |119| w / w |
|73 | |74 | |75 | |76 | |77 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|120| x / x |121| y / z |122| z / z |123| { / { |124| | / | |
|78 | |79 | |7A | |7B | |7C | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|125| } / } |126| ~ / ~ |127| / |128| / |129| / |
|7D | |7E | |7F | DEL |80 | |81 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|130| / |131| / |132| / |133| / |134| / |
|82 | |83 | |84 | IND |85 | NEL |86 | SSA |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|135| / |136| / |137| / |138| / |139| / |
|87 | ESA |88 | HTS |89 | HTJ |8A | VTS |8B | PLD |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|140| / |141| / |142| / |143| / |144| / |
|8C | PLU |8D | RI |8E | |8F | |90 | DCS |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|145| / |146| / |147| / |148| / |149| / [9700]
|91 | PU1 |92 | PU2 |93 | STS |94 | CCH |95 | MW |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|150| / |152| / |152| / |153| / |154| / |
|96 | SPA |98 | EPA |98 | |99 | |9A | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|155| / |156| / |157| / |158| / |159| / |
|9B | CSI |9C | ST |9D | OSC |9E | PM |9F | APC |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|160| / |161| 。 / |162| 「 / |163| 」 / |164| 、 / |
|A0 | |A1 | |A2 | |A3 | |A4 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|165| ・ / |166| ヲ / |167| ァ / |168| ィ / |169| ゥ / |
|A5 | |A6 | |A7 | |A8 | |A9 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|170| ェ / |171| ォ / |172| ャ / |173| ュ / |174| ョ / |
|AA | |AB | |AC | |AD | |AE | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|175| ッ / |176| ー / |177| ア / |178| イ / |179| ウ / |
|AF | |B0 | |B1 | |B2 | |B3 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|180| エ / |181| オ / |182| カ / |183| キ / |184| ク / |
|B4 | |B5 | |B6 | |B7 | |B8 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|185| ケ / |186| コ / |187| サ / |188| シ / |189| ス / |
|B9 | |BA | |BB | |BC | |BD | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|190| セ / |192| タ / |192| タ / |193| チ / |194| ツ / |
|BE | |C0 | |C0 | |C1 | |C2 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|195| テ / |196| ト / |197| ナ / |198| ニ / |199| ヌ / |
|C3 | |C4 | |C5 | |C6 | |C7 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|200| ネ / |201| ノ / |202| ハ / |203| ヒ / |204| フ / |
|C8 | |C9 | |CA | |CB | |CC | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|205| ヘ / |206| ホ / |207| マ / |208| ミ / |209| ム / |
|CD | |CE | |CF | |D0 | |D1 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|210| メ / |211| モ / |212| ヤ / |213| ユ / |214| ヨ / |
|D2 | |D3 | |D4 | |D5 | |D6 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|215| ラ / |216| リ / |217| ル / |218| レ / |219| ロ / |
|D7 | |D8 | |D9 | |DA | |DB | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|220| ワ / |221| ン / |222| ゙ / |223| ゚ / |224| / |
|DC | |DD | |DE | |DF | |E0 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|225| / |226| / |227| / |228| / |229| / |
|E1 | |E2 | |E3 | |E4 | |E5 | |
+---+---------+---+---------+---+---------+---+---------+---+--------[9750]
|230| / |231| / |232| / |233| / |234| / |
|E6 | |E7 | |E8 | |E9 | |EA | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|235| / |236| / |237| / |238| / |239| / |
|EB | |EC | |ED | |EE | |EF | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|240| / |241| / |242| / |243| / |244| / |
|F0 | |F1 | |F2 | |F3 | |F4 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|245| / |246| / |247| / |248| / |249| / |
|F5 | |F6 | |F7 | |F8 | |F9 | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|250| / |251| / |252| / |253| / |254| / |
|FA | |FB | |FC | |FD | |FE | |
+---+---------+---+---------+---+---------+---+---------+---+---------+
|255| / |
|FF | |
+---+---------+
===============================================================================
【第15章】 WTERM の使用者の方へ、また再配布される方へ
===============================================================================
1. WTERM は、フリーソフトウェアです。
2. 著作権者は、使用者に対して通常使用に際しての、一切の金品の受託を求め
ません。
3. 配布は、圧縮ファイルの内容を一切改変せず、オリジナルの内容で行って下
さい。
また、圧縮形態変更(LZH 形式を、自己解凍型EXE にする等)は禁止します。
中身のタイムスタンプの変更なども、これに準じます。
[9800]
4. 利益をあげることが目的でない限り、本ソフトを再配布・転載することは自
由です。
またパソコン通信上にての、配布に関して、著作権者の承諾等は、基本的に
は不用です。
それ以外の営利以外の目的(知人に渡す等)での配布の場合、メディア代、
郵送料等の実費弁済の範囲を逸脱する金銭の授受が行われることを禁じます。
なお、営利団体もしくはそれに準ずると解釈できうる、会員を目的としたフ
リーソフトウェアの配布組織/団体においてWTERM の配布をされる事は、著
作権者が許可をしない限りにおいては固くお断りいたします。ある団体にお
いては、許可申請メールを他の人が転送して私の所に来ます。それくらい責
任者が直接コンタクトしてほしいものです。この場合、回答を拒否しました
ので、許可と解釈して再配布しないでほしいと思います)
5. 雑誌等に、WTERM の内容を紹介される場合は、事前に著作権者に連絡する必
要はありません。
WTERM の動作画面等を使用される場合は、使用する旨をお知らせください。
またその際には、文中に著作権の明示をしてください。
6. 雑誌添付の、FD(フロッピーディスク)や、CD-ROM/MO(光ディスク)に、
納める場合は、著作権者に許可を得てください。
場合によっては、簡単な添付に関する文章を取り交わしておりますのでお願
いいたします。
また、添付の場合は、その時点の最新版 WTERM と WTERM.DOC(WTDOC.LZH)
の一括でお願いしたいところですが、サイズ的に、本体だけ添付にしたい場
合もあろうと思います。その際も事前に御連絡ください。
また掲載誌につきましては、献本をお願いいたします。
7. 許可なく販促物(販売促進の為の代償として付加する物)として配布しない
でください。添付や配布に関しては、著作権者と添付に関する文章を取り交
わしておりますので、お願いいたします。
8. 営業行為もしくは、営利目的等の使用の場合(添付も含める)、企業が営業
行為の中で(無料であるなしに関わらず)、WTERM を添付もしくは 2次利用
する場合は、著作権者に文書等において許可を得てください。添付や配布に
関しては、著作権者と添付に関する文章を取り交わしております。
9. WTERM.DOC と、WMACRO.DOCを切り放して別々にして配布する事は、御遠慮く
ださい。
10. WTERM .DOC/WMACRO.DOCの内容を、一部、又はそのまま出版物等に記載/抜
粋転記される場合は、必ず事前に文書等において著作権者の承諾を求めてく
ださい。
11. WTERM を使用して、店頭での製品デモ使用、ショー等のデモ等の使用は、御
自由に、これといって制限もありません。
12. LCR 機能付きWTERM の、パソコン通信上での配布は、現段階では認めており
ません。また書籍添付なども認めておりません。その場合は事前に協議する
必要がありますので、かならずご相談ください。
またLCR 版配布権は、下記シャンバラがもっておりますが、使用許諾権、 [9850]
著作権をはじめとする各種権限は、作者のほうにあります。
なお、LCR 版は現在、下記の所でのみ配布(無料)しております。
+--------------------------------------------------------------+
| LCR 機能付WTERM 配布先/御問い合わせ先 |
+--------------------------------------------------------------+
| 531 大阪府大阪市北区豊崎 5丁目 4番 9号 商業第 2ビル 8F |
| 株式会社 シャンバラ |
| 「KANちゃん」DDIサービスセンター係宛 |
+--------------------------------------------------------------+
| TEL 06-375-8108 FAX 06-374-1254 |
+--------------------------------------------------------------+
| 電子メールでのお問い合わせは、以下のIDへお願いいたします。 |
| NIFTY-Serve KGF01115 |
| PC-VAN DDG90552 |
+--------------------------------------------------------------+
著作権者の連絡先は、NIFTY-Serve のSDI00598です。
御用件は、電子メールにて送ってください。
なお、WTERM が、Version UPした場合、できましたら転載者は、新しいWTERM の
再転載をおねがいいたします。
===============================================================================
【第16章】 免責事項
===============================================================================
1. 著作権者は、WTERM に関して一切の動作保証はいたしません。
2. 著作権者は、WTERM の瑕疵および、使用により生じた障害に関して、一切の
直接もしくは間接的損害については、責を負いません。
3. 著作権者は、WTERM 及びそのドキュメントに不備があっても、訂正する義務
は負いません。
4. 著作権者は、WTERM の動作確認を行なって配布していますが、フリーソフト
ウェアとしての性質上、使用者からのWTERM 及びそのドキュメントの改修等
の要請に応じる義務はありません。 [9900]
5. 著作権者は、WTERM の各種通常動作においての致命的な不都合においての修
正はいたしますが、不都合を完全に修復することの責務は負いません。
===============================================================================
【第17章】 著作権について
===============================================================================
本ドキュメントには著作権が有ります。
WMACRO.DOC Copyright (C) 1990,96 H.INOUE
1996-06-15 H.INOUE