桐の釣魚大全のトップ > 仕様メモ集 > Spec_Memo_WIDGET_電卓・カレンダの仕様メモ
トップページに戻る
鋭意校正中です。
念のためにブラウザでF5キーを押してリロードしてからお読みください。
Spec_Memo_WIDGET_電卓・カレンダの仕様メモ.txt By ONnoji
Rev.0 2019.10.29 WIDGET_電卓・カレンダの仕様メモ.txt
Rev.1 2020.09.09 Spec_Memo_WIDGET_電卓・カレンダの仕様メモ.txt
この仕様メモは[INF_Framework Rev.238]で追加された、[WIDGET_電卓・カレンダ]機能について書きとめたものです。
[入力支援ボタン]で[INF_電卓 / INF_DatePicker]を利用する場合には、後述の【転載】ヘルプ―INF_電卓・INF_DatePicker・INF_都道府県picker.txt を参照してください。
機能を体験するには、フォーム:V10s_モダン_現金出納帳.wfx を操作してください。
■概要
[INF_Framework Rev.238]では、[入力支援ボタン]使わずに[INF_電卓]と[INF_DatePicker]をシームレスにポップアップする機能が追加されました。
この機能を[WIDGET_電卓・カレンダ]機能と呼ぶことにします。
― [INF_電卓]のポップアップ
値がある数値・通貨・長整数・整数のテキストボックスで、四則演算キー[+][-][*][/]を押すと[INF_電卓]がポップアップします。
ただし、表示モードを除きます。
― [INF_DatePicker]のポップアップ
日時型のテキストボックスで任意のキーを押すと[INF_DatePicker]がポップアップします。ただし、表示モードを除きます。
※文字列型のテキストボックスで利用する場合には、後述のAPPENDIXを参照してください。
キーはデフォルトで[End]キーが割り当てられています。
【キーに指定できる文字】
キーに指定できる文字は、以下の文字でこれは基本的にキートップの文字と同じです。(例)"End" "Shft + End" "Ctrl + End"
BackSpace,Tab,Clear,Enter,Shift,Ctrl,Alt,Pause,CapsLock,英数,漢字,Esc,変換,無変換,スペース,PageUp,PageDown,End,Home,←,↑,→,↓,PrintScreen,Insert,Delete,Help
F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12
Windows左,Windows右,Application
0,1,2,3,4,5,6,7,8,9,*,+,Separator,-,.,/
NumLock,ScrollLock
:,;,comma,-,.,/,@
[,\,],^,-,backslash
漢字番号,カタカナ,ひらがな,半角/全角,ローマ字
※これらは VK_Frammework の定数として定義されています。キーボードの種類よっては存在しないキーがあります。
■初期化
Widget_電卓 の変数宣言は、[名札 メイン]で行う。
配置位置は[標準 INF Framework 第3.2版 名札 メイン]の前後のどこでもよい。
―[名札 メイン]の例
名札 メイン
:
:
*---------- begin Widget_電卓・カレンダ 名札 メイン ---------------*
** Widget:ウィジェット パソコンのデスクトップやWebページなどで動作する小さなアプリケーションのこと
変数宣言 局所,整数 { &WIDGETmLive = 1 }
if ( #変数( "WIDGETmLive" ) )
変数宣言 局所,整数 { &WIDGETmKeyDownContinue = 0, &WIDGETmSystemKeyDownContinue = 0 } /* 継続フラグ */
変数宣言 局所,整数 { &WIDGETmControlEventType } /* WIDGETprcFieldPopupEval の参照引数 キーダウン:1 システムキーダウン:2 */
変数宣言 局所,文字列{ &WIDGETm電卓項目FieldList }
変数宣言 局所,数値 { &WIDGETm電卓計算結果 }/* 変数受け渡しパラメータ */
変数宣言 局所,数値 { &WIDGETmSendVal } /* 変数受け渡しパラメータ */
変数宣言 局所,文字列{ &WIDGETmSendOperator }/* 変数受け渡しパラメータ */
変数宣言 局所,文字列{ &WIDGETmカレンダFieldList, &WIDGETmTriggerKey }
変数宣言 局所,文字列{ &WIDGETmカレンダ結果 }/* 変数受け渡しパラメータ */
変数宣言 局所,日時 { &WIDGETmSendDate } /* 変数受け渡しパラメータ */
&WIDGETmTriggerKey = "End" /* 指定例 "Shift + End" "Ctrl + End" など。カレンダをポップアップするキー操作(トリガー)※注意:表示モードでは動作しません */
end
*---------- end Widget_電卓・カレンダ 名札 メイン ---------------*
:
:
*
■スタートアップ
Widget_電卓 のスタートアップは、WIDGETprc電卓Startup( ) で行う。
WIDGETprc電卓Startup( )は、編集対象表の項目を調査するので、[フォーム開始]イベントハンドラ以降であればどのタイミングでもよい。
※つまり、編集対象表が開いていない[名札 メイン]では実行できない。
以下は、[開始時実行コマンド]に指定したコマンドオブジェクト:cmdStartup から実行した例である。
―[開始時実行コマンド]の例
手続き定義開始 cmdStartupClick( )
:
:
*---------- begin Widget_電卓・カレンダ -----------------*
条件 ( #変数( "WIDGETmLive" ) ) 手続き実行 WIDGETprc電卓カレンダStartup( )
*---------- end Widget_電卓・カレンダ -----------------*
:
:
手続き定義終了
― APPENDIX
■文字列型のフィールドでカレンダーのポップアップを設定する
[Widget_電卓・カレンダ]は、次のようにスタートアップします。
手続き定義開始 cmdStartupClick( )
変数宣言 自動,文字列{ &icon, &title = "cmdStartupClick( )", &msg }
*---------- begin Widget_電卓・カレンダ -----------------*
条件 ( #変数( "WIDGETmLive" ) ) 手続き実行 WIDGETprc電卓カレンダStartup( )
*---------- end Widget_電卓・カレンダ -----------------*
*----- begin 幅を狭くしてフォームスクロールバーが現れ難くする -----*
:
:
*----- end 幅を狭くしてフォームスクロールバーが現れ難くする -----*
手続き定義終了
WIDGETprc電卓カレンダStartup によって、電卓とカレンダーがポップアップする対象のオブジェクトが自動的に探索されて、
(例)&WIDGETm電卓項目FieldList … "txtField_4,txtField_5" ※ソースが基本項目の数値系テキストオブジェクト
(例)&WIDGETmカレンダFieldList … "txtField_1" ※ソースが基本項目の日時型テキストオブジェクト
↑の例のように、半角コンマで区切ったフィールドのリストが生成されます。
◇ ◇ ◇ ◇ ◇ ◇
しかし、文字列型のデータで日付を管理している場合もあります。
その場合には、次のようにして &WIDGETmカレンダFieldList にオブジェクト名を追加して、WIDGETprcFieldPopupEval を実行します。
―オブジェクト名:txtField_8 を追加する例
&WIDGETmカレンダFieldList = &WIDGETmカレンダFieldList + ",txtField_8" /* 半角コンマ + オブジェクト名 */
手続き実行 WIDGETprcFieldPopupEval( &EZWmFocusField, &WIDGETmControlEventType )
※WIDGETprcFieldPopupEval を実行するのは、キーダウンイベントを再セットするためです。
―設定例
手続き定義開始 cmdStartupClick( )
変数宣言 自動,文字列{ &icon, &title = "cmdStartupClick( )", &msg }
*---------- begin Widget_電卓・カレンダ -----------------*
条件 ( #変数( "WIDGETmLive" ) ) 手続き実行 WIDGETprc電卓カレンダStartup( )
*---------- end Widget_電卓・カレンダ -----------------*
** ↓の例は txtField_8 をカレンダーがポップアップする対象に追加する
*---------- begin &WIDGETmカレンダFieldList にオブジェクト名を追加 -----------------*
&WIDGETmカレンダFieldList = &WIDGETmカレンダFieldList + ",txtField_8" /* 半角コンマ + オブジェクト名 */
手続き実行 WIDGETprcFieldPopupEval( &EZWmFocusField, &WIDGETmControlEventType ) /* キーダウンイベントを再セット */
*---------- end &WIDGETmカレンダFieldList にオブジェクト名を追加 -----------------*
*----- begin 幅を狭くしてフォームスクロールバーが現れ難くする -----*
:
:
*----- end 幅を狭くしてフォームスクロールバーが現れ難くする -----*
手続き定義終了
■[キーダウン]イベントの継続
[キーダウン]イベントをオフにしたくない場合には、継続フラグをオンにします。
*---------- begin Widget_電卓・カレンダ 名札 メイン ---------------*
** Widget:ウィジェット パソコンのデスクトップやWebページなどで動作する小さなアプリケーションのこと
変数宣言 局所,整数 { &WIDGETmLive = 1 }
if ( #変数( "WIDGETmLive" ) )
:
:
:
end
*---------- end Widget_電卓・カレンダ 名札 メイン ---------------*
&WIDGETmKeyDownContinue = 1 /* [キーダウン]イベントを継続 */
&WIDGETmSystemKeyDownContinue = 1 /* [システムキーダウン]イベントを継続 */
◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆
【転載】ヘルプ―INF_電卓・INF_DatePicker・INF_都道府県picker.txt By ONnoji Copyright (C) 2019
ピッカーアプリ3種類の簡単な説明書
■フォーム:INF_電卓
・電卓で計算できます。
【出力】
・計算結果 ― (なし), &最大値, &最小値, &平均値, &合計値, &標準偏差
(注)変数名はドロップダウンリストから選べます。不要の場合には"(なし)"を選択してください。
【入力支援ボタン】
―電卓入力.wfm の設定例
オブジェクト名 :txt単価入力支援ボタン
入力支援ツールの種別:モーダルフォーム
選択値リスト :&合計値, "INF_電卓.wfm"
オブジェクト名 :txt数量入力支援ボタン
入力支援ツールの種別:モーダルフォーム
選択値リスト :&合計値, "INF_電卓.wfm"
【フォームの大きさ】
フォームは大き目に作ってありますので、必要に応じて[虫眼鏡(-)]ボタン または Alt + O で縮小してお使いください。
※フォームの大きさは記憶されます。
■フォーム:INF_DatePicker
・カレンダーから日付が入力出来ます。
・フォームの[テキストボックス]の[入力支援ボタン]で利用出来ます。
・クリップボードへ "令和" の日付がコピー出来ます。
・新元号に対応の桐では、組み込み変数:&STRに "令和" で日付が代入できます。
・新元号に非対応の桐でも、組み込み変数:&年月日に "令和" で日付が代入できます。
※変数名は初期値です。変数名はドロップダウンリストから選べます。不要の場合には"(なし)"を選択してください。
【詳細設定】
[ホーム(家)]アイコンボタンをクリックすると、[詳細設定]ウィンドウがポップアップします。
※旧版の場合には、[>>]ボタンをクリックすると、[詳細設定]領域が表示されます。
【日時文字列】
日時文字列の形式 ― [日時文字列の形式]ボタンをクリックしてメニューから選びます
【出力】
・クリップボードへコピー ― オンでクリップボードへ日付をコピーします(新元号非対応の桐でも令和で出力します)
・文字列・日時型 ― &STR (注)に日付をコピーします ※文字列・日時型兼用(新元号非対応の桐では常に平成になります)
・文字列型専用 ― &年月日(注)に日付をコピーします ※文字列専用(新元号非対応の桐でも令和で出力します)
(注)変数名は初期値です。変数名はドロップダウンリストから選べます。(なし), &年月日, &時刻, &STR, &比較式, &置換式, &選択ファイル名
不要の場合には"(なし)"を選択してください。
【新元号に非対応の桐】
新元号に非対応の桐でも、次の場合には "令和" が出力できます。
・クリップボードへコピー ― オン
・文字列専用 ― 変数名を指定する ※初期値は &年月日
【入力支援ボタン】
―カレンダー入力.wfm の設定例
オブジェクト名 :txt文字列型入力支援ボタン
入力支援ツールの種別:モーダルフォーム
選択値リスト :&年月日, "INF_DatePicker.wfm"
オブジェクト名 :txt日時型入力支援ボタン
入力支援ツールの種別:モーダルフォーム
選択値リスト :&STR, "INF_DatePicker.wfm"
【フォームの大きさ】
必要に応じて[虫眼鏡(-)]ボタン または Alt + O で縮小、または[虫眼鏡(+)]ボタン または Alt + I で拡大してお使いください。
※フォームの大きさは記憶されます。
■フォーム:INF_都道府県picker
・都道府県名と都道府県コード( JIS X 0401 )と地方名が入力できます。
・フォームの[テキストボックス]の[入力支援ボタン]で利用出来ます。
【出力】
・都道府県名 ― (なし), &年月日, &時刻, &STR, &比較式, &置換式, &選択ファイル名
・都道府県コード ― (なし), &年月日, &時刻, &STR, &比較式, &置換式, &選択ファイル名
・地方名 ― (なし), &年月日, &時刻, &STR, &比較式, &置換式, &選択ファイル名
(注)変数名はドロップダウンリストから選べます。不要の場合には"(なし)"を選択してください。
【入力支援ボタン】
―都道府県入力.wfm の設定例
オブジェクト名 :txt都道府県名入力支援ボタン
入力支援ツールの種別:モーダルフォーム
選択値リスト :&STR, "INF_都道府県picker.wfm"
オブジェクト名 :txt都道府県CODE入力支援ボタン
入力支援ツールの種別:モーダルフォーム
選択値リスト :&比較式, "INF_都道府県picker.wfm"
オブジェクト名 :txt地方名入力支援ボタン
入力支援ツールの種別:モーダルフォーム
選択値リスト :&置換式, "INF_都道府県picker.wfm"
【フォームの大きさ】
必要に応じて[虫眼鏡(-)]ボタン または Alt + O で縮小、または[虫眼鏡(+)]ボタン または Alt + I で拡大してお使いください。
※フォームの大きさは記憶されます。
【転載おわり】
以上
トップページに戻る
桐の釣魚大全のトップ > 仕様メモ集 > Spec_Memo_WIDGET_電卓・カレンダの仕様メモ