モダンINF_Framework

   
INF_Framework は ONnoji さん作成のフリーのライブラリです
フォームに便利な機能を追加してくれます。

ここで使用する ライブラリ は所定のサイト からダウンロードしてください。

※ INF_Framework_第3.3版_改訂版(MkII) 基本セット for 桐9-2012 / 桐9s / 桐10 / 桐10s / 桐sSL
※ INF_Framework_第3.3版_改訂版(MkII) サンプル集 for 桐9-2012 / 桐9s / 桐10 / 桐10s / 桐sSL
※ 桐10 / 桐10s / 桐sSL で使用するには、ファイルのコンバートが必要です。
更新日:2023年8月26日

モダンINF_Framework は オートINF_Framework から生成します。

オートINF_Framework で作成するフォームを、”指定した 表 ” の専用とする手順を紹介します。

オートINF_Framework の便利な機能を使いながら、新たなプログラムを追加できるようになります。
  ” 指定した 表 ” 専用ですので、オートではなく モダンINF_Framework となります(クラシックINF_Framework に対しての名称です)。

またグループ項目を設定する場合の方法もご案内します。


事前準備

新たなフォルダに(作成してください。ここでは モダンINF_Framework としてみました)
ダウンロードしたファイルから次の12個 のファイルを複写してください。

モダンINF_Framework を利用するために最小限必要なファイルは オートINF_Framework と同じく
  フレームワーク の ” INF_Framework.cmx , IPS_Framework.cmx , INF_MNU.kex , INF_MNU.wfx ” の4ファイルと
” FW_オートINF_Framework_MkII.wfx , FW__オートINF_Framework_MkII.kex ”( 既存ファイル名 の場合 )、
そして ” IPS_MV2LBX.wfx ,IPS_MV2LBX.kex , INF_DispCondSave.wfx , INF_DispCondSave.kex , IPS_EditPermission.wfx , IPS_EditPermission.kex”
の 合計12ファイルになります。

そして  "オートINF_Framework" のファイル名を "モダンINF_Framework" に変更します。

モダンINF_Framework は他に、フォームの[参照表]と[編集対象表]の属性に指定する ”表”ファイル が必要になります。
ここでは ”新メニューの練習.tbx” (サンプル集に含まれます) をファイル名を変更して使用します。


1.フォーム ”モダンINF_Framework_MkII.wfx” を再定義で開いて、オブジェクトの属性を変更します。

ファイルを再定義で開く際に、エラーメッセージが表示される場合には
[無視(I)] → [キャンセル] 等、お好みの手順で開いてください (^_^)v
   

 

1-1.イベントファイル名と、編集対象表を次のように変更します。

 

1-2.以上のように設定を変更するだけで、ご自分が作成するプログラムを追加できるようになります。

 

オートINF_Framework_MkII のフォームの[参照表]と[編集対象表]の属性に、任意の ”表”を指定すると モダンINF_Framework_MkII になります
  雛形となる モダンINF_Framework_MkII のフォームとイベントのファイルを準備しておいて
 コピー&リネーム して フォームの再定義でイベントファイル名と編集対象表を設定すれば
簡単に INF_Framework の便利機能が使え、更にご自分が作成するプログラムを追加できるフォームができあがります。
  ※ 新しいフォームとイベントのファイル名は ” 指定した 表 ” と同じ名称をお勧めします。

 


2.フォームに準備されているコマンドボタン等について

不要なボタンはワークス―ペースに移動させておきます(原則として削除しないようにしてください)。

※特に [許可作業] ボタンについては、一考されることが少なくないかと思います。

また  は現在のエリア外には出さないようにしてください(使用時には表示されません)。

 


3.グループ項目の設定

モダンINF_Framework は オートINF_Framework を任意の表専用にしたものです。
実際の動作は オートINF_Framework と変わらず起動のたびに明細部の項目が自動設定されています。

デフォルトのままグループ項目を設定をするとグループ項目にしたソースも明細部に表示されてしまいます。

  ※上図では、グループ操作バー を 「上」 に配置してみました。

そこでグループ項目に指定したソースを明細部に表示させないようにする、には イベントを次のように設定します。

   以下のサンプルでは61行目の

**
変数宣言 局所,整数 { &ONEmGroupObjectSeek = 1 }の行を  250行目に複写し
(**-- <end 標準 INF Framework 第3.3版 名札 メイン> --** の後に複写するということです)

複写した行の先頭のアスタリスク記号( * )を取り除いて有効にします。

なお、コメント行になっている61行目を有効にしても同じ結果になりますが、

INF_Framework のバージョンアップによって[標準 INF_Framework 第?.?版 名札 メイン]を差し替える際には、

  34行目  ― **-- <begin 標準 INF Framework 第3.3版 名札 メイン> --**
 から
248行目 ― **-- <end 標準 INF Framework 第3.3版 名札 メイン> --**

の範囲を置き換えることになります。

※つまり61行目を有効にしていたのに、既存値のコメント行に置き換わってしまいます(リセット)。
 置き換える範囲外( ここでは 250行目 )に複写にしておけばユーザーの設定が置き換わることがありません。

以上の手順で グループ項目に設定した、[性別] の項目が明細部から除かれます。

  ※下図では、グループ操作バー を 「下」 に配置してみました。


<ヒント>

フォーム起動時に[開始時実行コマンド]ボタンで以下の 手続き を実行するようにしておくと地味に便利です (^^♪

 手続き定義開始 cmdStartupClick( )
  * 変数宣言 自動,文字列{ &icon, &title = "cmdStartupClick( )", &msg }
  変数宣言 自動,数値 { &formWidth }
  変数宣言 自動,文字列{ &formObjectName = #半角( "フォーム" ) }
  条件 ( #変数( "INFmKnjForm" ) ) &formObjectName = #全角( &formObjectName )
  ** 幅を狭くしてフォームスクロールバーが現れ難くする
  オブジェクト操作 &formObjectName{ &formWidth = フォームの幅 }
  &formWidth = #int( &formWidth / 4 )
  オブジェクト操作 &formObjectName{ フォームの幅 = &formWidth }
  オブジェクト操作 &formObjectName{ &EZWmWfmWidth = フォームの幅 }
 手続き定義終了