使用できる関数の一覧を示します。これらの中には、パラメータが必要であったり、パラメータが省略されたりしたときのデフォルト動作を持った関数が含まれます。
関数名 | 機能 |
---|---|
ディスプレイエミュレータの終了 | |
文字列の比較 | |
クリップボードへの複写(行範囲) | |
クリップボードへの複写(全画面) | |
ダイアログボックスの表示 | |
ダイアログボックスの終了 | |
コマンドの実行 | |
マクロの実行中止 | |
比較 | |
エラー番号の取り出し | |
結果コードの取り出し | |
キーボードロック状態の確認 | |
入力禁止位置の確認 | |
フィールド先頭位置の確認 | |
フィールド最終位置の確認 | |
メッセージボックスの表示 | |
論理反転 | |
クリップボードからの貼り付け | |
文字列検索 | |
カーソル位置の設定 | |
キーアンロックタイムの設定 | |
最大待ち時間の設定 | |
指定時間実行を停止 | |
キーの入力 | |
キーの1文字即時入力 | |
ホストからの文字列待ち合わせ |
パラメータを省略するときは、うしろのパラメータから順番に省略できます。途中のパラメータを省略することはできません。
例
Type("ABC",20,10) | ;省略なし |
Type("ABC",20) | ;桁を省略 |
Type("ABC") | ;行と桁を省略 |
ディスプレイエミュレータを終了させます。セッションが起動されている場合はセッションを強制終了してから終了します。
Bye(ResultCode)
パラメータ | 説明 | 省略時のデフォルト値 |
---|---|---|
ResultCode | 意味をもちません | 省略できません |
ホスト画面受信バッファの指定位置と指定文字列を比較します。比較結果はリターン値で確認できます。
CmpText(Text,Row,Col)
パラメータ | 説明 | 省略時のデフォルト値 |
---|---|---|
Text | 比較する文字列 | 省略できません |
Row | 比較開始行位置(1~24) | カーソル位置 |
Col | 比較開始桁位置(1~80) | カーソル位置 |
関数の呼び出しに成功するとTRUEを返します。文字列の比較に失敗した場合やエラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。
IF(CmpText("A")) | ||
MsgBox("現在カーソルはAの上にあります") | ||
ELSE | ||
MsgBox("現在カーソルはA以外の上にあります") | ||
ENDIF |
指定位置で囲まれる行範囲をクリップボードへ複写します。クリップボードには、CF_TEXT形式のデータが置かれます。
CopyLn(Row1,Col1,Row2,Col2)
パラメータ | 説明 | 省略時のデフォルト値 |
---|---|---|
Row1 | 複写範囲開始行位置(1~24) | 1 |
Col1 | 複写範囲開始桁位置(1~80) | 1 |
Row2 | 複写範囲終了行位置(1~24) | 24 |
Col2 | 複写範囲終了桁位置(1~80) | 80 |
関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。
全画面範囲をクリップボードへ複写します。クリップボードには、CF_TEXT形式のデータが置かれます。
CopyScreen()
ありません
関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。
ダイアログテンプレートに従ってダイアログボックスを表示します。ダイアログボックスが終了するまでこの関数は制御を戻しません。ダイアログボックスを終了するには[メニュー]+[F4]キーを押すか、EndDialog関数を呼び出します。
Dialog(Template)
パラメータ | 説明 | 省略時のデフォルト値 |
---|---|---|
Template | ダイアログテンプレート名 | 省略できません |
関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がTRUEの場合はGetResult関数を使ってダイアログボックス処理結果を調べることができます。[メニュー]+[F4]キーを押して終了した場合、ダイアログボックス処理結果は0になります。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。
表示中のダイアログボックスを終了させます。パラメータを1つ持ちダイアログボックスの処理結果を表します。この値はダイアログボックスを終了後にGetResult関数を使って調べることができます。
EndDialog(ResultCode)
パラメータ | 説明 | 省略時のデフォルト値 |
---|---|---|
ResultCode | 処理結果コード(0~255) | 0 |
関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。
プログラムを呼び出します。呼び出したプログラムの終了を待たずにこの関数は制御を戻します。プログラムの起動結果はGetResult関数で調べることができます。
Exec(CmdLine)
パラメータ | 説明 | 省略時のデフォルト値 |
---|---|---|
CmdLine | コマンドライン | 省略できません |
関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。
Exec("COMMAND.COM/c copy import.txt a:")
実行中のマクロを中止します。
Exit()
ありません
関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。
2つのパラメータの値を比較します。
Equ(Param1,Param2)
パラメータ | 説明 | 省略時のデフォルト値 |
---|---|---|
Param1 | 比較する第一パラメータ | 省略できません |
Param2 | 比較する第二パラメータ | 省略できません |
2つのパラメータが等しい場合はTRUEを、等しくない場合はFALSEを返します。
キー入力でキー入力禁止エラーだった場合に、リセットキーで入力禁止状態を解除しています。
Type("ABC") | ||
IF(Equ(GetError(),ERROR_DNYKEY)) | ||
Type("[RESET]") | ||
ENDIF |
関数がエラー終了したときのエラー番号を取得します。エラーが発生していない場合はERROR_NONEを返します。
GetError()
ありません
エラーが発生していない場合はERROR_NONEを、エラーが発生している場合はそのエラー番号を返します。ERROR_NONEは0です。
値 | 意 味 |
---|---|
ERROR_NONE | エラーはありません。 |
ERROR_NOMEMORY | メモリ不足が発生しました。 |
ERROR_NOTCNCT | ホストと接続されていません。 |
ERROR_TIMEOUT | タイムアウトが発生しました。 |
ERROR_DNYKEY | キー入力禁止でした。 |
ERROR_NOSCAN | Scan関数で文字列が見つかりませんでした。 |
ERROR_INVPARAM | パラメータが不正です。 |
ERROR_INVKEY | Type関数で無効なキーが指定されました。 |
ERROR_ABORT | セッションが異常終了しました。 |
ERROR_INVPATHNAME | 接続パス名が不正です。 |
ERROR_FILENOTEXIST | Exec関数で指定されたプログラムが見つかりません。 |
ERROR_NOEXEC | Exec関数で指定されたプログラムが実行できませんでした。 |
ERROR_NOTSTART | セッションが未起動です。 |
ERROR_NOSUPPORT | 未サポート関数が呼び出されました。 |
EndDialogで返された値、またはExec関数によって実行されたコマンドの起動結果を取得します。
GetResult()
ありません
結果コードを表します。
現在キー入力禁止状態か確認します。
IsKeyboardLock()
ありません
関数を呼び出したときにキー入力禁止だったらTRUEを返します。キー入力可能ならばFALSEを返します。
IF(IsKeyboardLock()) | ||
MsgBox("キー入力できない状態です") | ||
ENDIF |
指定位置がキー入力禁止位置か確認します。
IsProtectPos(Row,Col)
パラメータ | 説明 | 省略時のデフォルト値 |
---|---|---|
Row | 確認行位置(1~24) | カーソル位置 |
Col | 確認桁位置(1~80) | カーソル位置 |
関数を呼び出したときに指定位置がキー入力禁止位置だったらTRUEを返します。キー入力可能位置ならばFALSEを返します。
IF(IsProtectPos(2,10)) | ||
MsgBox("2行10桁目は、キー入力禁止位置です") | ||
ENDIF |
指定位置がフィールドの先頭位置か確認します。
IsFieldTopPos(Row,Col)
パラメータ | 説明 | 省略時のデフォルト値 |
---|---|---|
Row | 確認行位置(1~24) | カーソル位置 |
Col | 確認桁位置(1~80) | カーソル位置 |
関数を呼び出したときに指定位置がフィールドの先頭位置だったらTRUEを返します。
それ以外の位置、またはアトリビュート文字位置ならばFALSEを返します。
不定様式画面のときは、1行1桁目がフィールドの先頭位置として扱われます。
IF(Not(IsFieldTopPos())) | ||
TypeKey("[BACKTAB]");;フィールドの先頭へカーソルを移動 | ||
ENDIF |
指定位置がフィールドの最終位置か確認します。
IsFieldEndPos(Row,Col)
パラメータ | 説明 | 省略時のデフォルト値 |
---|---|---|
Row | 確認行位置(1~24) | カーソル位置 |
Col | 確認桁位置(1~80) | カーソル位置 |
関数を呼び出したときに指定位置がフィールドの最終位置だったらTRUEを返します。
それ以外の位置、またはアトリビュート文字位置ならばFALSEを返します。
不定様式画面のときは、24行80桁目がフィールドの最終位置として扱われます。
指定されたメッセージを表示しボタンが押されるまでポーズします。表示されるボタンはスタイルによって指定することができます。
MsgBox(Text,Style)
パラメータ | 説明 | 省略時のデフォルト値 |
---|---|---|
Text | 表示する文字列 | 省略できません |
Style | メッセージボックスのスタイルOK、OKCANCEL、YESNOのいずれかを指定します。 | OKスタイルを持ちます |
スタイルと押されたボタンによって次の値が返されます。
スタイル | 押されたボタン | リターン値 |
---|---|---|
OK | [OK] | TRUE |
OKCANCEL | [OK] | TRUE |
[キャンセル] | FALSE | |
YESNO | [はい] | TRUE |
[いいえ] | FALSE |
MsgBox("メッセージを表示します") MsgBox("選択してください",YESNO) |
パラメータの値を論理反転します。TRUE(真)はFALSE(偽)に、FALSEはTRUEになります。
Not(Val)
パラメータ | 説明 | 省略時のデフォルト値 |
---|---|---|
Val | 値を持ったパラメータ | 省略できません |
反転結果を返します。
IF(Not(0)) | ||
MsgBox("0の反転はTRUEです。") | ||
ENDIF |
クリップボードの内容を現在のカーソル位置へ貼り付けます。キー入力禁止状態のときはエラー復帰します。
Paste()
ありません
関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。
ホスト画面受信バッファに指定文字列が存在するかを調べます。検索結果はリターン値で確認できます。
Scan(Text,Row1,Col1,Row2,Col2)
パラメータ | 説明 | 省略時のデフォルト値 |
---|---|---|
Text | 検索する文字列 | 省略できません |
Row1 | 検索開始行位置(1~24) | 1 |
Col1 | 検索開始桁位置(1~80) | 1 |
Row2 | 検索終了行位置(1~24) | 24 |
Col2 | 検索終了桁位置(1~80) | 80 |
関数の呼び出しに成功するとTRUEを返します。文字列が見つからなかった場合やエラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。
IF(Scan("TSSX")) | ||
MsgBox("ログオンが完了しました") | ||
ELSE | ||
MsgBox("ログオンは完了していません") | ||
ENDIF |
カーソル位置を指定位置へ移動します。キー入力禁止状態のときはエラー復帰します。
SetCursorPos(Row,Col)
パラメータ | 説明 | 省略時のデフォルト値 |
---|---|---|
Row | カーソル行(1~24) | 省略できません |
Col | カーソル桁(1~80) | 省略できません |
関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。
■SetKeyUnlockTime キーアンロックタイムの設定
キーアンロックタイムは、キーボードロック中に一瞬ロックが解除されることがあるため、この解除を本来の解除としないようにタイミングをとるための時間です。未設定の場合のデフォルト値は1秒です。
キー入力が可能かどうかはキーボードロックの解除後キーアンロックタイムだけ待ち、なおキーボードロック解除状態が続いていればキー入力可能と判断します。逆にキーアンロックタイム待ち中にキーボードロックになれば始めからキーボードロックの解除を待ちます。関数呼び出し時にすでにキーボードロックが解除されていてもキーアンロックタイムだけ待ちます。
SetKeyUnlockTime(Second)
パラメータ | 説明 | 省略時のデフォルト値 |
---|---|---|
Second | キーアンロックタイムを秒で指定します。 (1~65535) | 省略できません |
関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。
SetKeyUnlockTime(3)
次の関数でキーアンロックタイムが使用されます。
Type関数
Wait関数
Type関数、Wait関数の最大待ち時間を設定します。未設定の場合のデフォルト値は20秒です。
SetWaitTime(Second)
パラメータ | 説明 | 省略時のデフォルト値 |
---|---|---|
Second | 最大待ち時間を秒で指定します。 (1~65535) | 省略できません |
関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。
SetWaitTime(3)
次の関数で最大待ち時間が使用されます。
Type関数
Wait関数
指定時間だけマクロの実行を一時的に停止します。
Sleep(Second)
パラメータ | 説明 | 省略時のデフォルト値 |
---|---|---|
Second | スリープ時間を秒で指定します。 (1~65535) | 省略できません |
関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。
Sleep(3)
キー入力をエミュレーションします。キーボードロック状態の場合はキー入力が可能になるのを待ってから入力を行います。最大待ち時間はSetWaitTime関数で設定された待ち時間だけ待ちます。キーアンロックタイムはSetKeyUnlockTime関数で任意の時間に設定できます。
入力禁止フィールドにキーを入力しようとしたり、この関数により入力禁止状態になったりした場合はすぐにエラー復帰します。
入力キーに特殊キーやJEFコードを含める時は[ENTER]のようにカッコ[]で囲みます。カッコ内は1つの項目だけ指定可能です。左カッコ[を入力するときは左カッコを重ねて書きます。
Type(Text,Row,Col)
パラメータ | 説明 | 省略時のデフォルト値 |
---|---|---|
Text | 入力文字列 | 省略できません |
Row | 入力開始行(1~24) | カーソル位置 |
Col | 入力開始桁(1~80) | カーソル位置 |
関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。
機能 | 記述形式 |
---|---|
PF1 | [PF1] |
PF2 | [PF2] |
PF3 | [PF3] |
PF4 | [PF4] |
PF5 | [PF5] |
PF6 | [PF6] |
PF7 | [PF7] |
PF8 | [PF8] |
PF9 | [PF9] |
PF10 | [PF10] |
PF11 | [PF11] |
PF12 | [PF12] |
PF13 | [PF13] |
PF14 | [PF14] |
PF15 | [PF15] |
PF16 | [PF16] |
PF17 | [PF17] |
PF18 | [PF18] |
PF19 | [PF19] |
PF20 | [PF20] |
PF21 | [PF21] |
PF22 | [PF22] |
PF23 | [PF23] |
PF24 | [PF24] |
実行 | [ENTER] |
PA1 | [PA1] |
PA2 | [PA2] |
PA3 | [PA3] |
CLEAR | [CLEAR] |
SYSREQ | [SYSREQ] |
ATTN | [ATTN] |
→ | [RIGHT] |
← | [LEFT] |
↑ | [UP] |
↓ | [DOWN] |
タブ | [TAB] |
バックタブ | [BACKTAB] |
改行 | [RETURN] |
HOME | [HOME] |
挿入 | [INSERT] |
削除 | [DELETE] |
ERASE-INPUT | [ERASEINPUT] |
ERASE-EOF | [ERASEEOF] |
RESET | [RESET] |
CURSOR-SELECT | [CURSORSEL] |
DUP | [DUPLICATE] |
FIELD-MARK | [FIELDMARK] |
+入力 | [+ENTER] |
;文字列+実行キー Type("LOGONTSS[ENTER]") ;JEFコード入力 Type("[41A1][41A2]") |
マクロファイル内に、SETDSPCコマンドを記述し、文字コード種別を設定した場合、その設定は、マクロ実行中に有効にならず、マクロからの復帰時に有効になります。
従って、Type関数で英小文字を入力するには、マクロの実行前にEBCDICコード種別を、EBCDIC(英小文字)コード、もしくは、EBCDIC(ASCII)コードの状態に変更しておく必要があります。
1文字分のキー入力をエミュレーションします。キーボードロック状態の場合はエラー復帰します。Type関数と違いキー入力可能になるのを待ちません。
入力キーにはType関数と同様の形式で特殊キーやJEFコードを指定することができますが、1文字分のキーしか指定できません。
特殊キーの記述形式はType関数を参照してください。
TypeKey(Text)
パラメータ | 説明 | 省略時のデフォルト値 |
---|---|---|
Text | 入力文字 | 省略できません |
関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。
;特殊文字 TypeKey("[RESET]") ;JEFコード入力 TypeKey("[41A1]") |
指定文字列を受信するのを待ちます。この関数はキー入力が可能になってから指定された文字列を受信したかを判定します。最大待ち時間はSetWaitTime関数で設定された待ち時間だけ待ちます。キーアンロックタイムはSetKeyUnlockTime関数で任意の時間に設定できます。
パラメータをすべて省略するとキー入力が可能になるのを待つことができます。
Wait(Text,Row1,Col1,Row2,Col2)
パラメータ | 説明 | 省略時のデフォルト値 |
---|---|---|
Text | 受信待ち文字列 | 省略時はキー入力可を待ちます |
Row1 | 受信待ち開始行(1~24) | 1 |
Col1 | 受信待ち開始桁(1~80) | 1 |
Row2 | 受信待ち終了行(1~24) | 24 |
Col2 | 受信待ち終了桁(1~80) | 80 |
関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。
;SYSTEMREADYの受信を待ちます Wait("SYSTEMREADY",1,1) ;キー入力可能になるのを待ちます Wait() |