オペレータからの入力を項目群または項目単位に受け取ります。利用者プログラムはレコードデータ項目の内容を参照することにより、オペレータからの入力データを獲得できます。
ディスプレイ機能の入力が完了すると、利用者プログラムはアテンション情報の獲得で入力完了の要因となったアテンション情報を獲得できます。
使用する定義体名を定義体名とレコードデータ領域長の設定、または定義体名の設定で設定した後に、当機能を使用します。
多目的プリンタ機能を利用して、多目的プリンタ装置からの入力をバーコード項目、またはID項目に受け取ります。利用者プログラムはレコードデータ項目の内容を参照することにより、多目的プリンタ装置からの入力データを獲得できます。
プリンタ装置の制御(ps_control_printer)で用紙の給紙を行った直後に、当機能を使用します。
PSINT PSFUNCTION ps_read(
PSFILE psfile,
PSUSHORT mode,
PSPSTR pGroup,
PSPVOID pRecord,
PSPVOID pAttr);
psfile | : | オープン処理で獲得した表示ファイル識別子を指定します。 | ||||
mode | : | 入力の種類を指定します。値とその意味は以下のとおりです。 | ||||
PS_READ_NORMAL | : | 通常入力を行います。 | ||||
PS_READ_CLEAR | : | 全画面消去入力を行います。 | ||||
PS_READ_NOERASE | : | 非消去入力を行います。非消去入力を指定する際には、入力制御方法として以下の値も同時に指定できます。 | ||||
PS_READ_ALARM | : | アラームを鳴らします。 | ||||
PS_READ_CHANGED | : | 変更通知を行います。 | ||||
組み合わせパターンを以下に示します。 | ||||||
PS_READ_NOERASE | ||||||
PS_READ_NOERASE|PS_READ_ALARM | ||||||
PS_READ_NOERASE|PS_READ_CHANGED | ||||||
PS_READ_NOERASE|PS_READ_ALARM|PS_READ_CHANGED | ||||||
プリンタ機能で指定できる値は、PS_READ_NORMALだけです。 | ||||||
pGroup | : | 入力の対象とする項目群名または項目名を指定します。項目群名または項目名には、先頭から最大6文字までのNULLで終わる文字列を指定します。 | ||||
pRecord | : | レコードデータ領域を指すポインタを指定します。 | ||||
pAttr | : | リザーブです。必ず0を指定します。 |
ウィンドウ情報ファイル"DSPFILE"を使って画面をオープンし、オープンした画面に定義体"SAMPLE"を表示させた後に、オペレータからの入力を受け取ります。入力の対象とする項目群には"@ALLF"を指定し、すべての入力項目を対象とします。
PSFILE psfile; SAMPLE samp; PSUSHORT Error; psfile = ps_open("DSPFILE", PS_OPEN_DSP, &Error, 0); ~ レコードデータ領域 data へのデータ設定 ~ ps_set_formatsize(psfile, "SAMPLE", s_SAMPLE); ps_write(psfile, PS_WRITE_NORMAL, "@ALLF", &samp, 0); ps_read(psfile, PS_READ_NOERASE, "@ALLF", &samp, 0); ~ 中略 ~ ps_close(psfile, &Error);
READ ファイル名.
PROCESSING MODE句 | : | 入力の種類を指定します。値とその意味は以下のとおりです。 | ||
空白 | : | 通常入力を行います。 | ||
CL | : | 全画面消去入力を行います。 | ||
NE | : | 非消去入力を行います。 | ||
AL | : | アラームを鳴らして、非消去入力を行います。 | ||
NI | : | 変更通知を行い、非消去入力を行います。 | ||
AI | : | 変更通知を行い、アラームを鳴らして、非消去入力を行います。 | ||
プリンタ機能で指定できる値は、"空白"だけです。 | ||||
GROUP句 | : | 入力の対象とする項目群名または項目名を指定します。 |
定義体SAMPの項目群S001を表示し、オペレータからの入力を受け取ります。入力の対象とする項目群には"@ALLF"を指定し、すべての入力項目を対象とします。
MOVE "SAMP" TO DSP-FORMAT. MOVE " " TO DSP-MODE. MOVE "S001" TO DSP-GROUP. WRITE SAMP. MOVE "@ALLF" TO DSP-GROUP. READ ディスプレイファイル.
FILE STATUS句に通知コードが格納されます。
なお、エラーには入力データエラーも含まれています。以下の通知コードは入力データエラーです。
MEFD_RC_LFLD(47)、 MEFD_RC_ALL(48)、 MEFD_RC_NEC(49)、 MEFD_RC_MINI(4A)、 MEFD_RC_VALID(4B)、 MEFD_RC_LIMIT(4C)、 MEFD_RC_JPN(52)、 MEFD_RC_ANK(53)、 MEFD_RC_NUM(54)、 MEFD_RC_NSIGN(55)、 MEFD_RC_NPOINT(56)、 MEFD_RC_REDUN(57)、 MEFD_RC_SINP(58)