;zenkaku.as ;m文字目からn文字取り出す st="壱2参四56七" ;元の文字列 strlen len,st ;全体のバイト数 mes st repeat 8: m=cnt ;m=0〜7 repeat 2,1: n=cnt: p=0 ;n=1〜2 c=m+1: pos 0 mes ""+c+"文字目から"+n+"文字" ;stのm文字目からn文字取り出す if m>0 { ;m文字目の位置を調べる(p) repeat m: if p>=len: break ;m回繰り返す peek d,st,p ;1バイト取り出す ;↓シフトJIS上位バイトなら、シフトJIS下位バイトを読み飛ばす if (d>$7F)&(d<$A0)|(d>$DF): p++ p++ loop } ;オフセットpからn文字の位置を調べる(q) q=p repeat n,1: if q>=len: break ;抜き出す文字数分繰り返し peek d,st,q ;1バイト取り出す ;↓シフトJIS上位バイトなら、シフトJIS下位バイトを読み飛ばす if (d>$7F)&(d<$A0)|(d>$DF): q++ q++ loop strmid t,st,p,q-p ;オフセットpからq-1までを抜き出す ;抜き出すバイト数=(q-1)-(p-1)=q-p pos 168,csry-18: mes "["+t+"]" loop loop stop