#author("2023-11-11T07:41:10+09:00","default:post","post")
----
#contents
----
~

*ToDoリストもどき [#g1a8f376]
バルーン上でチェックボックス(擬似)つきの一行メモを実現させる。&br;
(バックアップを取ってから導入を。&br;
 処理が回りくどいかもしれないので、頑張れる人大歓迎)&br;

**備考 [#qd12ca35]
-メニューなどから『ToDoリスト_準備』を呼び出してお使いください。
-操作用アイコンは画像です。icoフォルダにcheck0,check1,close,edit,no,ok.pngが必要です。~
サンプル http://ssp.shillest.net/etc/ico.zip
サンプル https://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リスト

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS