アドレス帳⑦ 『HSP3』
前回は一覧画面を作成しました。今回はリストボックスに表示した一覧からレコードを選択して削除する処理を行います。

【sample.hsp】 ※行番号は説明上の番号です
| 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. |
#include "lib_address.hsp" screen 0,600,400 //windowサイズ title "住所録" //windowタイトル //********************************************* // 初期設定 メニュー画面 初期化 登録編修画面 //********************************************* 略 //********************************************* // 一覧画面 //********************************************* *list 略 pos 50,20 :mes "■一覧" objsize 400,270 pos 100,50 :listbox listNo,0,tmp objsize 100,25 pos 250,320 :button "削除する",*del pos 400,320 :button "戻る",*menustop //********************************************* // 新規登録・編集処理 //********************************************* *regist 略 stop //********************************************* // 削除処理 //********************************************* *del notedel listNo bsave saveFile,dbData goto *list stop //********************************************* // 終了処理 //********************************************* *appEnd end stop |
一覧画面に「削除する」ボタンをつけました。「削除する」ボタンをクリックするとラベル「del」へ飛び削除処理を行います。
リストボックスの一覧は、「名前」と「ふりかな」のみを表示していますが、リストボックスとバッファーとのインデックスが対応するように作成しました(前回)。15行目でリストボックスを作成し、選択された行番号(インデックス値:0スタート)は変数「listNo」に格納されます。29行目でこの変数「listNo」の行をバッファーから削除しています。この時点ではまだバッファーからは削除されていますがファイルは何も変化ありません。30行目で削除されたバッファー内容をファイルに上書きして更新しています。削除処理が終了したら31行目で一覧へ戻しています。
サンプルファイル:
lib_address.hsp
sample090416.hsp
2009 年 4 月 16 日 木曜日 【 カテゴリー: HSP3 , アプリケーション作成 】


