//--------------------------------------------------------------------------- // midstr2 : 文字列の指定開始位置から指定した文字数だけを取得する。 // (2バイト文字も1文字と数える) // [Usage] : // call midstr2 $$in_str, ##start, ##num; // $$out_str = $$return; // // $$in_str : 文字列 // ##start : 開始位置(左端を 0 とする) // ##num : 指定文字数 // $$out_str : 取得された文字列 // midstr2: $$str = ""; ##strlen = strlen( $$1 ); ##i = 0; ##j = 0; while( ##i < ##strlen ){ if( ##j >= ##2 ) break; if( ( ascii( midstr( $$1, ##i, 2 ) ) & 0xff00 ) != 0 ){ //---- 2バイト文字 ----// ##i = ##i + 2; } else { ##i = ##i + 1; } ##j = ##j + 1; } ##j = 0; while( ##i < ##strlen ){ if( ##j >= ##3 ) break; $$wk = midstr( $$1, ##i, 2 ); if( ( ascii( $$wk ) & 0xff00 ) != 0 ){ //---- 2バイト文字 ----// ##i = ##i + 2; } else { $$wk = midstr( $$1, ##i, 1 ); ##i = ##i + 1; } $$str = $$str + $$wk; ##j = ##j + 1; } return $$str; //---------------------------------------------------------------------------