- 追加された行はこの色です。
- 削除された行はこの色です。
----
#contents
----
~
*ToDoリストもどき [#g1a8f376]
バルーン上でチェックボックス(擬似)つきの一行メモを実現させる。&br;
(バックアップを取ってから導入を。&br;
処理が回りくどいかもしれないので、頑張れる人大歓迎)&br;
**備考 [#qd12ca35]
-メニューなどから『ToDoリスト_準備』を呼び出してお使いください。
-操作用アイコンは画像です。icoフォルダにcheck0,check1,close,edit,no,ok.pngが必要です。~
サンプル http://ssp.shillest.net/etc/ico.zip
-勝手に余白が入ります。ソース中の『sprintf,%-12s,』をいじればOK。
-replace.txtに[[こちら>関数#q7a98c64]]の記述をしてください。(もしかすると不要?)
**変数一覧 [#r80ad8d5]
-ToDo(ページ数)&br;ToDoのチェック有無とテキストを(b1)で区切り格納。1ページにつき1つ使用。
-ToDo現在ページ数&br;現在のページ数 (ページの切り替えに使う) <呼出時・初期化>
-ToDo総合ページ数&br;ページの合計数 (ページの切り替え・追加削除に使う)
-ToDotmp&br;一時的な変数の保存
**コード [#p712d63c]
#--------------------------------------------------------------------
# ToDoリスト:初期化
#--------------------------------------------------------------------
*ToDoリスト_準備
$ToDo現在ページ数【タブ】1
$ToDotmp【タブ】
>ToDoリスト
#--------------------------------------------------------------------
# 初期化
# 1~10だけは初期から設定する
#--------------------------------------------------------------------
*ToDoリスト_初回
$ToDo(ToDo現在ページ数)【タブ】0(b1)0(b1)0(b1)0(b1)0(b1)0(b1)0(b1)0(b1)0(b1)0(b1)(sprintf,%-12s, )(b1)(sprintf,%-12s, )(b1)(sprintf,%-12s, )(b1)(sprintf,%-12s, )(b1)(sprintf,%-12s, )(b1)(sprintf,%-12s, )(b1)(sprintf,%-12s, )(b1)(sprintf,%-12s, )(b1)(sprintf,%-12s, )(b1)(sprintf,%-12s, )
$ToDoリスト_txt取出【タブ】0
$ToDo総合ページ数【タブ】1
$ToDo個数【タブ】10
$ToDo始値【タブ】1
>ToDoリスト
#--------------------------------------------------------------------
# ヘッダー
#--------------------------------------------------------------------
*ToDoリスト
>ToDoリスト_初回【タブ】(変数「ToDo1」の存在)==0
:\b[2]\_q\![set,choicetimeout,-1] \q[戻る,戻る] \q[<,ToDo_前ページ] 【ToDo】 \q[>,ToDo_次ページ] \q[閉じ,閉じる]
─────────────
>ToDoリスト_ページ
#--------------------------------------------------------------------
# リストアップ用ループとフッター
#--------------------------------------------------------------------
*ToDoリスト_ページ
:(nop,(split,(ToDo(ToDo現在ページ数)),(b1)))(times,10,(ToDoループ))─────────────
Page:(ToDo現在ページ数)/(ToDo総合ページ数) \q[ADD,OnToDoAddPage] \q[DEL,OnToDoDelPage] \q[Reset,ToDoリスト_初回]
*ToDoループ
$ToDoリスト_txt取出=(C0)+10
:(C0): \__q[OnToDoCheck,(C0),(S(C0))]\_b[ico\Check(S(C0)).png,inline]\__q\f[underline,true](S(ToDoリスト_txt取出))\f[underline,default] \__q[OnToDoEdit,(C0)]\_b[ico\edit.png,inline]\__q \__q[OnToDoDelete,(C0)]\_b[ico\close.png,inline]\__q
#(C0)はループ数 →(R0)
#(S0)はスプリット→(R1)
#--------------------------------------------------------------------
# チェックのON/OFF
# ToDo[n]_icoの値で分岐
#--------------------------------------------------------------------
*OnToDoCheck【タブ】(R1)==0
(nop,(split,(ToDo(ToDo現在ページ数)),(b1)))
$ToDotmp【タブ】(S(R0))
(set,S(R0),1)
$ToDo(ToDo現在ページ数)【タブ】(S0)(b1)(S1)(b1)(S2)(b1)(S3)(b1)(S4)(b1)(S5)(b1)(S6)(b1)(S7)(b1)(S8)(b1)(S9)(b1)(S10)(b1)(S11)(b1)(S12)(b1)(S13)(b1)(S14)(b1)(S15)(b1)(S16)(b1)(S17)(b1)(S18)(b1)(S19)
$ToDotmp【タブ】
>ToDoリスト
*OnToDoCheck【タブ】(R1)==1
(nop,(split,(ToDo(ToDo現在ページ数)),(b1)))
(set,S(R0),0)
$ToDo(ToDo現在ページ数)【タブ】(S0)(b1)(S1)(b1)(S2)(b1)(S3)(b1)(S4)(b1)(S5)(b1)(S6)(b1)(S7)(b1)(S8)(b1)(S9)(b1)(S10)(b1)(S11)(b1)(S12)(b1)(S13)(b1)(S14)(b1)(S15)(b1)(S16)(b1)(S17)(b1)(S18)(b1)(S19)
>ToDoリスト
#--------------------------------------------------------------------
# メモ欄編集
#--------------------------------------------------------------------
#[ ボックスを開く ]--------------------------------------------------
*OnToDoEdit
$ToDotmp=(R0)+10
\![open,inputbox,OnToDoInput,-1]
#[ 確定処理 ]--------------------------------------------------------
*OnToDoInput
:(nop,(split,(ToDo(ToDo現在ページ数)),(b1)))(set,S(ToDotmp),(sprintf,%-12s,(R0)))
$ToDo(ToDo現在ページ数)【タブ】(S0)(b1)(S1)(b1)(S2)(b1)(S3)(b1)(S4)(b1)(S5)(b1)(S6)(b1)(S7)(b1)(S8)(b1)(S9)(b1)(S10)(b1)(S11)(b1)(S12)(b1)(S13)(b1)(S14)(b1)(S15)(b1)(S16)(b1)(S17)(b1)(S18)(b1)(S19)
$ToDotmp【タブ】
>ToDoリスト
#--------------------------------------------------------------------
# メモ欄入力消去
#--------------------------------------------------------------------
#[ 削除確認 ]--------------------------------------------------------
*OnToDoDelete
$ToDotmp=(R0)+10
:(nop,(split,(ToDo(ToDo現在ページ数)),(b1)))\c\_qToDo (R0):『(S(ToDotmp))』を消しちゃう?
\_b[ico\ok.png,inline]\q[はい,OnToDoDeleteGo,(R0)] \_b[ico\no.png,inline]\q[いいえ,ToDoリスト]\_q
#[ 削除処理 ]--------------------------------------------------------
*OnToDoDeleteGo
$S(R0)【タブ】0
$S(ToDotmp)【タブ】(sprintf,%-12s, )
$ToDo(ToDo現在ページ数)【タブ】(S0)(b1)(S1)(b1)(S2)(b1)(S3)(b1)(S4)(b1)(S5)(b1)(S6)(b1)(S7)(b1)(S8)(b1)(S9)(b1)(S10)(b1)(S11)(b1)(S12)(b1)(S13)(b1)(S14)(b1)(S15)(b1)(S16)(b1)(S17)(b1)(S18)(b1)(S19)
$ToDotmp【タブ】
>ToDoリスト
#--------------------------------------------------------------------
# ページの切り替え
#--------------------------------------------------------------------
*ToDo_前ページ
>ToDoリスト【タブ】(ToDo現在ページ数)==1
(set,ToDo現在ページ数,(ToDo現在ページ数)-1)
>ToDoリスト
*ToDo_次ページ
>ToDoリスト【タブ】(ToDo現在ページ数)==(ToDo総合ページ数)
(set、ToDo現在ページ数、(ToDo現在ページ数)+1)
>ToDoリスト
#--------------------------------------------------------------------
# ページの追加/削除
# (変数式は$で指定すると結果が全角になるのでset関数)
#--------------------------------------------------------------------
#[ ページ追加 ]------------------------------------------------------
*OnToDoAddPage
(set,ToDo総合ページ数,(ToDo総合ページ数)+1)
(set,ToDo現在ページ数,(ToDo現在ページ数)+1)
$ToDo(ToDo現在ページ数)【タブ】0(b1)0(b1)0(b1)0(b1)0(b1)0(b1)0(b1)0(b1)0(b1)0(b1)(sprintf,%-12s, )(b1)(sprintf,%-12s, )(b1)(sprintf,%-12s, )(b1)(sprintf,%-12s, )(b1)(sprintf,%-12s, )(b1)(sprintf,%-12s, )(b1)(sprintf,%-12s, )(b1)(sprintf,%-12s, )(b1)(sprintf,%-12s, )(b1)(sprintf,%-12s, )
>ToDoリスト
#[ ページ削除確認 ]--------------------------------------------------
*OnToDoDelPage
>ToDoリスト【タブ】(ToDo総合ページ数)==1||(ToDo現在ページ数)==1
:\_qページ番号:『(ToDo現在ページ数)』を消しちゃう?
ページ内のToDoも消えちゃうよ。
\_b[ico\ok.png,inline]\q[はい,ToDoページ削除処理] \_b[ico\no.png,inline]\q[いいえ,ToDoリスト]\_q
#[ 削除処理 ]--------------------------------------------------------
*ToDoページ削除処理
$ToDo(ToDo現在ページ数)【タブ】
(set、ToDo総合ページ数、(ToDo総合ページ数)-1)
(set、ToDo現在ページ数、(ToDo現在ページ数)-1)
>ToDoリスト