;=============================================================== ; \t/\n/0x7Fフィルターモジュール ;=============================================================== #module "_wf_filter" ; \t/\n/0x7Fフィルター ;--------------------------------------------------------------- ;a="" : b="" ;mesbox a,200,40 ;button gosub "",*lb ;stop ;*lb ; b=wf_filter(a) ; if stat { ; a=b ; objprm 0,a ; } ; title ""+stat ; return ;--------------------------------------------------------------- #defcfunc wf_filter str aa ; 新関数「wf_filter」を生成 ;【パラメータ】 sdim a,256 : a=aa ;【返し値】 ;a ;【レスポンス】 mref stt,64 ; stat 0 : \t/\n/0x7Fが含まれない ; +1 : \t/\nが含まれる ; +2 : 0x7Fが含まれる rt=0 newcom oReg,"VBScript.RegExp" oReg("Pattern")=" |\n" if oReg("Test", a) { rt+=1 a=oReg("Replace", a, "") } chr_7F="" : poke chr_7F,0,127 ; 16進0x7F 10進127 delcom oReg if instr(a,0,chr_7F) != -1 { rt+=2 sdim b,256 : cnt2=0 : cnt3=0 repeat strlen(a) v=peek(a,cnt) if v == 0 : break if v == 127 { cnt3++ }else{ poke b,cnt2,v cnt2++ } loop if cnt3 { a=b } } stt=rt return a #global