Split関数
久しぶりに本家掲示板で回答してみた。
Split関数ねえ…こんな感じでどうだろう。
#module #defcfunc split str cont,int cut ; cont:splitしたい文字列、cut:区切り文字コード source=cont ; getstrのp2は変数限定なので、変数に入れておく content="" ; 戻り値バッファ 初期化 tpos=0 ; 検索開始位置 初期化 repeat getstr tmp1,source,tpos,cut if strsize=0 :break ; 終端なら抜ける tpos+strsize ; strsizeは次の検索位置までの増分として利用する content+=tmp1+"\n" ; メモリーノートパッド形式でバッファに連結 loop return content #global
呼び出し上の注意は、区切り文字は文字コードで受け渡されるので、コードの数値で与えるか
下の's'のようにシングルクォーテーションで文字を括って与える。
table=split("aasaa,vv#vv,dddsd,gg#ggs,qq#qq,ggsgg##",'s') notesel table repeat notemax noteget tmp,cnt mes strf("%3d ",cnt)+tmp loop stop