前回は簡単な「トップメニュー」を作成しました。今回から新規登録画面を作成していきます。都道府県をプルダウンで選択させる予定ですので、まず「都道府県プルダウン」を作成したいと思います。また、「都道府県プルダウン」は汎用性が高そうなのでモジュール化しました。
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. 39. 40. 41. 42. 43. 44. |
//************************************************************** // 都道府県IDを渡すと都道府県名を返す // // 引数 :(1)kne_name 結果を格納する変数 // (2)ken_id 都道府県ID // 戻り値:都道府県名 //************************************************************** #module #defcfunc fun_GetKenName int ken_id sdim kens; kens(0) = "北海道","青森県","岩手県","宮城県","秋田県" kens(5) = "山形県","福島県","茨城県","栃木県","群馬県" kens(10) = "埼玉県","千葉県","東京都","神奈川県","新潟県" kens(15) = "富山県","石川県","福井県","山梨県","長野県" kens(20) = "岐阜県","静岡県","愛知県","三重県","滋賀県" kens(25) = "京都府","大阪府","兵庫県","奈良県","和歌山県" kens(30) = "鳥取県","島根県","岡山県","広島県","山口県" kens(35) = "徳島県","香川県","愛媛県","高知県","福岡県" kens(40) = "佐賀県","長崎県","熊本県","大分県","宮崎県" kens(45) = "鹿児島県","沖縄県" ken_name = kens(ken_id) return ken_name #global //************************************************************** // 各都道府県を「\n」で区切った文字列を取得 // // 引数 : // 戻り値:都道府県名を「\n」で区切った文字列 //************************************************************** #module #defcfunc fun_KenString kens = "" ken_name = "" repeat 47 ken_name = fun_GetKenName (cnt) kens += ken_name + "\n" loop return kens #global objsize 100,150 kenString = fun_KenString() pos 150,140 :combox ken_id,100,kenString stop |
2つの関数をつくりました。
①fun_GetKenName
都道府県ID(配列インデックス番号)を引数で渡すと県名を返す関数です。ただ、インデックス0(北海道)~インデックス46(沖縄県)までの配列を作成し、指定したインデックスの配列値を求めているだけです。今作成中のアドレス帳では都道府県は全て都道府県IDで管理していきます。CSV登録を予定していますが、登録値もIDで行います。
②fun_KenString
HSP3ではプルダウン(コンボボックス)を作成するのに「combox命令」を使います。この命令は、複数の項目を表示する場合は、各項目を「¥n」で区切ります。独自関数「fun_KenString」は0~47まで、独自関数「fun_GetKenName」から都道府県名を取得し「¥n」で結合をしています。都道府県全てを「¥n」で結合した文字列を返しています。
42行目で独自関数「fun_KenString」を呼び出し、変数kenStringに都道府県文字列を格納しています。43行目でプルダウンを生成しています。
「アドレス帳③ 『HSP3』」への1件のフィードバック