HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2016
0204
Y_repeat(旧y.tack)ちょっとしたツールを投稿するスレ2解決


Y_repeat(旧y.tack)

リンク

2016/2/4(Thu) 03:07:48|NO.74441

ちょっとしたソースコードを投稿するスレ
http://hsp.tv/play/pforum.php?mode=all&num=72960
のちょとしたツール版ってことで

ルールとお願いもこちらのスレと同じかんじで
著作権は表記しないとパブリックドメイン扱いになりますよ的な



この記事に返信する


Y_repeat(旧y.tack)

リンク

2016/2/4(Thu) 03:09:35|NO.74442

写経用にゆれを減らすバッチファイルですw
noteloadとnotesaveのFILE名を書き換えてお使いくださいw
; 先頭のスペースを(あれば)取り除く
の部分は普段はいらなそう

sdim _4note,65000 notesel _4note noteload "search_any_comment.hsp" ; 先頭のスペースを(あれば)取り除く ; wiki投稿用につけて、大分そのままw repeat notemax tmp="" noteget tmp,cnt tmp=strtrim(tmp,1,' ') noteadd tmp,cnt,1 loop ; 行の終わりに\tがあれば取り除く ; \tしかない行とか(オートインデントでついたとかw) ; そういう行の処理も兼ねて repeat notemax tmp="" noteget tmp,cnt tmp=strtrim(tmp,2,'\t') noteadd tmp,cnt,1 loop ; タブをスペース*2に置き換え タブなしインデントが楽w ; タブかスペースか判断が難しいので インデントはスペースで統一 strrep _4note,"\t"," " ; インデントがスペース*2だと行頭に;があると崩れるので strrep _4note,"; ","; " notesave "search_any_comment.hsp"



Y_repeat(旧y.tack)

リンク

2016/2/4(Thu) 03:13:12|NO.74443

文字列の各行の末尾になんかを追加するTOOL

// 操作前文字列用mesbox用 sdim s,60000 // 操作後文字列用mesbox用 sdim t,60000 // ノートパッド用 sdim u,60000 title "add LR" // 画面初期化 f_skip_label=0 screen 0,480,600 mes "後ろに 文字列 追加の前" // sが中身の操作前文字列用mesbox mesbox s,480,200,5 // このbuttonを押すと[l][r]を行末に追加する objsize 100,24 pos 0,230 button "[BR]追加 実行",*do_add_br pos 100,230 button "[l][r]追加 実行",*do_add_lr pos 200,230 objsize 150,24 button "指定文字列 追加 実行",*do_add_hoge v4input="" input v4input,200,30 ID4input=stat objsize 100,24 // このチェックBOXをチェックすると*で始まる行には[l][r]を行末に追加しない pos 0,260 chkbox "ラベル無視",f_skip_label mes "後ろに 文字列 追加の後" // tが中身の操作後文字列用mesbox mesbox t,480,320,5 stop // 指定文字列を行末に追加するサブルーチン *do_add_hoge sdim tmp,2000 // 操作前mesboxの中身の入ったsをuにコピーして u=s // uをノートパッド命令の対象にする notesel u // 文字列の行数繰り返すのでnotemax回繰り返す repeat notemax // チェックBOXをチェックしていたら if f_skip_label==1{ noteget tmp,cnt // ノートパッドから一文字取り出して tmp_2=strmid(tmp,0,1) // その文字が*でなければ[BR]を行末に追加 if tmp_2!="*"{ tmp+=v4input noteadd tmp,cnt,1 } }else{ // ノートパッドのcnt番目の行の文字列を取り出して noteget tmp,cnt // 文字列の後にをくっつけて tmp+=v4input // ノートパッドの取り出した行に上書き(格納) noteadd tmp,cnt,1 } loop // 出来上がった文字列を操作前meboxに反映 objprm 6,u stop stop // を行末に追加するサブルーチン *do_add_br sdim tmp,2000 // 操作前mesboxの中身の入ったsをuにコピーして u=s // uをノートパッド命令の対象にする notesel u // 文字列の行数繰り返すのでnotemax回繰り返す repeat notemax // チェックBOXをチェックしていたら if f_skip_label==1{ noteget tmp,cnt // ノートパッドから一文字取り出して tmp_2=strmid(tmp,0,1) // その文字が*でなければ[BR]を行末に追加 if tmp_2!="*"{ tmp+="[BR]" noteadd tmp,cnt,1 } }else{ // ノートパッドのcnt番目の行の文字列を取り出して noteget tmp,cnt // 文字列の後にをくっつけて tmp+="[BR]" // ノートパッドの取り出した行に上書き(格納) noteadd tmp,cnt,1 } loop // 出来上がった文字列を操作前meboxに反映 objprm 6,u stop // [l][r]を行末に追加するサブルーチン *do_add_lr sdim tmp,2000 // 操作前mesboxの中身の入ったsをuにコピーして u=s // uをノートパッド命令の対象にする notesel u // 文字列の行数繰り返すのでnotemax回繰り返す repeat notemax // チェックBOXをチェックしていたら if f_skip_label==1{ noteget tmp,cnt // ノートパッドから一文字取り出して tmp_2=strmid(tmp,0,1) // その文字が*でなければ[l][r]を行末に追加 if tmp_2!="*"{ tmp+="[l][r]" noteadd tmp,cnt,1 } }else{ // ノートパッドのcnt番目の行の文字列を取り出して noteget tmp,cnt // 文字列の後にをくっつけて tmp+="[l][r]" // ノートパッドの取り出した行に上書き(格納) noteadd tmp,cnt,1 } loop // 出来上がった文字列を操作前meboxに反映 objprm 6,u stop



ONION software Copyright 1997-2023(c) All rights reserved.