プログラミング入門 (桐s-2024LT:ツールバー編)


Chapter 6:ティータイム、郵便番号簿を更新しましょう
  改定版 /更新日:2024年8月10日

1  "郵便番号簿" にイベントファイルを準備して、ファイルを選択するテキストボックスを設定します。
   
1-1 フォーム "郵便番号簿.wfx" を定義画面で開いてください。

引き続き、イベント定義を開きます。

※イベントファイルが設定されてない場合、ファイル名入力画面が表示されるのでここでは "郵便番号簿" と入力します
 (保存場所は表とフォームと同じフォルダを指定してください)。

1-2 名札 メイン の部分に次のように入力します
 
  オブジェクト操作 @フォーム.編集対象表 = #一括パス名 + "郵便番号簿.tbx"
  変数宣言 局所,文字列 { &m読み込みファイル名 }
 
   
1-3 フォームにフッタ部分を表示して必要なオブジェクトを設定します。
 
1-3-1 フッタ部分にテキストボックス [txt読み込みファイル名] を配置します(ラベル部分は不要なので削除してください)。

 
1-3-2 オブジェクトの属性は図のように設定します(ツールヒントは設定しなくても構いません)

※なおサンプルのテキストボックスは罫線を立体線に設定しています

1-3-3 [入力時の操作] で [入力支援ボタン] にチェックを入れて、[入力支援ボタン] を表示します。


1-3-4 [入力支援ボタン] の属性は次のように設定します
[リストの種別:ファイル名選択] 、[自動終了]にチェック を入れてください。オブジェクト名も後々間違えないように単純にハッキリと。

 
1-4 設定が完了したら定義画面を保存終了して、編集画面から入力支援ボタンが動作するか確かめてみましょう。


   

2 郵便番号簿を更新するためのプログラムを作成します。
 
2-1 フォーム"郵便番号簿.wfx" を定義で開いて、コマンドボタンを設定します。


2-2 履歴を参考にしてソースコードを書いてみましょう。
2-2-1 まず履歴を作成します。
  履歴を取りながら郵便番号簿を更新する操作をします ( ※フォーム"郵便番号簿.wfx" は閉じてください)。

表:"郵便番号簿.tbx" を編集画面で開いて → [履歴登録開始] → [全行削除] → [ファイル] → [読み込み] → [CSV]
→ 読み込みCSV:ファイルを指定(utf_ken_all.csv) → 読み込み項目は 全てでOK です。
→ 履歴登録終了  といったところでしょうか。
2-2-2 できあがった履歴は次の通りです。
2-2-3 [桐-ヘルプ] → [一括処理・履歴・イベント] → [リファレンス] を開いて、コマンドの詳細を確かめながらソースコードを書きます。
 

2-2-4 完成したら フォーム"郵便番号簿.wfx" を編集画面で開いて、
郵便番号のファイルを選択して、[郵便番号簿更新ボタン] をクリックしてみてください。いかがでしょうか。
※サンプルのコマンドボタンは背景を 立体色モード(継承) にしています。



2-2-5 最後に実行時のメッセージも詳しく表示させましょう。
   

Chapter 6 終わり、お疲れ様でした (^_^)ノ
  Special Thanks ONnojiさん、AKさん

参考) ※行番号は参考としてください
  サンプルコードをコピペしてうまく動作しないときには、一旦削除して手入力してください。※プロシージャごとに処理すれば作業がしやすいでしょう。
 
1  名札    メイン
2
3   オブジェクト操作 @フォーム.編集対象表 = #一括パス名 + "郵便番号簿.tbx"    /* 編集対象表は、メイン処理でのみ変更できます */
4
5   変数宣言 局所,文字列 { &m読み込みファイル名 }
6  *
7
8  手続き定義開始 cmd郵便番号簿更新Click()
9   変数宣言 自動, 文字列 { &title, &msg }
10   変数宣言 自動, 数値 { &ans }
11   &title = "cmd郵便番号簿更新Click()"
12   &msg = &msg +   " << 郵便番号簿を更新します >>"
13   &msg = &msg + "\n"
14   &msg = &msg + "\n郵便番号ファイルから"
15   &msg = &msg + "\n郵便番号簿を更新します。"
16   &msg = &msg + "\n"
17   &msg = &msg + "\n郵便番号ファイルは"
18   &msg = &msg + "\n事前に郵便局のサイトからダウンロードして"
19   &msg = &msg + "\n展開しておいてください。"
20   &msg = &msg + "\n"
21   &msg = &msg + "\n必ず所定のファイルを指定してから実行してください。"
22   メッセージボックス &title, &msg,ボタン指定 = 2,アイコン = !,制御文字展開 = する,&ans
23    * アイコン = i|?|!|E| 、ボタン指定 = 1:[OK]のみ|2:[OK]と[キャンセル]
24  
25   if ( &ans = 1 )
26    解除 *                    /* データーが絞り込まれていたりを想定して、解除しておきます */
27    行削除 * , 圧縮
28    読み込み CSV,&m読み込みファイル名 , *
29    確認 完了しました。
30   end
31  手続き定義終了