#uselib "Srexhsp.dll" #func active active 2 #func dragmode dragmode 2 #func getsysfol getsysfol 3 #func menuadd menuadd 6 #func menuset menuset 2 #func menuchk menuchk 0 #func menuopt menuopt 0 #func menudsp menudsp 2 #func toolcmd toolcmd 0 #include "srdandd.as" dir=curdir+"\\dos" str savefol:getsysfol savefol,16 title "HTMLスリム" ;width 140,100 menuset 1 menuadd "変換する (&O)",5000 menuadd "終了 (&X)",5005 menuset 2 menuadd "半角スペースをカット (&S)",5101 menuadd "Tabをカット (&T)",5102 menuadd "コメント文をカット (&C)",5103 menuadd "改行数を削減 (&R)",5104 menuadd "",,$800 menuadd "常に上書き保存する (&W)",5120 menuset:menuadd "ファイル(&F)",1,$10 menuadd "オプション(&O)",2,$10:menudsp gsel 0,1:wait 1 chdir dir:config="0":lf="\n":exist "config.ini" if strsize!7 {if strsize<0 {bcopy "NowCutting.exe","config.ini"} bsave "config.ini",config,1:bsave "config.ini",lf,2,1:config="7":bsave "config.ini",config,1,3 bsave "config.ini",lf,2,4:config="8":bsave "config.ini",config,1,6:wait 1 menuchk 2,0,1 } else { bload "config.ini",config,1,0 if config="0" {menuchk 2,0,1} if config="1" {menuchk 2,1,1} if config="2" {menuchk 2,0,1:menuchk 2,1,1} bload "config.ini",config,1,3 if config="4" {menuchk 2,2,1} if config="5" {menuchk 2,3,1} if config="6" {menuchk 2,2,1:menuchk 2,3,1} bload "config.ini",config,1,6 if config="9" {menuchk 2,5,1} } ;0 スペース ;1 タブ ;2 スペース+タブ ;3 なし ;4 コメント ;5 改行 ;6 コメント+改行 ;7 なし ;8 上書きOFF ;9 上書きON sdim buf,32*1024:buf="" mod_dd_accept buf,ddacpt key=0:eflag="9":flag="" *main wait 2 toolcmd:q=stat:if q!0:goto *menu_cmd if ddacpt!=0:goto *dd stick key,64,1 if key=64 { getkey key,79 if key=1 {goto *open} getkey key,80 if key=1 {goto *opt} getkey key,88 if key=1 {goto *owari} } goto *main *menu_cmd if q=5000:goto *open if (q>5100)&(q<5130):goto *opt if q=5005:goto *owari goto *main *dd active if ddacpt.0>1 {dialog "ファイルは一つにしてください",1:ddacpt=0:goto *main} ddacpt=0 strlen q,buf:q-=2:strmid name,buf,0,q ;末尾に\nがついているので外す goto *open2 *open chdir savefol:dialog "htm;html;txt",16,"HTMLファイル" if stat=0 {ddacpt=0:goto *main} name=refstr *open2 color 0,0,0:boxf 0,0,140,100:wait 1 chdir dir bload "config.ini",config,1,0 if config!"3" { exist "abcx0_" if strsize>0 {delete "abcx0_"} bcopy name,"abcx0_" } else { exist "abcx1_" if strsize>0 {delete "abcx1_"} bcopy name,"abcx1_" } wait 1:bload "config.ini",config,1,6 exist "eflag.ini" if strsize>0:delete "eflag.ini" bcopy "config.ini","eflag.ini":bsave "eflag.ini",eflag,1,0 flag="9":wait 5 exec "NowCutting.exe",2 wait 3 if config="8" {chdir savefol:gsel 0,2:dialog "html",17:key=stat} else {key=1} chdir dir:repeat:wait 30:bload "eflag.ini",flag,1,0 if flag!"9":break loop if key=1 {bload "config.ini",flag,1,3 if flag="7" {bcopy "abcx1_","abcx2_"} if config="8" {bcopy "abcx2_",refstr} else {delete name:chdir dir:wait 1:bcopy "abcx2_",name} ; if config="8" {bcopy "abcx2_",refstr} else {bcopy "abcx2_",name:wait 1:delete "abcx2_"} delete "abcx2_" } wait 2 exist "abcx0_" if strsize>0:delete "abcx0_" wait 1:delete "abcx1_":delete "eflag.ini":wait 3 color 255,255,255:boxf 0,0,140,100:wait 1 goto *main *opt chdir dir if q=5101 {bload "config.ini",config,1,0 if config="0" {bload "config.ini",config,1,3 if config="7" {dialog "カットするものがなくなってしまいます",1:goto *main} config="3":bsave "config.ini",config,1,0:wait 1:menuchk 2,0,0:goto *main } if config="1" {config="2":bsave "config.ini",config,1,0:wait 1:menuchk 2,0,1:goto *main} if config="2" {config="1":bsave "config.ini",config,1,0:wait 1:menuchk 2,0,0} if config="3" {config="0":bsave "config.ini",config,1,0:wait 1:menuchk 2,0,1} } if q=5102 {bload "config.ini",config,1,0 if config="0" {config="2":bsave "config.ini",config,1,0:wait 1:menuchk 2,1,1:goto *main} if config="1" {bload "config.ini",config,1,3 if config="7" {dialog "カットするものがなくなってしまいます",1:goto *main} config="3":bsave "config.ini",config,1,0:wait 1:menuchk 2,1,0:goto *main } if config="2" {config="0":bsave "config.ini",config,1,0:wait 1:menuchk 2,1,0} if config="3" {config="1":bsave "config.ini",config,1,0:wait 1:menuchk 2,1,1} } if q=5103 {bload "config.ini",config,1,3 if config="4" {bload "config.ini",config,1,0 if config="3" {dialog "カットするものがなくなってしまいます",1:goto *main} config="7":bsave "config.ini",config,1,3:wait 1:menuchk 2,2,0:goto *main } if config="5" {config="6":bsave "config.ini",config,1,3:wait 1:menuchk 2,2,1:goto *main} if config="6" {config="5":bsave "config.ini",config,1,3:wait 1:menuchk 2,2,0} if config="7" {config="4":bsave "config.ini",config,1,3:wait 1:menuchk 2,2,1} } if q=5104 {bload "config.ini",config,1,3 if config="4" {config="6":bsave "config.ini",config,1,3:wait 1:menuchk 2,3,1:goto *main} if config="5" {bload "config.ini",config,1,0 if config="3" {dialog "カットするものがなくなってしまいます",1:goto *main} config="7":bsave "config.ini",config,1,3:wait 1:menuchk 2,3,0:goto *main } if config="6" {config="4":bsave "config.ini",config,1,3:wait 1:menuchk 2,3,0} if config="7" {config="5":bsave "config.ini",config,1,3:wait 1:menuchk 2,3,1} } if q=5120 {bload "config.ini",config,1,6 if config="8" {config="9"::menuchk 2,5,1} else {config="8":menuchk 2,5,0} bsave "config.ini",config,1,6:wait 1 } wait 1 goto *main *owari end