#include "lib_address.hsp" screen 0,600,400 //windowサイズ title "住所録" //windowタイトル //********************************************* // 初期設定 //********************************************* saveFile = "address.txt" //データファイル名 sdim dbData //ファイルデータ sdim tmpArray //一時的に利用する配列 kenString = fun_KenString() //県プルダウン文字列 notesel dbData //ファイル内容をロード exist saveFile if strsize != -1 :noteload saveFile //********************************************* // メニュー画面 //********************************************* *menu cls : gosub *init objsize 200,50 pos 200,70 :button "新規登録",*inputData pos 200,170 :button "一覧",*list pos 200,270 :button "終了",*appEnd stop //********************************************* //   初期化(サブルーチン) //********************************************* *init name = "" //名前 kana = "" //ふりかな zip = "" //郵便番号 ken_id = 0 //都道府県 address = "" //住所 address2 = "" //マンション等 biko = "" //備考 mode = "" repeat length(tmpArray) tmpArray(cnt) = "" loop return //********************************************* // バッファからデータ取得(サブルーチン) //********************************************* *getBufData noteget tmpLine,listNo i=0 repeat getstr tmpArray(cnt),tmpLine,i,',' if strsize = 0 : break i = i + strsize loop if length(tmpArray) >=1 : name = fun_loadAmend(tmpArray(0)) if length(tmpArray) >=2 : kana = fun_loadAmend(tmpArray(1)) if length(tmpArray) >=3 : zip = fun_loadAmend(tmpArray(2)) if length(tmpArray) >=4 : ken_id = int(tmpArray(3)) if length(tmpArray) >=5 : address = fun_loadAmend(tmpArray(4)) if length(tmpArray) >=6 : address2 = fun_loadAmend(tmpArray(5)) if length(tmpArray) >=7 : biko = fun_loadAmend(tmpArray(6)) return //********************************************* //   編集データ呼び出し //********************************************* *edit gosub *init mode = "edit" gosub *getBufData //バッファからデータ取得 goto *inputData //入力画面へ stop //********************************************* // 登録編修画面 //********************************************* *inputData cls if mode != "edit" : gosub *init pos 50,20 :mes "■登録" objsize 300,150 pos 50,50 :mes "名前" pos 150,50 :input name, 200, 20,20 pos 50,80 :mes "ふりかな" pos 150,80 :input kana, 200, 20,20 pos 50,110 :mes "郵便番号" pos 150,110 :input zip, 80, 20,10 pos 50,170 :mes "住所" pos 150,170 :input address, 350, 20,100 pos 50,200 :mes "マンション等" pos 150,200 :input address2, 350, 20,100 pos 50,230 :mes "備考" pos 150,230 :mesbox biko, 350,50,,100 objsize 100,150 pos 50,140 :mes "都道府県" pos 150,140 :combox ken_id,100,kenString objsize 100,25 pos 50,300 :button "登録する",*regist //新規と編集でキャンセル時の戻り先が異なる if mode == "edit" { pos 250,300 :button "キャンセル",*list }else{ pos 250,300 :button "キャンセル",*menu } stop //********************************************* // 一覧画面 //********************************************* *list cls : gosub *init tmp = "": tmp2 = "" repeat notemax noteget tmpLine,cnt getstr tmp2,tmpLine,0,',' tmp += tmp2 getstr tmp2,tmpLine,strsize,',' tmp += " (" + tmp2 + ")" + "\n" loop pos 50,20 :mes "■一覧" objsize 400,270 pos 100,50 :listbox listNo,0,tmp objsize 100,25 pos 100,320 :button "編集する",*edit pos 250,320 :button "削除する",*del pos 400,320 :button "詳細",*detail objsize 60,20 pos 440,30 :button "戻る",*menu stop //********************************************* // 詳細画面 //********************************************* *detail cls : gosub *init //選択データをバッファから取得 gosub *getBufData pos 50,20 :mes "■詳細" pos 50,50 :mes "名前  : " + name pos 50,80 :mes "ふりかな: " + kana pos 50,110 :mes "郵便番号: " + zip pos 50,140 :mes "都道府県: " + fun_GetKenName(ken_id) pos 50,170 :mes "住所  : " + address pos 50,200 :mes "マンション等 : " + address2 pos 50,230 :mes "備考  : " pos 140,230 :mes biko objsize 100,25 pos 50,320 :button "トップへ",*menu pos 200,320 :button "一覧へ",*list stop //********************************************* //  新規登録・編集処理 //********************************************* *regist //■書き込みデータ生成 saveData = "" saveData += fun_saveAmend(name) saveData += "," + fun_saveAmend(kana) saveData += "," + fun_saveAmend(zip) saveData += "," + ken_id saveData += "," + fun_saveAmend(address) saveData += "," + fun_saveAmend(address2) saveData += "," + fun_saveAmend(biko) //新規と編集で処理が異なる if mode == "edit" { noteadd saveData,listNo,1 //上書き }else{ noteadd saveData,,0 //新規追加 } bsave saveFile,dbData goto *list stop //********************************************* //   削除処理 //********************************************* *del notedel listNo bsave saveFile,dbData goto *list stop //********************************************* // 終了処理 //********************************************* *appEnd end stop