INF_Framework は ONnoji さん作成のフリーのライブラリです。
フォームに便利な機能を追加してくれます。
ここでは INF_Framework が適用されたフォームの便利機能を、
できるだけ簡単に利用できるように解説していきたいと思っています(?、頑張ります)。
※ INF_Framework 第3.2版 ファイナル ( INF_Framework 第3.2版 Rev.227 ) for 桐10 / 桐10s を使用しています。
☆ INF_Framework 第3.2版 の公開は終了しました。
ここで使用する ライブラリ は所定のサイト
からダウンロードしてください。
局所変数を保存、復元する
INF_Fremework では 局所変数を保存、復元することができます。
指定した局所変数の値をフォームを閉じる際に保存し、次に起動する際に値を復元します。
クラシックINF_Framework の場合
〇 保存する局所変数を プロシージャ― INFprcStartup に記載する。
上図の場合、268行目に続けて追加記載していきます。
&INFmSaveVariableNameList = "&UTLSORTmKeep, &UTLSORTmPos" /* ソート行保持,
ソートピクチャ表示 */
条件 ( #変数( "FSCmUse" ) .and #変数( "FSCmSave" ) ) &INFmSaveVariableNameList =
&INFmSaveVariableNameList + ", &FSCmFormColor"
&INFmSaveVariableNameList = &INFmSaveVariableNameList + ", &変数名A, &変数名B, &変数名C"
といった具合に &INFmSaveVariableNameList に "+" で追加していきます。
また変数名の区切りはコンマ(,)で、半角と全角のどちらでもOKです。 ※(注)
変数名リストを参照
以上の手順だけで、フォームを閉じたときに 指定した局所変数の値が保存されて次回フォームを開いたときはその値が復元されます。
モダンINF_Framework の場合
〇 フォーム起動時の開始時実行コマンドのプロシージャ―に記載する。
☆ フォームの開始時実行コマンドの登録方法については→ こちら(クリックしてください) をご覧になってください。
記載内容は次の通りです。
234 | 手続き定義開始 cmdStartupClick( ) |
235 | * 変数宣言 自動,文字列{ &icon, &title = "cmdStartupClick( )", &msg } |
236 | 変数宣言 自動,数値 { &formWidth } |
237 | 変数宣言 自動,文字列{ &formObjectName = #半角( "フォーム" ) } |
238 | 条件 ( #変数( "INFmKnjForm" ) ) &formObjectName = #全角( &formObjectName ) |
239 | |
240 | ** 幅を狭くしてフォームスクロールバーが現れ難くする |
241 | オブジェクト操作 &formObjectName{ &formWidth = フォームの幅 } |
242 | &formWidth = #int( &formWidth / 4 ) |
243 | オブジェクト操作 &formObjectName{ フォームの幅 = &formWidth } |
244 | オブジェクト操作 &formObjectName{ &EZWmWfmWidth = フォームの幅 } |
245 | |
246 | ** &INFmSaveVariableNameList = &INFmSaveVariableNameList + "," + コンマで区切った変数名リスト |
247 | &INFmSaveVariableNameList = &INFmSaveVariableNameList + ", &変数名A, &変数名B, &変数名C" |
248 | |
249 | 手続き定義終了 |
・ 変数名をコンマ(,)で区切った文字列 ※読点(、)は不可
・ コンマ記号(,)は全角でもOK
・ アンパサンド記号(&)は省略してOK ※アンパサンド記号(&)は全角でもOK
・ 配列変数の添え字は省略してOK ※角カッコ([ ])は全角でもOK
・ 指定した変数が配列変数か否かは自動的に判定します
・ 配列変数と判定した場合には、その配列変数のすべての要素が対象になります
・ 変数名に付けられたアンパサンド記号(&)と添え字"[n]"は無視します
・ 変数名リストの文字列中に空白文字が幾つあってもOK ※trim(空白除去)します