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


HSPTV!掲示板


未解決 解決 停止 削除要請

2023
0708
hiyohiyolistboxの編集2解決


hiyohiyo

リンク

2023/7/8(Sat) 11:47:37|NO.99700

初めまして。HSP初心者です。
inputボックスに入力した文字をまとめてリストボックスに表示させたいのですが、
以下のようにスクリプトを書き追加ボタンを押すと二重投稿されてしまいます。
新しい内容を追加するとまた二重になり、さらに先にあった内容が上書きされてしまいます。
つまり一度の追加(二重)しか反映されない状態になっています。
何が悪さをしているのでしょうか? また、どのように改良すればよいでしょうか?


screen 0,640,480,0 title "スケジューラー" objmode 2 font "MS ゴシック",12,0 objsize 450,300 pos 10,12 sdim list,265 list= "" listbox a,10,list objsize 150,59 pos 475,100 button "削除",*del objsize 150,59 pos 475,21 button "編集",*edit objsize 150,59 pos 475,180 button "保存",*save pos 20,361 year= gettime(0) input year,80,30 font "MS ゴシック",25,1 pos 104,362 mes "年" font "MS ゴシック",12,0 pos 135,361 month= gettime(1) input month,50,30 font "MS ゴシック",25,1 pos 195,361 mes "月" font "MS ゴシック",12,0 pos 230,361 day= gettime(3) input day,50,30 font "MS ゴシック",25,1 pos 289,361 mes "日" font "MS ゴシック",12,0 pos 82,400 sdim yotei,256 input yotei,380,30 font "MS ゴシック",25,1 pos 20,402 mes "予定" pos 339,361 mes "優先度" font "MS ゴシック",12,0 objsize 45,33 pos 422,359 yuusen=0 sdim ytext comboxtext="高\n中\n低" combox yuusen,100,comboxtext objsize 82,30 pos 20,441 button "追加",*add stop *del notesel list notedel a objprm 0, list stop *edit stop *save stop *add notesel comboxtext noteget ytext,yuusen list = "" + year + "/" + month + "/" + day +"・" + ytext + "・" + yotei notesel list noteadd list, 0, 0 objprm 0, list objprm 0, noteinfo(0) stop



この記事に返信する


沢渡

リンク

2023/7/8(Sat) 12:16:48|NO.99701

文字列変数「list」はリストボックス全体の内容を収納するものなのに、
その「list」に代入文で直接文字列を書き込んだり、
「listの内容をnoteaddでlistに追加する」などという真似をしたり
しているせいでしょう。
終わりの方の

list = "" + year + "/" + month + "/" + day +"・" + ytext + "・" + yotei notesel list noteadd list, 0, 0


temp = "" + year + "/" + month + "/" + day +"・" + ytext + "・" + yotei notesel list noteadd temp, 0, 0
としたらどうでしょう?

それと、その後の「objprm 0, noteinfo(0)」は、リストボックスの最後の項目が
選択された状態にしたいということでしょうか?
その場合ですと「objprm 0, noteinfo(0)-1」とした方が良いでしょう。



hiyohiyo

リンク

2023/7/8(Sat) 13:47:41|NO.99702

>沢渡様
ありがとうございます。
ご指摘通り、設定したlist変数の使い方がよくわかっていなかったのが原因でした。
書き込んでいただいたスクリプトで無事に動きました。精進いたします。



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