User manual - DT-930 AP開発支援ライブラリ解説書(2006年9月29日)

30
/* KY_ENT : 実行キー */
/* 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 =(H)memto_l(string+2, 2);
sec =(H)memto_l(string+4, 2);
if(((hour>=0)&&(hour<=23))&&
((min>=0)&&(min<=59)) &&
((sec>=0)&&(sec<=59))) break;
}
}
else break;
}
return(ret);
}
/*********************************************************************/
/* < プログラム名 > */
/* 数値変換 */
/* < 機能概要 > */
/* 指定されたバッファ内のデータに NULL を付加して atol する。 */
/* < 文法 > */
/* W memto_l( void *buf, size_t len ) */
/* < パラメータ > */
/* void *buf : 文字列バッファ */
/* size_t len : 文字列長 */
/* < リターンコード > */
/* 変換後の値。 */
/* ☆日付、時刻入力で使っている内部関数です。 */
/*********************************************************************/