度々の投稿です。県名を2種類(1.北海道〜滋賀県と2.京都府〜沖縄県)
に分けたとして、購入したときに、2つの combox に仕分けするようにしたいと思っています。
どうか、教えてください。
よろしくお願いいたします。(下記に作成したデータを載せます)
#module
#defcfunc fun_GetKenName int ken_id
if kens=0 {//fun_GetKenNameの度に県名入れるのは無駄なので
sdim kens;
kens(0) = "北海道","青森県","岩手県","宮城県","秋田県"
kens(5) = "山形県","福島県","茨城県","栃木県","群馬県"
kens(10) = "埼玉県","千葉県","東京都","神奈川県","新潟県"
kens(15) = "富山県","石川県","福井県","山梨県","長野県"
kens(20) = "岐阜県","静岡県","愛知県","三重県","滋賀県"
kens(25) = "","","","",""
kens(30) = "京都府","大阪府","兵庫県","奈良県","和歌山県"
kens(35) = "鳥取県","島根県","岡山県","広島県","山口県"
kens(40) = "徳島県","香川県","愛媛県","高知県","福岡県"
kens(45) = "佐賀県","長崎県","熊本県","大分県","宮崎県"
kens(50) = "鹿児島県","沖縄県"
}
ken_name = kens(ken_id)
return ken_name
#global
onerror *jj ;エラーが出た場合飛ぶ
iddat=0,5,7,1,10,6,9,20
kenString=""
repeat length(iddat)
id=iddat(cnt)
kenString+fun_GetKenName(id) + "\n"
ken_id(cnt)=id //県IDを県名順に保存(listboxの順番と県IDをセットにする)
loop
ken_index = 0
listbox ken_index,100,kenString : lb_ID = stat
hListbox = objinfo(stat, 2)
cb_flag = 0 ; comboxが表示中かどうかのフラグ
button gosub "購入", *check
stop
*check
notesel kenString
noteget getlist, ken_index
; アイテムの頭に印があれば処理を中断
cstr = strmid(getlist, 0, 2)
if cstr = "※" : dialog "購入済です" : return
notesel combdata
noteadd Getlist
; comboxが非表示なら表示、表示中なら内容を書き換え
if cb_flag = 0 {
b = 0
combox b,100,combdata : cb_ID = stat
cb_flag = 1
} else {
objprm cb_ID, combdata
objprm cb_ID, 0
}
; 購入したアイテムに印をつける
notesel kenString
noteadd "購入済" + getlist, ken_index, 1
objprm lb_ID, kenString
objprm lb_ID, ken_index
return
*jj