INF Framework 第3.3版 デートピッカー Rev.1 の 修正方法


INF_DatePicker.kex/kev に起因する現象

<現象1>

 フォーム:INF_DatePicker_Option で、以下の操作を行った時、次回フォーム:INF_DatePicker を開いた時に反映されない。

 ・日時文字列の形式を変更した
 ・日時文字列の詰め文字(空白・ゼロ・なし)を変更した
 ・クリップボードへコピーをオフにした
 ・文字列型・日時型の変数名を変更した
 ・文字列型専用の変数名を変更した

 ※背景色の変更結果は反映されます


<現象2>:INF_DatePicker.kex/kev を修正

  INF_DatePicker は、法令が改正される前の2020年10月に公開されたため、
  2021年の「山の日」の日付が誤っている。

 

INF_DatePicker.wfx/wfm に起因する現象

<現象3>

(1)環境設定で日時型の形式によって発生する不具合 ― 編集属性式が和暦に対応していなかった

環境設定で日時型の形式に和暦を選んでいる場合、INF_DatePicker.wfm/wfx の txtThisMonth が当月の場合に青色で表示されない。

(2)編集属性式が完全に誤っているために発生する不具合

前月:txtLastMonth、翌月:txtNextMonth が当月の場合に、青色で表示されない。

 


<改修方法>

修正プログラムは 【多遊】さんのホームページ「いまは、桐だけ」 ( リンクページは こちら  )、DOWN LOAD BBS で公開されています。

INF_DatePicker.wfx/wfm は単純に当月の表示色が青色にならないという問題ですので、改修は必須ではありません(修正ファイルは提供されていません)。
※気になる方は後述している 手操作による改修作業 の <現象3 の修正> の手順で修正してください。

DOWN LOAD BBS  #361

#195 #196 INF Framework 第3.3版 INF_DatePicker

INF_DatePicker_kex_yamanohi.zip / 72KB を解凍して INF_DatePicker.kex を上書きする(桐10/桐10s)。

----------

DOWN LOAD BBS  #362

Re[1]: #195 #196 INF Framework 第3.3版 INF_DatePicker

INF_DatePicker_kev_yamanohi.zip / 52KB を解凍して INF_DatePicker.kev を上書きする(桐9-2012/桐9s)。


<手操作による改修作業> は 以下の手順で。

 改修方法は、桐10/桐10s INF_DatePicker.kex および 桐9-2012/桐9sINF_DatePicker.kev において共通です。

<現象1 の修正>

■コピー&ペーストの手順

1.まず、イベントファイルの 2160行めのコマンドをクリップボードにコピーします。

2160 &INFmSaveVariableNameList = "&mDimensions, &FSCmFormColor, &mDateTypeNum, &mDateTimeScopeNum, &mPaddingTypeNum, &mClipboardCopy, &m変数名A, &m変数名B" /* , &mSTRvariableUse, &m年月日variableUse */
 
一般手続き:xINFprcStartup( ) の 35行め

 

   
 ※次が 一般手続き:xINFprcStartup を選択した場合の見え方(行番号)です。
   

2.最後に、2226行めの次の行に、新しい行を挿入して、コピーした 2160行めのコマンドを貼り付けます。

一般手続き:xINFprcStartup( ) の 48行め
2226 &INFmSaveVariableNameList = #u
  >――――― 新しい行を挿入して、コピーしたコマンドを貼り付けます ―――――<
※または、2226行めにコピーしたコマンドを貼り付けで上書きしてもOKです。
2227 条件 ( &INFmEZWidthUse )               &INFmSaveVariableNameList = "&UTLSORTmKeep, &UTLSORTmPos" /* ソート行保持, ソートピクチャ表示位置 */
 
↓ ↓ ↓ 以下のようになります
2226 &INFmSaveVariableNameList = #u
2227 &INFmSaveVariableNameList = "&mDimensions, &FSCmFormColor, &mDateTypeNum, &mDateTimeScopeNum, &mPaddingTypeNum, &mClipboardCopy, &m変数名A, &m変数名B" /* , &mSTRvariableUse, &m年月日variableUse */
2228 条件 ( &INFmEZWidthUse )               &INFmSaveVariableNameList = "&UTLSORTmKeep, &UTLSORTmPos" /* ソート行保持, ソートピクチャ表示位置 */

 

   
 ↓ ↓ ↓
 または、次のように直接上書きして &INFmSaveVariableNameList の値を変更します。
   

<現象2 の修正>

 2021年の「山の日」の日付の修正。

INF_DatePicker.kev と INF_DatePicker.kex 共通

行番号
2104  × &m祝日08月[4] = #trim( " 8, 9,,, 山の日 ,2021,2021", 4 )

2104  〇 &m祝日08月[4] = #trim( " 8, 8,,, 山の日 ,2021,2021", 4 )

※この変更だけで、自動的に2021年の8月9日(月)は振替休日になります

   
 ↓ ↓ ↓
   

<現象3 の修正>

INF_DatePicker.wfm/wfx の編集属性式の改修

以下の3つのテキストボックスの編集属性式を変更する。
オブジェクト名:txtLastMonth , オブジェクト名:txtThisMonth , オブジェクト名:txtNextMonth

オブジェクトのリスト で表示すると次のようになります(編集属性式を修正します)。

〇txtLastMonth

誤) #cond( #str( #年( #年月日 ) ) + "年" + #str( #月( #年月日 ) ) + "月" = #変数( "mYearMonthStringLastMonth" ), "前景色'青',フォント太さ'太字'" )
    ↓
正) #cond( #str( #年( #日付( #年月日, 1 ) ) ) + "年" + #str( #月( #年月日 ) ) + "月" = #変数( "mStringLastMonth" ), "前景色'青',フォント太さ'太字'" )

 

〇txtThisMonth

 

誤) #cond( #str( #年( #年月日 ) ) + "年" + #str( #月( #年月日 ) ) + "月" = #変数( "mStringThisMonth" ), "前景色'青',フォント太さ'太字'" )
    ↓
正) #cond( #str( #年( #日付( #年月日, 1 ) ) ) + "年" + #str( #月( #年月日 ) ) + "月" = #変数( "mStringThisMonth" ), "前景色'青',フォント太さ'太字'" )

 

〇txtNextMonth

 

誤) #cond( #str( #年( #年月日 ) ) + "年" + #str( #月( #年月日 ) ) + "月" = #変数( "mYearMonthStringNextMonth" ), "前景色'青',フォント太さ'太字'" )
    ↓
正) #cond( #str( #年( #日付( #年月日, 1 ) ) ) + "年" + #str( #月( #年月日 ) ) + "月" = #変数( "mStringNextMonth" ), "前景色'青',フォント太さ'太字'" )