ToDoリストもどき

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

備考

変数一覧

コード

#--------------------------------------------------------------------
# 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
Last-modified: 2023-11-11 (土) 07:41:10