ページの先頭行へ戻る
Kシリーズ端末エミュレータ V7.1 L40 使用手引書

19.3 関数

使用できる関数の一覧を示します。これらの中には、パラメータが必要であったり、パラメータが省略されたりしたときのデフォルト動作を持った関数が含まれます。

関数名

機能

Bye

ディスプレイエミュレータの終了

CmpText

文字列の比較

CopyLn

クリップボードへの複写(行範囲)

CopyScreen

クリップボードへの複写(全画面)

Dialog

ダイアログボックスの表示

EndDialog

ダイアログボックスの終了

Exec

コマンドの実行

Exit

マクロの実行中止

Equ

比較

GetError

エラー番号の取り出し

GetResult

結果コードの取り出し

IsKeyboardLock

キーボードロック状態の確認

IsProtectPos

入力禁止位置の確認

IsFieldTopPos

フィールド先頭位置の確認

IsFieldEndPos

フィールド最終位置の確認

MsgBox

メッセージボックスの表示

Not

論理反転

Paste

クリップボードからの貼り付け

Scan

文字列検索

SetCursorPos

カーソル位置の設定

SetKeyUnlockTime

キーアンロックタイムの設定

SetWaitTime

最大待ち時間の設定

Sleep

指定時間実行を停止

Type

キーの入力

TypeKey

キーの1文字即時入力

Wait

ホストからの文字列待ち合わせ

パラメータを省略するときは、うしろのパラメータから順番に省略できます。途中のパラメータを省略することはできません。

Type("ABC",20,10)

;省略なし

Type("ABC",20)

;桁を省略

Type("ABC")

;行と桁を省略

Bye  ディスプレイエミュレータの終了

ディスプレイエミュレータを終了させます。セッションが起動されている場合はセッションを強制終了してから終了します。

[呼び出し形式]

Bye(ResultCode)

[パラメータ]

パラメータ

説明

省略時のデフォルト値

ResultCode

意味をもちません

省略できません

CmpText  文字列の比較

ホスト画面受信バッファの指定位置と指定文字列を比較します。比較結果はリターン値で確認できます。

[呼び出し形式]

CmpText(Text,Row,Col)

[パラメータ]

パラメータ

説明

省略時のデフォルト値

Text

比較する文字列

省略できません

Row

比較開始行位置(1~24)

カーソル位置

Col

比較開始桁位置(1~80)

カーソル位置

[リターン値]

関数の呼び出しに成功するとTRUEを返します。文字列の比較に失敗した場合やエラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。

[使用例]

IF(CmpText("A"))

MsgBox("現在カーソルはAの上にあります")

ELSE

MsgBox("現在カーソルはA以外の上にあります")

ENDIF

CopyLn  クリップボードへの複写(行範囲)

指定位置で囲まれる行範囲をクリップボードへ複写します。クリップボードには、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関数を使ってエラー番号を調べることができます。

CopyScreen  クリップボードへの複写(全画面)

全画面範囲をクリップボードへ複写します。クリップボードには、CF_TEXT形式のデータが置かれます。

[呼び出し形式]

CopyScreen()

[パラメータ]

ありません

[リターン値]

関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。

Dialog  ダイアログボックスの表示

ダイアログテンプレートに従ってダイアログボックスを表示します。ダイアログボックスが終了するまでこの関数は制御を戻しません。ダイアログボックスを終了するには[メニュー]+[F4]キーを押すか、EndDialog関数を呼び出します。

[呼び出し形式]

Dialog(Template)

[パラメータ]

パラメータ

説明

省略時のデフォルト値

Template

ダイアログテンプレート名

省略できません

[リターン値]

関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がTRUEの場合はGetResult関数を使ってダイアログボックス処理結果を調べることができます。[メニュー]+[F4]キーを押して終了した場合、ダイアログボックス処理結果は0になります。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。

EndDialog  ダイアログボックスの終了

表示中のダイアログボックスを終了させます。パラメータを1つ持ちダイアログボックスの処理結果を表します。この値はダイアログボックスを終了後にGetResult関数を使って調べることができます。

[呼び出し形式]

EndDialog(ResultCode)

[パラメータ]

パラメータ

説明

省略時のデフォルト値

ResultCode

処理結果コード(0~255)

0

[リターン値]

関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。

Exec  コマンドの実行(子プロセスの起動)

プログラムを呼び出します。呼び出したプログラムの終了を待たずにこの関数は制御を戻します。プログラムの起動結果はGetResult関数で調べることができます。

[呼び出し形式]

Exec(CmdLine)

[パラメータ]

パラメータ

説明

省略時のデフォルト値

CmdLine

コマンドライン

省略できません

[リターン値]

関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。

[使用例]

Exec("COMMAND.COM/c copy import.txt a:")

Exit  マクロの実行中止

実行中のマクロを中止します。

[呼び出し形式]

Exit()

[パラメータ]

ありません

[リターン値]

関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。

Equ  比較

2つのパラメータの値を比較します。

[呼び出し形式]

Equ(Param1,Param2)

[パラメータ]

パラメータ

説明

省略時のデフォルト値

Param1

比較する第一パラメータ

省略できません

Param2

比較する第二パラメータ

省略できません

[リターン値]

2つのパラメータが等しい場合はTRUEを、等しくない場合はFALSEを返します。

[使用例]

キー入力でキー入力禁止エラーだった場合に、リセットキーで入力禁止状態を解除しています。

Type("ABC")

IF(Equ(GetError(),ERROR_DNYKEY))

Type("[RESET]")

ENDIF

GetError  エラー番号の取得

関数がエラー終了したときのエラー番号を取得します。エラーが発生していない場合は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

未サポート関数が呼び出されました。

GetResult  結果コードの取得

EndDialogで返された値、またはExec関数によって実行されたコマンドの起動結果を取得します。

[呼び出し形式]

GetResult()

[パラメータ]

ありません

[リターン値]

結果コードを表します。

IsKeyboardLock  キーボードロック状態の確認

現在キー入力禁止状態か確認します。

[呼び出し形式]

IsKeyboardLock()

[パラメータ]

ありません

[リターン値]

関数を呼び出したときにキー入力禁止だったらTRUEを返します。キー入力可能ならばFALSEを返します。

[使用例]

IF(IsKeyboardLock())

MsgBox("キー入力できない状態です")

ENDIF

IsProtectPos  入力禁止位置の確認

指定位置がキー入力禁止位置か確認します。

[呼び出し形式]

IsProtectPos(Row,Col)

[パラメータ]

パラメータ

説明

省略時のデフォルト値

Row

確認行位置(1~24)

カーソル位置

Col

確認桁位置(1~80)

カーソル位置

[リターン値]

関数を呼び出したときに指定位置がキー入力禁止位置だったらTRUEを返します。キー入力可能位置ならばFALSEを返します。

[使用例]

IF(IsProtectPos(2,10))

MsgBox("2行10桁目は、キー入力禁止位置です")

ENDIF

IsFieldTopPos  フィールド先頭位置の確認

指定位置がフィールドの先頭位置か確認します。

[呼び出し形式]

IsFieldTopPos(Row,Col)

[パラメータ]

パラメータ

説明

省略時のデフォルト値

Row

確認行位置(1~24)

カーソル位置

Col

確認桁位置(1~80)

カーソル位置

[リターン値]

関数を呼び出したときに指定位置がフィールドの先頭位置だったらTRUEを返します。

それ以外の位置、またはアトリビュート文字位置ならばFALSEを返します。

不定様式画面のときは、1行1桁目がフィールドの先頭位置として扱われます。

[使用例]

IF(Not(IsFieldTopPos()))

TypeKey("[BACKTAB]");;フィールドの先頭へカーソルを移動

ENDIF

IsFieldEndPos  フィールド最終位置の確認

指定位置がフィールドの最終位置か確認します。

[呼び出し形式]

IsFieldEndPos(Row,Col)

[パラメータ]

パラメータ

説明

省略時のデフォルト値

Row

確認行位置(1~24)

カーソル位置

Col

確認桁位置(1~80)

カーソル位置

[リターン値]

関数を呼び出したときに指定位置がフィールドの最終位置だったらTRUEを返します。

それ以外の位置、またはアトリビュート文字位置ならばFALSEを返します。

不定様式画面のときは、24行80桁目がフィールドの最終位置として扱われます。

MsgBox  メッセージボックスの表示

指定されたメッセージを表示しボタンが押されるまでポーズします。表示されるボタンはスタイルによって指定することができます。

[呼び出し形式]

MsgBox(Text,Style)

[パラメータ]

パラメータ

説明

省略時のデフォルト値

Text

表示する文字列

省略できません

Style

メッセージボックスのスタイルOK、OKCANCEL、YESNOのいずれかを指定します。

OKスタイルを持ちます

[リターン値]

スタイルと押されたボタンによって次の値が返されます。

スタイル

押されたボタン

リターン値

OK

[OK]

TRUE

OKCANCEL

[OK]

TRUE

[キャンセル]

FALSE

YESNO

[はい]

TRUE

[いいえ]

FALSE

[使用例]

MsgBox("メッセージを表示します")

MsgBox("選択してください",YESNO)

Not  反転

パラメータの値を論理反転します。TRUE(真)はFALSE(偽)に、FALSEはTRUEになります。

[呼び出し形式]

Not(Val)

[パラメータ]

パラメータ

説明

省略時のデフォルト値

Val

値を持ったパラメータ

省略できません

[リターン値]

反転結果を返します。

[使用例]

IF(Not(0))

MsgBox("0の反転はTRUEです。")

ENDIF

Paste  クリップボードからの貼り付け

クリップボードの内容を現在のカーソル位置へ貼り付けます。キー入力禁止状態のときはエラー復帰します。

[呼び出し形式]

Paste()

[パラメータ]

ありません

[リターン値]

関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。

Scan  文字列検索

ホスト画面受信バッファに指定文字列が存在するかを調べます。検索結果はリターン値で確認できます。

[呼び出し形式]

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  カーソル位置の設定

カーソル位置を指定位置へ移動します。キー入力禁止状態のときはエラー復帰します。

[呼び出し形式]

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関数

SetWaitTime  最大待ち時間の設定

Type関数、Wait関数の最大待ち時間を設定します。未設定の場合のデフォルト値は20秒です。

[呼び出し形式]

SetWaitTime(Second)

[パラメータ]

パラメータ

説明

省略時のデフォルト値

Second

最大待ち時間を秒で指定します。

(1~65535)

省略できません

[リターン値]

関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。

[使用例]

SetWaitTime(3)

[参照]

次の関数で最大待ち時間が使用されます。

Type関数

Wait関数

Sleep  指定時間実行を停止

指定時間だけマクロの実行を一時的に停止します。

[呼び出し形式]

Sleep(Second)

[パラメータ]

パラメータ

説明

省略時のデフォルト値

Second

スリープ時間を秒で指定します。

(1~65535)

省略できません

[リターン値]

関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。

[使用例]

Sleep(3)

Type  キーの入力

キー入力をエミュレーションします。キーボードロック状態の場合はキー入力が可能になるのを待ってから入力を行います。最大待ち時間は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)コードの状態に変更しておく必要があります。

TypeKey  キーの1文字即時入力

1文字分のキー入力をエミュレーションします。キーボードロック状態の場合はエラー復帰します。Type関数と違いキー入力可能になるのを待ちません。

入力キーにはType関数と同様の形式で特殊キーやJEFコードを指定することができますが、1文字分のキーしか指定できません。

特殊キーの記述形式はType関数を参照してください。

[呼び出し形式]

TypeKey(Text)

[パラメータ]

パラメータ

説明

省略時のデフォルト値

Text

入力文字

省略できません

[リターン値]

関数の呼び出しに成功するとTRUEを返します。エラーが発生した場合はFALSEを返します。リターン値がFALSEの場合はGetError関数を使ってエラー番号を調べることができます。

[使用例]

;特殊文字

TypeKey("[RESET]")

;JEFコード入力

TypeKey("[41A1]")

Wait  指定文字列の受信待ち

指定文字列を受信するのを待ちます。この関数はキー入力が可能になってから指定された文字列を受信したかを判定します。最大待ち時間は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()