abc CASIO DT-930 C Language SDK GUI Version 拡張機能ライブラリ リファレンスマニュアル DT-930 の機能を拡張する API を、リファレンス形 式で説明します。 Ver. 1.
ご注意 ● このソフトウェアおよびマニュアルの、一部または全部を無断で使用、複製することはできません。 ● このソフトウェアおよびマニュアルは、本製品の使用許諾契約書のもとでのみ使用することができま す。 ● このソフトウェアおよびマニュアルを運用した結果の影響については、一切の責任を負いかねますの でご了承ください。 ● このソフトウェアの仕様、およびマニュアルに記載されている事柄は、将来予告なしに変更すること があります。 ● このマニュアルの著作権はカシオ計算機株式会社に帰属します。 ● 本書中に含まれている画面表示は、実際の画面とは若干異なる場合があります。予めご了承ください。 © 2007 カシオ計算機株式会社 Microsoft, MS, ActiveSync, Active Desktop, Outlook, Windows, Windows NT, および Windows ロゴは、米国 Microsoft Corporation の米国およびその他の国における登録商標または商標です。Microsoft 社の製品は、OEM 各社に、Microsoft Corporation の 100%出資子
変更履歴 バージョン 変更日付 0.90 1.
目次 1. 1.1. 1.2. 1.2.1. 1.2.2. 1.2.3. 1.3. 1.3.1. 1.3.2. 1.3.3. 1.3.4. 1.3.5. 1.3.6. 1.4. 1.4.1. 1.4.2. 1.4.3. 1.4.4. 1.4.5. 1.4.6. 1.5. 1.5.1. 1.5.2. 1.5.3. 1.5.4. 1.5.5. 1.5.6. 1.5.7. 1.5.8. 1.5.9. 1.5.10. 1.5.11. 1.5.12. 1.5.13. 1.5.14. 1.5.15. 1.5.16. 1.5.17. 1.5.18. 1.5.19. 1.5.20. 1.5.21. 1.5.22. 1.5.23. 1.5.24.
1.5.25. 1.5.26. 1.6. 1.6.1. 1.6.2. 1.6.3. 1.6.4. 1.6.5. 1.6.6. 1.7. 1.7.1. 1.7.2. 1.7.3. 1.7.4. 1.7.5.
5.3. プリンタコマンド ·········································································································································117 6.1. 送受信切替ライブラリ ·····························································································································118 概要·······························································································································································118 7.1. 7.2. 7.2.1.
1. アプリケーション支援ライブラリ 1.1. 概要 DT-930 のアプリケーションプログラム開発は、DT-930 専用関数と SHC 標準関数(一部使用不可)を使っ て行います。 しかしながら、これらの各関数はデバイスの基本的な制御を司るもので、それをいろいろなパターンで組 み合わせることで開発における自由度が膨らみますが、逆に設計やプログラミングに費やす時間が多くな ってしまいます。 本ライブラリはこの煩雑さを解消するために、1 つの関数で従来の数ステップ分の処理を賄える関数群を 提供します。 提供ファイル DPLIB.H DPLIB.
本ライブラリは、下記の機能を提供しています。 機能名 日付チェック ブロック チェック 入力 通信 ファイル 制御 サービス 処理内容 ライブラリファイル による提供 ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ 妥当性チェック 閏年 西暦/和暦返還 チェックサム計算 CRC 計算 LRC 計算 チェックデジット計算 制御キー入力 脱出条件(文字) 脱出条件(数値) 日付入力 時刻入力 シフトキー制御 マルチドロップ送信 マルチドロップ受信 FLINK(LMWIN)送信 FLINK(LMWIN)受信 Ir 簡易制御関数群 ファイルオープン ファイルクローズ ファイルリード ファイルライト ファイルサイズ取得 レコード数取得 ウェイト デバッグ補助 音制御 XYMODEM 通信 Ir 制御用 XYMODEM 通信 2 リストによる提供 ○ ○ ○ ○ ○ ○ ○ ○
1.2.
1.2.1. ht_CheckDate 日付(西暦 4 桁月 2 桁日 2 桁)の妥当性をチェックします。 日付のチェック範囲は 1866 年 1 月 1 日から 2088 年 12 月 31 日の範囲とします。 ER ht_CheckDate( H year, H month, H day ); パラメータ year 年(西暦 1868~2088) month 月(1~12) day 日(1~31) 戻り値 E_OK E_NG 正常(妥当な日付) 不正な日付 補足 範囲外(1868 年~2088 年以外)か、あるいは存在しない日付を指定すると、不正日付になります。 【SAMPLE】 #include "dplib.
1.2.2. ht_CheckYear 入力年が閏年か否かを判定します。 年のチェック範囲は 1868 年から 2088 年の範囲とします。 ER ht_CheckYear( H year ); パラメータ year 年(西暦1868~2088) 戻り値 E_OK E_NG E_PRM 閏年 通常年 対象範囲外 補足 範囲外(1868 年~2088 年以外)を指定すると、対象範囲外になります。 【SAMPLE】 #include "dplib.
1.2.3.
【SAMPLE】 #include "dplib.
1.3.
1.3.1. ht_Checksum check_data で指定したデータのチェックサム値を求めます。 UH ht_Checksum( unsigned char *check_data, H size ); パラメータ check_data 対象データ size データ長 戻り値 チェックサム値 補足 【SAMPLE】 #include "dplib.
1.3.2. ht_CalcCRC_ANSI check_data で指定したデータの ANSI 規格 CRC 値を求めます。 UH ht_CalcCRC_ANSI( unsigned char *check_data, H size ); パラメータ check_data 対象データ size データ長 戻り値 ANSI 規格 CRC 値 補足 【SAMPLE】 #include "dplib.
1.3.3. ht_CalcCRC_CCITT check_data で指定したデータの CCITT 規格 CRC 値を求めます。 UH ht_CalcCRC_CCITT( unsigned char *check_data, H size ); 【パラメータ】 check_data 対象データ size データ長 戻り値 CCITT 規格 CRC 値 補足 【SAMPLE】 #include "dplib.
1.3.4. ht_CalcCRC_X check_data で指定したデータの XMODEM 用 CRC 値を求めます。 UH ht_CalcCRC_X( unsigned char *check_data, H size ); パラメータ check_data 対象データ size データ長 戻り値 XMODEM 用 CRC 値 補足 【SAMPLE】 #include "dplib.
1.3.5. ht_CalcLRC check_data で指定したデータに含まれるデータの LRC 値を求めます。 UH ht_CalcLRC( unsigned char *check_data, H size ); パラメータ check_data 対象データ size データ長 戻り値 LRC 値 補足 【SAMPLE】 #include "dplib.
1.3.6.
補足 【SAMPLE】 #include "dplib.
1.4.
1.4.1.
1.4.2.
戻り値 押されたキー情報(発生イベント) F1 キー KY_F01 F2 キー KY_F02 F3 キー KY_F03 F4 キー KY_F04 F5 キー KY_F05 F6 キー KY_F06 F7 キー KY_F07 F8 キー KY_F08 実行キー KY_ENT LB 発生 KY_LB バーコード読み込み KY_OBR 異常終了 E_NG 19
1.4.3.
戻り値 押されたキー情報(発生イベント) F1 キー KY_F01 F2 キー KY_F02 F3 キー KY_F03 F4 キー KY_F04 F5 キー KY_F05 F6 キー KY_F06 F7 キー KY_F07 F8 キー KY_F08 実行キー KY_ENT LB 発生 KY_LB バーコード読み込み KY_OBR 異常終了 E_NG 21
1.4.4.
string 入力文字列格納エリアポインタ (格納エリアは最大バイト数+1 の容量が必要) 戻り値 押されたキー情報(発生イベント) ※キーコードについては、ht_FCWait を参照してください。 23
補足 /**********************************************************************/ /* <プログラム名> */ /* 日付入力 */ /* <機能概要> */ /* 日付の入力を行います。 */ /* ・SEIREKI_8 が指定された場合、範囲は 1868 年 01 月 01 から */ /* 2088 年 12 月 31 日です。 */ /* ・SEIREKI_6 が指定された場合で、年が 80 年以上のときは、1900 年代 */ /* としてチェックします。80 年未満の場合は、2000 年代として */ /* チェックします。 */ /* ・入力した日付が正しくない場合、当関数から Exit しません。 */ /* <文法> */ /* ER ht_DateInp( B mode, */ /* ER escape, */ /* H fsize, */ /* H type, */ /* UH clm, */ /* UH line, */ /* UB *string) */ /* <パラメータ> */ /* B mode : 入力モー
/* KY_F01 : F1 キー */ /* KY_F02 : F2 キー */ /* KY_F03 : F3 キー */ /* KY_F04 : F4 キー */ /* KY_F05 : F5 キー */ /* KY_F06 : F6 キー */ /* KY_F07 : F7 キー */ /* KY_F08 : F8 キー */ /* KY_ENT : 実行キー */ /* KY_LB : LB 発生 */ /* KY_OBR : バーコード読込み */ /* E_NG : 異常終了 */ /* E_PRM : パラメータエラー */ /**********************************************************************/ ER ht_DateInp(B mode, ER escape, H fsize, H type, UH clm, UH line, UB *string) { ER ret; UH len; H year,wyear,gengo; H month; H day; ER wescape; ret=0L; wescape=(esca
year =(H)memto_l(string , month=(H)memto_l(string+2, day =(H)memto_l(string+4, if(ht_ConvertYear(year, 4, if(ht_CheckDate(wyear, } } } } else break; } return(ret); } 26 2); 2); 2); &wyear, &gengo)==E_OK){ month, day)==E_OK) break;
1.4.5.
補足 /**********************************************************************/ /* <プログラム名> */ /* 時刻入力 */ /* <機能概要> */ /* 時刻の入力を行います。 */ /* ・時間は 24 時間制でチェックします。 */ /* ・入力した時刻が正しくない場合、当関数から Exit しません。 */ /* <文法> */ /* ER ht_TimeInp( ER escape, */ /* H fsize, */ /* H type, */ /* UH clm, */ /* UH line, */ /* UB *string) */ /* <パラメータ> */ /* UH escape : 脱出条件(以下の条件を OR 論理で複数指定) */ /* KY_F01 : F1 キー */ /* KY_F02 : F2 キー */ /* KY_F03 : F3 キー */ /* KY_F04 : F4 キー */ /* KY_F05 : F5 キー */ /* KY_F06 : F6 キー */ /* KY_F07 :
/* KY_LB : LB 発生 */ /* KY_OBR : バーコード読込み */ /* E_NG : 異常終了 */ /* E_PRM : パラメータエラー */ /**********************************************************************/ ER ht_TimeInp( ER escape, H fsize, H type, UH clm, UH line, UB *string ) { ER ret; UH len; H hour; H min; H sec; ER wescape; ret=0L; len=6; wescape=(escape & KY_OBR_CANCEL); /* バーコードを使用させないため */ for(;;){ ret=ht_NumInp(wescape, fsize, type, len, clm, line, string); if(ret==KY_ENT){ if(strlen((const char *)string)==6){ hour=(H)memto_l(string , 2); min =(
wk[len] = 0x00; return( atol((char *) wk ) ); } 30
1.4.6.
1.5.
1.5.1. ht_MLTsend マルチドロッププロトコルによる送信を行います。 ER ht_MLTsend( H UB DAT_COM_STR B H H ); com_no, connectMode, *param fnam_tbl[12][], *s_file, *phase パラメータ com_no~*param のパラメータは cu_open と全くおなじです。 詳細は「デバイス制御ライブラリ リファレンスマニュアル 通信ユーティリティ制御」を参照してください。 fnum_tbl[12][] 送信ファイル名テーブル(最終は先頭が¥0) 例) fnum_tbl[12][]={ "SHOHIN□□MST", /* SHOHIN.MST */ "KOKYAKU□MST", /* KOKYAKU.MST */ "TORIHIKITRN", /* TORIHIKI.
1.5.2.
補足 /**********************************************************************/ /* <プログラム名> */ /* ホスト送信 */ /* <機能概要> */ /* パソコンに対して FLINK プロトコルにてファイルを送信する。 */ /* <文法> */ /* ER ht_MLTsend(H com_no, H irSpeed, CU_RSPRM *param, */ /* B fnam_tbl[12][], B *dir, */ /* H *s_file, H *phase); */ /* <パラメータ> */ /* H com_no : COM 番号 */ /* COM0,COM1 */ /* H irSpeed : 赤外通信最大速度 */ /* CU_RSPRM *param : 通信パラメータデータのポインタ */ /* typedef struct { */ /* W speed; 転送速度 UB */ /* W length; データ長 */ /* W parity; パリティビット */ /* W stop_bit; ス
} if( fileCnt == 0){ return(E_PRM); } graphSet.graphMode graphSet.graphPos graphSet.graphCol graphSet.graphName graphSet.
/**********************************************************************/ /* <プログラム名> */ /* ホスト受信 */ /* <機能概要> */ /* パソコンより FLINK プロトコルにてファイルを受信する。 */ /* <文法> */ /* ER ht_MLTrecv(H com_no, H irSpeed, CU_RSPRM *param, B *dir, */ /* H *r_file, H *phase); */ /* <パラメータ> */ /* H com_no :COM 番号 */ /* COM0,COM1 */ /* H irSpeed :赤外通信最大速度 */ /* CU_RSPRM *param :通信パラメータデータのポインタ */ /* typedef struct { */ /* W speed; 転送速度 UB */ /* W length; データ長 */ /* W parity; パリティビット */ /* W stop_bit; ストップビット */ /* } CU_RSPRM; */ /* B
graphSet.graphMode graphSet.graphPos graphSet.graphCol graphSet.graphName graphSet.
1.5.3.
1.5.4.
1.5.5.
busy_ch XOFF コード(受信不可時のコード) nonbusy_ch XON コード(受信可能時のコード) buff 受信バッファアドレス buf_l 受信バッファレングス (0の時 BIOS 内部の 16 バイトエリアを受信バッファとして使用します) tim_out typedef struct { H cs; :CS タイムアウト監視値(0~32767(×7.8ms)) H dr; :DR タイムアウト監視値(0~32767(×7.8ms)) H cd; :CD タイムアウト監視値(0~32767(×7.
1.5.6.
1.5.7.
COM ステータス 15 14 13 12 11 10 9 0 0 0 8 7 6 5 0 0 0 4 3 45 2 1 0 STS_RD 1:受信データあり 0:受信データなし CI信号 1:OFF 0:ON CD信号 1:OFF 0:ON CS信号 1:OFF 0:ON DR信号 1:OFF 0:ON STS_PRI 1:パリティエラー 0エラーなし STS_OVR 1:オーバーランエラー 0:エラーなし STS_FRE 1:フレミングエラー 0:エラーなし STS_FUL 1:バッファフルエラー 0:エラーなし STS_BRK 1:ブレーク検出 0:ブレーク未検出
1.5.8.
1.5.9.
1.5.10.
1.5.11.
1.5.12. Ir_c_tmdin 受信バッファに格納したデータを 1 文字読出します。 受信データが存在しない場合は受信タイムアウト監視値の間受信データ待ちとなります。 タイムアウト監視値が 0 の場合は、タイムアウト監視を行いません。 ER Ir_c_tmdin( H com_no, B *buffer, H rcv_time ); パラメータ com_no 通信ポート COM0 カシオ IR インタフェース buffer 送信バッファアドレス rcv_time 受信タイムアウト監視値 0~32767 (×7.
1.5.13.
1.5.14.
1.5.15.
1.5.16.
1.5.17.
1.5.18. Ir_c_timer CS、DR、CD 信号のタイムアウト値を設定します。 ER Ir_c_timer( H com_no, H cs_time, H dr_time, H cd_time ); パラメータ com_no 通信ポート COM0 カシオ IR インタフェース cs_time CS タイムアウト値(0~32767)×7.8ms dr_time CS タイムアウト値(0~32767)×7.8ms cs_time CS タイムアウト値(0~32767)×7.
1.5.19.
1.5.20.
1.5.21.
1.5.22.
1.5.23.
1.5.24.
1.5.25.
1.5.26.
1.6.
ファイル構造体配列テーブル 次ページ以降のファイル制御関数で使用するファイル管理テーブルの構造は以下の通りです。 ファイル管理テーブルの名称は、固定になっていますので、ファイル制御関数を使用する際は、 必ずこの名前にてテーブルをグローバル定義する様にしてください。 struct ht_filetbl { char fname[14]; /* ファイル名称 H rsize; /* 1 レコードのバイト値 FILE *fp; /* ストリーム保存(ファイル制御関数で使用) }; typedef struct ht_filetbl FILE_TBL; 例) FILE_TBL filetbl[]={ { "shohin.mst", { "kokyaku.mst", { "tana.
1.6.1.
1.6.2.
1.6.3.
1.6.4.
1.6.5.
1.6.6.
1.7.
1.7.1.
1.7.2.
1.7.3.
1.7.4.
戻り値 xy_modem()の戻り値は終了情報を表します。 詳細は下記の通りです。 正常終了 0 強制終了(ファンクションキー押下による中止) 1 パラメータエラー 2 入力ファイルなし 6 出力ファイル作成エラー 7 通信エラー 9 電圧低下による中止(LB通知を行った場合のみ) 11 2 重オープン 32 応答なし 33 回線接続不可 34 話し中 35 ホストからキャンセル 36 回線未オープン 37 モデムエラー 38 内部エラー 50 タイムアウト 51 外部機器エラー 52 上記戻り値の 1(強制終了)は、アプリケーションでキー通知モードの設定(key_fnc_mode 関数にて 設定)を行ったときのみ発生します。 発生時には、グローバル変数 xy_error に通知フラグをセットし、xy_modem()内で通知フラグを一度ク リアします。 上記戻り値の 11(電圧低下)は、アプリケーションで LB 通知モードの設定(pwr_inhabit 関数にて設 定)を行ったときのみ発生します。 発生時には、グローバル変数 xy_error に通知フラグをセットし、xy_modem()内で通知フラグを一度ク
・xy_modem の通信モードの詳細( はデフォルト値) 機能 指定なし XY_SEND XY_RECEIVE :送受信を行わない :送信 :受信 モデム操作 指定なし XY_MODEM :モデム操作を行わない :発(着)信を行う プロトコル XY_YMODEM XY_XMODEM :YMODEM :XMODEM エラー検出 XY_CRC XY_CHKSUM :CRC :チェックサム パケット長 XY_LONG XY_SHORT :ロング(1024バイト) :ショート(128バイト) ポート XY_0 XY_1 :赤外線インターフェース(COM0) :シリアルインターフェース(COM1) ‘K’ 送信 XY_KOFF XY_KON :'K' を送信しない :‘K’ を送信する ボーレート XY_1200 XY_2400 XY_4800 XY_9600 XY_19200 XY_38400 XY_57600 XY_115200 :1200bps :2400bps :4800bps :9600bps :19200bps :38400bps :57600bps :1
※ 通信モード指定時の注意点 • 機能=XY_SEND の場合 通信モードのプロトコル、パケット長を参照します。 YMODEM の場合、file_list には複数の指定が可能です。 • 機能=XY_RECEIVE の場合 通信モードのプロトコル、エラー検出を参照します。 XMODEM の場合、file_list の指定が必要です。 YMODEM の場合、'K'送信の指定が必要です。 • モデム操作=XY_MODEM の場合 電話番号の指定がある場合、発信を行います(at の指定が可能)。 電話番号の指定がない場合、着信を行います(at の指定が可能)。 ※ 通信モードにおける機能、モデム操作、ポート操作の指定における xy_modem()の処理内容 機能 指定なし モデム操作 指定なし XY_MODEM XY_SEND 指定なし XY_MODEM XY_RECEIVE 指定なし XY_MODEM XY_232ON XY_232OFF xy_modem() の処理内容 パラメータエラー パラメータエラー XY_232ON XY_232OFF XY_232ON XY_232OFF XY_232O
※ ファイル名リスト ファイル名は必ずフルパスで格納してください。 例) A ドライブのルートディレクトリにある TEST.C というファイルは<ドライブ名+ディレクトリ+ファイル名 >という形でセットしてください。 memcpy(&(file_list[0]), "A:¥¥TEST.C”, 10); また、最終テーブルの先頭には NULL コード('¥0')をセットしてください。 A:¥¥TEST.C B:¥¥TEST.
1.7.5.
2. ビットマップ表示ライブラリ 2.1. 概要 本ライブラリは、BMP ファイルを指定した座標に表示する機能を提供します。 提供ファイル DTBMP.H DTBMP.
2.2. 関数一覧 本ライブラリは下記の機能を提供します。 機能名 bmp_iDisplayBmpImage bmp_iDisplayBmpData 説明 BMP 形式ファイル指定による表示 BMP 形式データ指定による表示 提供ファイル DPLIB.H DPLIB.
2.2.1.
2.2.2.
備考 表示できる画像は白黒のみ(白黒以外は BMP_INVALIDBITCNT を返します)です。 画像データの圧縮形式は扱えません(圧縮形式のときは BMP_COMPRESSED を返します)。 87
3. Bluetooth プリンタライブラリ 3.1. 概要 本ライブラリは、Bluetooth プリンタを操作するためのアプリケーションインターフェースに関するものです。 通信インターフェースは Bluetooth です。 ※ 通信制御に関しては、Bluetooth ライブラリを使用します。 ※ 使用するプリンタに対するコマンドパケット/ステータスパケット等の詳細仕様に関しては、各々のプリ ンタの解説書をご覧ください。 提供ファイル PRN_BT.H PRN_BT.
3.2. 機能 3.2.1.
3.2.2. 通信のオープン・クローズ オープン Bluetooth 接続処理の中で、BT_Start()と BT_Open()に時間がかかるため、関数の構成としてこれら 2 つ の関数は、分けて実行するようにしています。オープン関数の中には、BT_Open()が含まれています。従 って、オープン関数を呼ぶ前には、必ず BT_Start()(最短 1.
3.2.4.
3.3.
3.3.1.
prn_BTinf_close 3.3.2.
3.3.3.
3.3.4.
4. 高速ファイルサーチライブラリ 4.1. 概要 本高速ファイル検索ライブラリは、HASH 法を使用した高速ファイル検索機能セットです。 HASH 法とは、キーデータを数値に変換した特別なインデックスファイルを用い、データレコード検索時間 を最小限にする技法です。 本ライブラリを用いることにより、特に大容量ファイルを扱う場合は、従来の逐次検索に比べ、高速にファ イルを検索することができます。 提供ファイル HASHLIB.H HASHLIB.
4.1.1. ファイル構造 l W CR、LF KEY DATA V : abcdefgh data CR、LF L : : : : I : : : : N : : : : : : : : : : : : : : : : : : : V W L 8bytes 2bytes INDEX FILE(*.idx) l L V W N ※ ※ ※ ※ ※ DATA FILE :キーフィールドの長さ (Bytes). :データレコード長 (KEY+DATA) :総データレコード数 :総インデックス数 インデックスの衝突を避けるために、最低でも W≧1.
4.2.
4.2.1. iHashAssign データファイルからインデックスファイルを作成します。 int iHashAssign ( FILE *DataFilePointer, FILE *IndexFilePointer, long ll, long lV, long lL, long lW1 ) パラメータ DataFilePointer fopen 関数によりオープンしたデータファイルポインタを指定します。 本関数を使用する前に、データファイルは下記のようにオープンしていなければなりません。 #include FILE *DataFilePointer; DataFilePointer = fopen (char* file,char* mode); file : データファイル名 mode : ファイルアクセスモード (“rb”) IndexFilePointer fopen 関数によりオープンしたインデックスファイルポインタ。 本関数を使用する前に、データファイルは下記のようにオープンしていなければなりません。 #include
戻り値 下記の値を返します。 0 (HASH_OPERATIONOK) 102 (DATA_NOFILEREAD) 105 (DATA_NOFILEOPEN) 111 (DATA_NOFILESEEK) 202 (IDX_NOFILEREAD) 203 (IDX_NOFILEWRITE) 205 (IDX_NOFILEOPEN) 211 (IDX_NOFILESEEK) 320 (HASH_NOMEMORY) 400 (PARAM_INVALID) 正常終了 データファイルリードエラー データファイル未オープン データファイルシークエラー インデックスファイルリードエラー インデックスファイルライトエラー インデックスファイル未オープン インデックスファイルシークエラー 実行メモリ不足 パラメータエラー 説明 本関数は、データファイルからインデックスファイルを作成します。 101
4.2.2. iHashRead 指定した入力キーデータに対応するデータを検索します。 int iHashRead ( char *pszKey, FILE *DataFilePointer, FILE *IndexFilePointer, char *pszBuff ) パラメータ pszKey 検索するキーデータのポインタを指定します。 キーデータの末尾には、NULL 文字を入れてください。 キーデータ長が、データファイル内の実際のキーデータ長と一致しない場合は、エラーとなります。 DataFilePointer fopen 関数によりオープンしたデータファイルポインタを指定します。 本関数を使用する前に、データファイルは下記のようにオープンしていなければなりません。 #include
戻り値 下記の値を返します。 0 (HASH_OPERATIONOK) 102 (DATA_NOFILEREAD) 105 (DATA_NOFILEOPEN) 111 (DATA_NOFILESEEK) 202 (IDX_NOFILEREAD) 205 (IDX_NOFILEOPEN) 211 (IDX_NOFILESEEK) 320 (HASH_NOMEMORY) 330 (HASH_KEYNOTFOUND) 331 (HASH_INVALIDKEY) 332 (HASH_KEYNULL) 正常終了 データファイルリードエラー データファイル未オープン データファイルシークエラー インデックスファイルリードエラー インデックスファイル未オープン インデックスファイルシークエラー 実行メモリ不足 該当インデックスなし 不正キー入力 (キー長不一致) キーポインタ不正 (NULL) 説明 本関数は、指定した入力キーデータに対応するデータを検索します。 103
4.2.3. iHashWrite 指定キーのデータレコードを書き換えます。 int iHashWrite ( char *pszKey, FILE *DataFilePointer, FILE *IndexFilePointer, char *pszBuff ) パラメータ pszKey 変更するデータのキーデータポインタを指定します。 キーデータの末尾には、NULL 文字を入れてください。 キーデータ長が、データファイル内の実際のキーデータ長と一致しない場合は、エラーとなります。 DataFilePointer fopen 関数によりオープンしたデータファイルポインタを指定します。 本関数を使用する前に、データファイルは下記のようにオープンしていなければなりません。 #include
戻り値 下記の値を返します。 0 (HASH_OPERATIONOK) 102 (DATA_NOFILEREAD) 103 (DATA_NOFILEWRITE) 105 (DATA_NOFILEOPEN) 111 (DATA_NOFILESEEK) 202 (IDX_NOFILEREAD) 205 (IDX_NOFILEOPEN) 211 (IDX_NOFILESEEK) 320 (HASH_NOMEMORY) 330 (HASH_KEYNOTFOUND) 331 (HASH_INVALIDKEY) 332 (HASH_KEYNULL) 333 (HASH_INVALIDDATA) 334 (HASH_DATANULL) 正常終了 データファイルリードエラー データファイルライトエラー データファイル未オープン データファイルシークエラー インデックスファイルリードエラー インデックスファイル未オープン インデックスファイルシークエラー 実行メモリ不足 該当インデックスなし 不正キー入力 (キー長不一致) キーポインタ不正 (NULL) 不正データ入力 (データ長不一致) データポインタ不正 (NULL)
4.2.4. iHashAdd データファイルに新しいレコード(キー+データ)を追加します。 int iHashAdd ( char *pszKey, FILE *DataFilePointer, FILE *IndexFilePointer, char *pszAppendData ) パラメータ pszKey 追加するキーデータのポインタを指定します。 キーデータの末尾には、NULL 文字を入れてください。 キーデータ長が、データファイル内の実際のキーデータ長と一致しない場合は、エラーとなります。 DataFilePointer fopen 関数によりオープンしたデータファイルポインタを指定します。 本関数を使用する前に、データファイルは下記のようにオープンしていなければなりません。 #include
戻り値 下記の値を返します。 0 (HASH_OPERATIONOK) 103 (DATA_NOFILEWRITE) 104 (DATA_FILEOVERFLOW) 105 (DATA_NOFILEOPEN) 111 (DATA_NOFILESEEK) 202 (IDX_NOFILEREAD) 203 (IDX_NOFILEWRITE) 205 (IDX_NOFILEOPEN) 211 (IDX_NOFILESEEK) 320 (HASH_NOMEMORY) 330 (HASH_KEYNOTFOUND) 331 (HASH_INVALIDKEY) 332 (HASH_KEYNULL) 333 (HASH_INVALIDDATA) 334 (HASH_DATANULL) 正常終了 データファイルライトエラー データファイルフル データファイル未オープン データファイルシークエラー インデックスファイルリードエラー インデックスファイルライトエラー インデックスファイル未オープン インデックスファイルシークエラー 実行メモリ不足 該当インデックスなし 不正キー入力 (キー長不一致) キーポインタ不正 (NULL
5. TEC IrDA プリンタライブラリ 5.1. 概要 本ライブラリは、ポータブルプリンタを操作するための機能を提供します。 本ライブラリは、赤外線通信を対象としています。 赤外線インタフェースでは、プリンタのすべてのコマンドの使用が可能になります。 インタフェースの使用手順は、C 言語の関数群としてアプリケーションに提供します。 通信部は、通信 BIOS を使用します。 提供ファイル BZIIDEF.H BZIX9.
5.2.
5.2.1.
5.2.2.
5.2.3.
5.2.4.
備考 温度による印字速度の変化は下記の規定です(電池電圧=8.4V、ヘッド抵抗値=170Ωの場合)。 印字ヘッド温度 -5~0℃ 0~20℃ 20℃~ 印字速度 0.6~0.8 インチ/秒 0.8~2.0 インチ/秒 2.
5.2.5.
備考 下表に受信したステータスのプリンタ状態を示します。 状態コード 00H 01H 02H 03H 04H 05H 06H 07H プリンタ状態 通常状態(アイドル中) カバーオープン状態 コマンドシンタックスエラー フィードジャムー ラベルエンド カバーオープンエラー サマールヘッド切断エラー サマールヘッド異常高温エラー 08H 09H 0AH 0BH フラッシュ ROM 書き込みエラー フラッシュ ROM 消去 ローバッテリー(印字不可状態) 動作中 116 対応 印刷できます プリンタのカバーを閉めてください コマンドの設定に誤りがあります コマンドの設定に誤りがあります コマンド送信の順序に矛盾があります プリンタカバーを閉めてください プリンタの故障で修理が必要です ヘッド温度が冷めるのを待ってから再 印字してください プリンタの故障で修理が必要です プリンタの故障で修理が必要です バッテリーの充電が必要です 動作中です
5.3.
6. 送受信切替ライブラリ 6.1. 概要 本機で提供している通信関数で、カシオ IR ポートを使用して通信する場合は、送信/受信のタイミング で、送受信方向の切替えが必要です。 オープン直後は受信可能状態(送信不可)となっているため、送信時には、送信可能状態に切り替える 必要があります。 本オブジェクトは、上記の「送受信切替え」を自動的に行うものであり、これにより、従来機(DT-700)で動 作しているアプリケーションの制御をそのまま使用することが可能となります。 機能 c_out/c_dout 関数に以下の機能を付加します • 送信関数を実行すると、自動的に送信可能状態にします。 • 送信終了時に、自動的に受信状態に戻します。 ※ 本機能は「カシオ IR ポート:COM0」に対応しています。COM0 以外のポートは、従来機同等で「全二 重(送受信可能状態)」で動作します。 既に提供している関数「c_out/c_dout」をそのまま使用可能であり、インタフェース/リターン情報共に、 上記関数と同等のものです。 提供ファイル COM_APLM.H COM_APLM.
7. IOBOX 検出切替ライブラリ 7.1.
7.2.
7.2.1.
カシオ計算機お問い合わせ窓口 製品に関する最新情報 ●製品サポートサイト(カシオペア・ハンディターミナル) http://casio.