Chapter 9:ライブラリ、住所録への適用


"住所録"フォームを定義画面で開いて次のようにトグルボタン(とラベル)の属性をセットしてください。

トグルボタン属性

"chkフッタ表示"の属性は "ボタンの種類:チェックボックス" 、" オンの値:1 " 、"オフの値:設定する、0 " です。見たままですね。
"住所録"イベントにはまず次の行を追加してください。

11   変数宣言 局所,整数 { &mフッタ表示 }= 1   /* 初期値を設定しています */
12  
13   ライブラリ #一括パス名 + "Yubinjyusho.cmx"
14  *
15  
46  手続き定義開始 chkフッタ表示::ソース値更新()
47   手続き実行 フッタ部を表示( )
48  
49   変数宣言 自動,文字列 { &ファイル名 = #ファイル名( &m編集対象表 , 2 ) }     /* 2:ファイル名  */
50   変数宣言 自動,文字列 { &STRbak , &変数値 }
51   &STRbak = &STR          /* &STR の値を 自動変数 &STRbak に退避 */ 
52  
53   &STR = &ファイル名 + "," + "mフッタ表示"   /* 保存変数名称:局所変数は使用するフォーム専用なので編集対象表名を付加。*/
54   手続き実行 変数書出( &STR , #文字列 ( &mフッタ表示 ) , &m変数保存表 )
55  
56   &STR = &STRbak          /* &STRbakの値を 組み込み変数 &STR に戻す */
57  手続き定義終了

 

chkフッタ表示 

ここまで出来たら、"住所録"フォームを開いてみてください。
とりあえず "フッタ表示" のチェックを ON・OFF すると、フッタ部分が表示・非表示されますか。

chkフッタ表示

 

----------

次にフォームを閉じたときのフッタ表示の状態を保存して、フォームを開くときに復元するようにします。
"住所録"フォームを定義画面で開きます。

ワークスペースにコマンドボタン "Startup" を追加します。

Startupボタン

フォームの属性 → オプション → 実行コマンドの開始時に "cmdStartup " ボタンを登録します。

フォームのオプションボタン設定

"住所録"イベントには次の行を追加してください。 
"郵便番号簿"イベントからうまくコピペして流用してください。

起動時変数読み込み 

いかがですか。
フォームを閉じた際のフッタ状態がフォームを開いたときに反映されているのを確かめてください。

 


参考

1  名札    メイン
2  
3   変数宣言 局所,文字列 { &m編集対象表 = #一括パス名 + "住所録.tbx" }
4   オブジェクト操作 @フォーム.編集対象表 = &m編集対象表 /* 編集対象表は、メイン処理でのみ変更できます */
5  
6   変数宣言 局所,文字列 { &m変数保存表 = #一括パス名 + "変数保存表.tbx" }
7  
8   変数宣言 局所,文字列 { &m入力前値 , &m入力後値 }
9   変数宣言 局所,文字列 { &m郵便番号 }
10  
11   変数宣言 局所,整数 { &mフッタ表示 = 1 }
12  
13   ライブラリ #一括パス名 + "Yubinjyusho.cmx"
14  *
15  
16  手続き定義開始 cmdStartupClick( )
17   手続き実行 prc変数読込( &m変数保存表 )
18   手続き実行 prc起動時フッタ表示( )
19  手続き定義終了
20  
21  手続き定義開始 prc変数読込( 文字列 &変数保存表 )
22   変数宣言 自動,文字列 { &ファイル名 = #ファイル名( &m編集対象表 , 2 ) }     /* 2:ファイル名  */
23   変数宣言 自動,文字列 { &STRbak , &変数値 }
24   変数宣言 自動,整数  { &importTblNum }
25   &STRbak = &STR          /* &STR の値を 自動変数 &STRbak に退避 */ 
26  
27   表 &変数保存表        /* 変数保存表.tbx を開く */
28   &importTblNum = #IS表
29  
30   &STR = &ファイル名 + "," + "mフッタ表示"   /* 局所変数は使用するフォーム専用となるので編集対象表名も検索値の一部です。*/
31   手続き実行 変数値代入整数( &STR , &mフッタ表示 )
32  
33   終了 表 &importTblNum    /* 変数保存表.tbx を閉じる */
34   &STR = &STRbak          /* &STRbakの値を 組み込み変数 &STR に戻す */
35   メソッド呼び出し @フォーム.変数変更()
36  手続き定義終了
37  
38  手続き定義開始 prc起動時フッタ表示( )
39   if ( &mフッタ表示 = 1 )
40    * フォームを開いて変数を読み込んだ値が "1" の時は何もしません(フォーム起動時のデフォルトがフッタ表示状態です)。
41   else
42    手続き実行 フッタ部を表示( )
43   end
44  手続き定義終了
45  
46  手続き定義開始 chkフッタ表示::ソース値更新()
47   手続き実行 フッタ部を表示( )
48  
49   変数宣言 自動,文字列 { &ファイル名 = #ファイル名( &m編集対象表 , 2 ) }     /* 2:ファイル名  */
50   変数宣言 自動,文字列 { &STRbak , &変数値 }
51   &STRbak = &STR          /* &STR の値を 自動変数 &STRbak に退避 */ 
52  
53   &STR = &ファイル名 + "," + "mフッタ表示"   /* 保存変数名称:局所変数は使用するフォーム専用なので編集対象表名を付加。*/
54   手続き実行 変数書出( &STR , #文字列 ( &mフッタ表示 ) , &m変数保存表 )
55  
56   &STR = &STRbak          /* &STRbakの値を 組み込み変数 &STR に戻す */
57  手続き定義終了