|
|
|
INF_Framework は ONnoji
さん作成のフリーのライブラリです。 |
フォームに便利な機能を追加してくれます。 |
|
ここでは INF_Framework
が適用されたフォーム の便利機能を、 |
簡単に利用できるように解説していきたいと思っています。 |
|
最新のライブラリ は次の通りです。 |
※ 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 で使用するには、ファイルのコンバートが必要です。 |
更新日:2022年11月6日 |
|
INF_Fremework では 局所変数の値を保存、復元することができます。
指定した局所変数の値をフォームを閉じる際に保存し、次に起動する際に値を復元します。
クラシックINF_Framework の場合
|
保存する局所変数を プロシージャ INFprcStartup に記載する。 |
|
|
|
以上のサンプルでは、294行目から続けて追加記載していきます。 |
|
292 |
&INFmSaveVariableNameList = &INFmSaveVariableNameList +
#cond( &INFmSaveVariableNameList <> #u, &comma ) + " &EZWmFieldLock,
&UTLSORTmDictionaryOrder, &UTLFLDmTextSelect" |
293 |
条件 ( #バージョン番号 >= 10.1 .and #変数( "UImConvertLive" )
) &INFmSaveVariableNameList = &INFmSaveVariableNameList + #cond(
&INFmSaveVariableNameList <> #u, &comma ) + " &UImModernUse" |
294 |
&INFmSaveVariableNameList = &INFmSaveVariableNameList + ", &変数名A,
&変数名B, &変数名C" |
|
|
といった具合に &INFmSaveVariableNameList に "+" で追加していきます。
また変数名の区切りはコンマ(,)で、半角と全角のどちらでもOKです。 ※(注) 変数名リストの解説を参照
以上の手順だけで、フォームを閉じたときに 指定した局所変数の値が保存されて次回フォームを開いたときはその値が復元されます。 |
モダンINF_Framework の場合
|
保存する局所変数を プロシージャ cmdStartupClick に記載して、フォーム起動時に実行させる。 |
|
フォームを定義画面で開いてコマンドボタン "cmdStartup "
をワークスペースに配置します。 |
|
|
|
コマンドボタンの設定は以上の通りです。 |
|
|
|
イベントファイルに "手続き定義開始 cmdStartupClick( ) " を準備する。 |
|
記載内容は次の通りです。 |
|
|
|
|
|
255 |
手続き定義開始 cmdStartupClick( ) |
256 |
* 変数宣言 自動,文字列{ &icon, &title = "cmdStartupClick( )", &msg } |
257 |
変数宣言 自動,数値 { &formWidth } |
258 |
変数宣言 自動,文字列{ &formObjectName = #半角( "フォーム" ) } |
259 |
条件 ( #変数( "INFmKnjForm" ) ) &formObjectName = #全角(
&formObjectName ) |
260 |
|
261 |
** 幅を狭くしてフォームスクロールバーが現れ難くする |
262 |
オブジェクト操作 &formObjectName{ &formWidth = フォームの幅 } |
263 |
&formWidth = #int( &formWidth / 4 ) |
264 |
オブジェクト操作 &formObjectName{ フォームの幅 = &formWidth } |
265 |
オブジェクト操作 &formObjectName{ &EZWmWfmWidth = フォームの幅 } |
266 |
|
267 |
** &INFmSaveVariableNameList = &INFmSaveVariableNameList +
"," + コンマで区切った変数名リスト |
268 |
&INFmSaveVariableNameList = &INFmSaveVariableNameList + ",
&変数名A, &変数名B, &変数名C" |
269 |
|
270 |
手続き定義終了 |
|
(注)変数名リストの解説
・ 変数名をコンマ(,)で区切った文字列 ※読点(、)は不可
・ コンマ記号(,)は全角でもOK
・ アンパサンド記号(&)は省略してOK ※アンパサンド記号(&)は全角でもOK
・ 配列変数の添え字は省略してOK ※角カッコ([ ])は全角でもOK
・ 指定した変数が配列変数か否かは自動的に判定します
・ 配列変数と判定した場合には、その配列変数のすべての要素が対象になります
・ 変数名に付けられたアンパサンド記号(&)と添え字"[n]"は無視します
・ 変数名リストの文字列中に空白文字が幾つあってもOK ※trim(空白除去)します