User manual - ソフトウェア解説書ver.1.02(2006年6月15日)

DT-300 ソフトウェア解説書
65
●インターフェース(文字列入力関数 key_string と同じです)
[関数書式]
#include <string.h>
#include "smp_key.h"
ER ercd = key_string3(KEY_INPS *keyenv, UB* string)
[パラメータ]
KEY_INPS *keyenv :動作内容の先頭アドレス
UB *string :入力文字列格納エリアアドレス(入力桁数+1必要)
[リターンパラメータ]
ER ercd :リターンコード
[ストラクト構造]
typede struct st_key_inps{
UB ext; /* リターン条件(OR 指定) */
/*KEY_INT EXT :イベント通知キー押下 */
/*KEY_LB_EXT :LB 発生終了 */
/*KEY_OBR_EXT :バーコード読み込み完了 */
/*KEY_CLR_EXT :CLR キー押下 */
/*KEY_IO_EXT :IO ボックス検出 */
/*KEY_FULL_BEEP :入力領域フルで BEEP (※3) */
/*KEY_FULL_CHR :入力領域フルで処理終了 */
/*KEY_NON_EXT :リターン条件なし */
UB echo; /*エコーバック指定 */
/*ECHO_ON :エコーバックあり */
/*ECHO_OFF :エコーバックなし */
H font_size /*フォントサイズ */
/*LCD_ANK_LIGHT :縮 ANK */
/*LCD_ANK_STANDARD :標 ANK */
H type; /*型指定(OR 指定) */
/*LCD_ATTR_NORMAL :通 */
/*LCD_ATTR_REVERS :反 */
/*LCD_ATTR_WIDTH :強調 */
UH len; /*入力文字数(半角) */
UH column_pos; /*入力桁座標 */
UH line_pos; /*入力行座標 */
UH column_len; /*入力文字位置(半角) */
UH clr_type; /*数値入力用予約領域(※4 */
}KEY_INPS;
[リターンコード]
E_OK :正常終了
E_KEY_INT :イベント通知キー押下検出
E_KEY_LB :LB 発生検出
E_KEY_OBR :バーコード読み込み完了検出
E_KEY_CLR :クリアキー押下検出
E_KEY_FUL :入力領域フル終了
E_KEY_IO :IO ボックス検出
E_PRM :パラメーターエラー (※5)
※3 「入力領域フルで BEEP 音を指定すると BEEP 音は鳴りますが終了はしません。
4 clr_type は数値入力用です。テーブル構造を同一にするために入れてあります。
※5 以下の項目に対してパラメータチェックをしています。チェック項目②、③、⑤は
エコーバックあり設定のときのみチェックしています。
チェック項目 (パラメーターエラーになる場合)
エコーバック指定 (エコーバックあり、なし以外)
フォントサイズ (縮小 ANK、標準 ANK 以外)
型指定 (通常、反転、強調それぞれと、その OR 以外)
入力文字数 (文字数が0)
入力桁、行座標 (画面の範囲外)
⑥ 文字列格納エリアの初期値 NULL が入っていないとき)※6
6 str str[0]∼str[文]に NULL 調
字列がない場合も文字列の先頭に NULL を入れないとエラーになるので注意してください。