User manual - 拡張機能ライブラリ リファレンスマニュアルver.1.00(2008年5月26日)

29
/* 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 : 文字列長 */
/* <リターンコード> */
/* 変換後の値 */
/* 日付、時刻入力で使っている内部関数です。 */
/*********************************************************************/
W memto_l( void *buf , size_t len )
{
UB wk[16];
memcpy( wk , buf , len );