桐の釣魚大全のトップ > INF_Framework の手続きリファレンス
トップページに戻る


鋭意校正中です。
念のためにブラウザでF5キーを押してリロードしてからお読みください。


 この文書は INF_Framework で利用できる手続きのリファレンスです。

  目次

  変数名:&INFmKnjForm / #変数( "INFmKnjForm" ) / #局所変数( &hdl, "INFmKnjForm" ) )
  名称:メッセージボックス(ポーズ・一時停止)
  名称:メッセージボックス(OK/キャンセル)
  名称:メッセージボックス(はい/いいえ)
  名称:ランチャー(またはローンチャー)
  名称:シーカー(探索器)
  名称:センダー(送信器)
  名称:ダブルクリックでコマンドを実行する
  名称:HDLVAR(変数の受け渡し)
  名称:HDLAPIprcItem(アイテム選択のダイアログボックスを開く)
  名称:HDLAPIprcHandle(ウィンドウを選択するフォームを開く)

 この文書は INF_Framework で利用できる手続きのリファレンスです。


1.INF_Framework 局所変数


 ■変数名:&INFmKnjForm / #変数( "INFmKnjForm" ) / #局所変数( &hdl, "INFmKnjForm" ) )

  桐9-2012/桐9sから変換したフォームと桐10以降で新規作成したフォームが混在している場合、
  桐9-2012/桐9sから変換したフォームのオブジェクト名は半角、桐10以降で新規作成したフォームのオブジェクト名は全角です。

  INF_Framework では、局所変数:&INFmKnjForm は、

  フォームのオブジェクト名が半角 … 未定義値
  フォームのオブジェクト名が全角 … イチ( 1 )

  (注意)桐9-2012/桐9sで INF_Framework を実行した場合には、変数名:&INFmKnjForm は宣言されません。

  使い方( usage ): 

   ** 桐9-2012/桐9sから変換したフォームのオブジェクト名は半角、桐10以降で新規作成したフォームのオブジェクト名は全角
   変数宣言 自動,文字列{ &formObjectName = #半角( "フォーム" ) }
   条件 ( #局所変数( &hdl, "INFmKnjForm" ) ) &formObjectName = #全角( &formObjectName )
   条件 ( &traceON ) トレース出力 _#局所変数( &hdl, "INFmKnjForm" ), " ", _&formObjectName
   メソッド呼び出し ハンドル = &hdl, &formObjectName.アクティブ設定()
   ** メソッド呼び出し ハンドル = &hdl, @フォーム.アクティブ設定() /* 桐10以降で新規作成したフォームしか扱わなければリテラルでもOK */


2.INF_Framework 一般プロシージャ

 ■名称:メッセージボックス(ポーズ・一時停止)

  手続き名(引数):INFprcMsgPause(
&icon, &title, &msg )

  
値渡し引数

  文字列/ &icon … 未定義値、または"i", "?", "!", "e" 英大文字可能 全角可能
  文字列/ &title … 未定義値、またはメッセージボックスのタイトルバーに表示する文字列
  文字列/ &msg  … 未定義値、またはメッセージボックスで表示する文字列(改行:\n タブ:\t)

  使い方( usage ): 

   &title = "ファイルについて"
   &msg  =      "フォルダ:" + #文字置換( #ファイル名( &fileName, 5 ), "\", "\\" ) /* 改行\ 記号をエスケープ */
   &msg  = &msg + "\n\nファイル:" + #ファイル名( &fileName, 3 )
   &icon = "i"
   手続き実行 INFprcMsgPause( &icon, &title, &msg )


 ■名称:メッセージボックス(OK/キャンセル)

  手続き名(引数):INFprcMsgOKCancel(
&icon, &title, &msg, &ans )

  
値渡し引数

  文字列/ &icon … 未定義値、または"i", "?", "!", "e" 英大文字可能 全角可能
  文字列/ &title … 未定義値、またはメッセージボックスのタイトルバーに表示する文字列
  文字列/ &msg  … 未定義値、またはメッセージボックスで表示する文字列(改行:\n タブ:\t)

  
参照渡し引数

  整数型/ &ans  … [OK]ボタンを押した場合イチ( 1 )が返される/ [キャンセル]/[×]ボタンを押した場合にゼロ( 0 ) が返される

  使い方( usage ): 

   &title = "一覧表印刷実行"
   &msg  =      "一覧表印刷を実行します"
   &msg  = &msg + "\n\nよろしいですか?"
   &icon = "?"
   手続き実行 INFprcMsgOKCancel( &icon, &title, &msg, &ans )


 ■名称:メッセージボックス(はい/いいえ)

  手続き名(引数):INFprcMsgYesNo(
&icon, &title, &msg, &ans )

  
値渡し引数

  文字列/ &icon … 未定義値、または"i", "?", "!", "e" 英大文字可能 全角可能
  文字列/ &title … 未定義値、またはメッセージボックスのタイトルバーに表示する文字列
  文字列/ &msg  … 未定義値、またはメッセージボックスで表示する文字列(改行:\n タブ:\t)

  
参照渡し引数

  整数型/ &ans  … [はい]ボタンを押した場合イチ( 1 )が返される/ [いいえ]/[×]ボタンを押した場合にゼロ( 0 ) が返される

  使い方( usage ): 

   &title = "一覧表印刷実行"
   &msg  =      "一覧表印刷を実行します"
   &msg  = &msg + "\n\nよろしいですか?"
   &icon = "?"
   手続き実行 INFprcMsgYesNo( &icon, &title, &msg, &ans )


 ■名称:ランチャー(またはローンチャー)

  手続き名(引数):HDLLNCprcWindowAppear(
&wfm, &tbl, &hdl, &openStatus )

  
値渡し引数

  文字列/ &wfm … フルパスのフォームファイル名と拡張子(.wfx)
  文字列/ &tbl … フルパスの表ファイル名と拡張子(.tbx/.vix/.xvx)

  
参照渡し引数

  整数型/ &hdl    … ローンチに成功した場合にハンドル番号が返される/ 失敗した場合にゼロ( 0 ) が返される
  整数型/ &openStatus … 新しいウィンドウを開いた時は 1 、その他は 0

  使い方( usage ): 

   &wfm = #一括パス名 + "transaction_A.wfx"
   &tbl = #一括パス名 + "transaction_A.tbx"
   手続き実行 HDLLNCprcWindowAppear( &wfm, &tbl, &hdl, &openStatus )
   条件 ( &traceON ) トレース出力 _&wfm, " ", _&tbl
   条件 ( &traceON ) トレース出力 _&hdl, " ", _&openStatus

  ⇒ HDLLNC 仕様メモ 1st_Spec_Memo_HDLLNC.txt


 ■名称:シーカー(探索器)

  手続き名(引数):HDLLNCprcHdlSeek(
&targetFileName, &found, &status, &multi, &mode )

  
値渡し引数

   文字列/ &targetFileName … フルパスのフォームファイル名と拡張子(.wfx)/ フルパスの表ファイル名と拡張子(.tbx)

  
参照渡し引数

   整数型/ &found … 探索に成功した場合にハンドル番号が返される/ 失敗した場合にゼロ( 0 ) が返される
   整数型/ &status … フォーム編集ならばハンドルの番号を返す/ 表編集ならば未定義値を返す/ ファイルが見つからなければゼロを返す
   整数型/ &multi … 表が多重化されているならば2番目の表番号を返す
   整数型/ &mode  … &found のハンドル番号のウィンドウの編集状態を返す ※1

   ※1 &mode の値は、フォームの[更新モード取得]メソッドが返す値に準拠しています
   戻り値 更新モード
      0 表示モード
      2 訂正モード
      4 行挿入モード
      6 行追加モード
      8 項目訂正モード(レコード更新を伴わない訂正も含む)
     33 グループ検索モード
     34 グループ値訂正モード
     36 グループ追加モード

  使い方( usage ): 

   &wfm = #一括パス名 + "NO_FLD_EZW_Receiver.wfx"

   &targetFileName = &wfm
   手続き実行 HDLLNCprcHdlSeek( &targetFileName, &found, &status, &multi, &mode )
   条件 ( &traceON ) トレース出力 _&targetFileName
   条件 ( &traceON ) トレース出力 _&found, " ", _&status, " ", _&multi, " ", _&mode "  ", _&mode


 ■名称:センダー(送信器)

  手続き名(引数):HDLCOMprcMacroSend(
&hdl, &sendMacro, &done )

  
値渡し引数

   整数型/ &hdl    … 事前にシーカーで探索したハンドル番号( &found )を代入する
   文字列/ &sendMacro … 桐で実行可能なコマンド、またはメソッドを代入する

  
参照渡し引数

   整数型/ &done    … 実行に成功した場合にイチ( 1 )が返される/ 失敗した場合にゼロ( 0 ) が返される ※2

  ※2 INF_Framework が組み込まれていないフォームへ送信した場合には、INF_Framework からエラーメッセージが表示されます。

  使い方( usage ): 

   変数宣言 自動,文字列{ &SP  = #jis( #hex("20") ) } /* 空白文字  */
   変数宣言 自動,文字列{ &WQ  = #jis( #hex("22") ) } /* 二重引用符 */

   ** リテラルで書くと間違いやすい: &sendMacro = "確認 ""こんにちは"""
   &sendMacro = "確認" + &SP + &WQ + "こんにちは" + &WQ
   手続き実行 HDLCOMprcMacroSend( &hdl, &sendMacro, &done )
   条件 ( &traceON ) トレース出力 _&hdl, " ", _&sendMacro, " ", _&done


 ■名称:ダブルクリックでコマンドを実行する

  手続き名(引数):INFprcDoubleClickEval(
&this, &macro )

  
値渡し引数

   文字列/ &this … [マウス左クリック]イベントが発生したオブジェクトのオブジェクト名
   文字列/ &macro …  桐で実行可能なコマンド、またはメソッドを代入する

  使い方( usage ): 

   ※この手続きは、必ず[マウス左クリック]イベントハンドラから呼び出します。

   手続き定義開始 objectName::マウス左クリック(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ,参照 長整数 &処理中止)
    変数宣言 自動,文字列{ &macro }
    変数宣言 自動,文字列{ &SP = #jis( #hex("20") ) } /* 空白文字  */
    変数宣言 自動,文字列{ &WQ = #jis( #hex("22") ) } /* 二重引用符 */

    ** ダブルクリックの間隔:時間型変数:&EZWmIntervalDoubleClickDefault
    ** &EZWmIntervalDoubleClickDefault = i"0時間 0分 0.8秒" /* INF_Framework のデフォルト値 */
    &EZWmIntervalDoubleClickDefault = i"0時間 0分 1秒"    /* 適宜調整してください     */

    &macro = "確認" + &SP + &WQ + "こんにちは" + &WQ
    手続き実行 INFprcDoubleClickEval( &this, &macro )

   手続き定義終了

  (重要)
   編集可能なテキストボックスでは、ダブルクリックは出来ません。
   なぜならば、最初のクリックで、テキストボックスにキャレットが現れて、エディタに進入してしまうからです。
   エディタに進入した後には、[マウス左クリック]イベントが発生しませんので、ダブルクリックは検出できなくなります。

 ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇


3.コールバック先があるプロシージャ

 ※コールバックプロシージャ( Callback Procedure )とは、ダイアログを閉じた後、その結果(応答内容)を受け取って実行されるようにあらかじめ指定しておく処理。


  ■名称:HDLVAR(変数の受け渡し)

  手続き名(引数):HDLVARprcWindowAppearVarSend(
&modalControl, &wfmFileName, &tblFileName, &procedureName, &hdl )

  値渡し引数

   値渡し 整数  &modalControl … 1:モーダルのダイアログボックス 0:モードレスのダイアログボックス
   値渡し 文字列 &wfmFileName  … フルパスのフォームファイル名( .wfx )
   値渡し 文字列 &tblFileName  … フルパスの表ファイル名( .tbx )
   値渡し 文字列 &procedureName … ダイアログボックスを閉じた時、主ウィンドウ側の[タイマー2]イベントで実行する手続き名 ※
コールバック先

  参照渡し引数

   参照渡 整数  &hdl      … モードレスのダイアログボックスの場合、HDLLNCprcWindowAppear( )のハンドル番号が返ります

  詳細は HDLVAR仕様メモ 第2版 1st_Spec_Memo_HDLVAR_2nd_Edition.txtを参照

  使い方( usage ):

   /* 呼び出し元 */

   手続き定義開始 cmdObjectNameClick( )
    変数宣言 自動,文字列{ &icon, &title = "cmdObjectNameClick( )", &msg }
    変数宣言 自動,文字列{ &wfmFileName, &tblFileName, &procedureName }
    変数宣言 自動,整数 { &hdl, &modalControl = 1 }

    ** ダイアログボックスに渡す局所変数を指定します
    &HDLVARmStoreParameter = "整数 { &mFieldIndex }"
    &HDLVARmStoreParameter = &HDLVARmStoreParameter + "文字列 { &mFieldName }"

    ** 主ウィンドウに返す局所変数を指定します
    &HDLVARmReturnParameter = "&mFieldIndex, &mFieldName"

    ** ダイアログボックスを開くモードを指定します ※0:通常のウィンドウ 1:モーダルのウィンドウ
    &modalControl = #cond( 1 + #配列要素数( "INFmModalControl" ), #変数( "INFmModalControl" ), 1, 1 )

    ** ダイアログボックスのフォームファイル名( .wfm )と表ファイル名( .tbl )を指定します
    &wfmFileName  = #一括パス名 + "FileName.wfm"
    &tblFileName  = #一括パス名 + "FileName.tbl" /* nullフォームの場合には未定義値 */

    ** ダイアログボックスを閉じた時、主ウィンドウの[タイマー2]イベントで実行する一般手続き名を指定します
    &procedureName = "cmdObjectNameClickRETURN"

    手続き実行 HDLVARprcWindowAppearVarSend( &modalControl, &wfmFileName, &tblFileName, &procedureName, &hdl )

   手続き定義終了

   /* コールバック先 */

   手続き定義開始 cmdObjectNameClickRETURN( 整数 &exit )
    変数宣言 自動,文字列{ &icon, &title = "cmdObjectNameClickRETURN( )", &msg }

    if ( #変数( "mOnReturnDebug" ) )
     &msg = "デバッグ情報"
     &msg = &msg + "\n\n※" + #cond( &exit = 1, "[OK]", &exit = 2, "[適用]", 1, "[キャンセル]/[×]" ) + "ボタンを実行しました"
     &msg = &msg + "\n\n&exit = " + #str( &exit )
     &icon = "i"
     手続き実行 INFprcMsgPause( &icon, &title, &msg )
    end

    if ( &exit ) /* &exit が 1(OK) または 2(適用) */

     *[OK]または[適用]の場合の処理

    else /* &exit が 0(キャンセル・×) */

     *[キャンセル]または[×]の場合の処理

    end

   手続き定義終了



  ■名称:HDLAPIprcItem(アイテム選択のダイアログボックスを開く)

  この機能は、主ウィンドウからモーダルなアイテム選択のダイアログボックスを開きます。

  手続き名(引数):HDLAPIprcItem( &modalControl, &titlebarMsg, &workMsg, &stringDim, &procedureName, &done )

  
値渡し引数

   整数型/ &modalControl … 1:モーダルのダイアログボックス 0:モードレスのダイアログボックス
   文字列/ &titlebarMsg  … タイトルバー文字列
   文字列/ &workMsg    … 操作ガイドの文字列
   文字列/ &stringDim   … アイテムとして値を渡す配列変数 ※注意 引数に []と要素数は指定しない 要素数は最大50まで可能
   文字列/ &procedureName … アイテムを選択してダイアログボックスを閉じた時、主ウィンドウ側の[タイマー2]イベントで実行する手続き名

  参照渡し引数


   整数型/ &done     … 1:実行した 0:実行できなかった

  詳細は HDLAPI仕様メモ 1st_Spec_Memo_HDLAPIprcItem_HDLAPIprcHandle.txtを参照

  使い方( usage )

   **       引数の意味:モーダル    タイトルバー文字  操作ガイド 配列変数名 実行手続き名  終了状態
   手続き実行 HDLAPIprcItem( &modalControl, &titlebarMsg, &workMsg, &stringDim, &procedureName, &done )

  /* 呼び出し元 */

  手続き定義開始  cmdアイテム表示Click( )
   変数宣言 自動,文字列{ &icon, &title = "cmdアイテム表示Click( )", &msg }
   変数宣言 自動,文字列{ &SP = #jis( #hex("20") ) }
   変数宣言 自動,文字列{ &stringDim[ 20 ] }
   変数宣言 自動,文字列{ &titlebarMsg, &workMsg, &procedureName }
   変数宣言 自動,整数 { &modalControl }
   変数宣言 自動,整数 { &done }

   *----- begin アイテム作成 -----*
   変数宣言 自動,文字列{ &アイテム名配列DIM[ 20 ] }
   変数宣言 自動,整数 { &i, &loop, &step = 1 }
   &loop = #配列要素数( "アイテム名配列DIM" )
   繰り返し &i = 1, &loop, &step

    &アイテム名配列DIM[ &i ] = #右側文字列( #複写( &SP, 3 ) + #str( &i ), 3 ) + "番めのアイテム"

   繰り返し終了
   *----- end アイテム作成 -----*

   ** 以下は値渡しの引数の初期値
   &modalControl = 1 /* モーダル */
   &titlebarMsg = &title /* タイトルバー文字 */
   &workMsg   = "アイテムをクリックしてください" /* 操作ガイド */
   &stringDim  = &アイテム名配列DIM /* 配列変数名 */
   ** 注意 []と要素数は指定しない
   &procedureName = "cmdアイテム表示ClickRETURN" /* 実行手続き名 */

   **       引数の意味:モーダル    タイトルバー文字  操作ガイド 配列変数名 実行手続き名  終了状態
   手続き実行 HDLAPIprcItem( &modalControl, &titlebarMsg, &workMsg, &stringDim, &procedureName, &done )

  手続き定義終了

  /* コールバック先 */

  手続き定義開始 cmdアイテム表示ClickRETURN( 整数 &itemNum )
   変数宣言 自動,文字列{ &icon, &title = "cmdアイテム表示ClickRETURN()", &msg }

   &msg = "&itemNum = " + #str( &itemNum )
   &icon = "i"
   手続き実行 INFprcMsgPause( &icon, &title, &msg )

  手続き定義終了


  ■名称:HDLAPIprcHandle(ウィンドウを選択するフォームを開く)

  HDLAPIprcHandle … 現在表示されているウィンドウを選択するフォームを表示します

  この機能は、主ウィンドウからモーダルなウィンドウ選択のダイアログボックスを開きます。

  手続き名(引数):HDLAPIprcHandle( &modalControl, &titlebarMsg, &workMsg, &extensionList, &hdlExcept, &done )

  
値渡し引数

   整数型/ &modalControl … 1:モーダル 0:モードレス
   文字列/ &titlebarMsg  … タイトルバー文字列
   文字列/ &workMsg    … 操作ガイドの文字列
   文字列/ &extensionList … "wfx,tbx,vix,xvx,wfm,tbl,viw,xvw" 半角コンマの拡張子リスト 全ての拡張子を指定する場合には "" または 未定義値
   整数型/ &hdlExcept … 自分自身のフォームウィンドウを除外する場合には、&hwindow 除外を指定しない場合には "" または 未定義値

  
参照渡し引数

   整数型/ &done     … 1:実行した 0:実行できなかった

  詳細は HDLAPI仕様メモ 1st_Spec_Memo_HDLAPIprcItem_HDLAPIprcHandle.txtを参照

  使い方( usage )

   ** 引数の意味:モーダル タイトルバー文字 操作ガイド 拡張子リスト 除外ハンドル 終了状態※戻り値はハンドルを取得した:1 取得しない:0
   手続き実行 HDLAPIprcHandle( &modalControl, &titlebarMsg, &workMsg, &extensionList, &hdlExcept, &done )

  INF_FW のシステム変数
 
  ・&HDLSELmAction … [コマンド]コマンドで実行するコマンド
   &HDLSELmAction にはウィンドウのアイテムを選択した場合に[タイマー1]で実行するコマンドを指定する

  (例)
   &HDLSELmAction = "手続き実行 cmdウィンドウ一覧ClickRETURN( &HDLSELmTargetHdlNum, &HDLSELmSelectFileName, &HDLSELmWfmFileName, &HDLSELmTblFileName )"

   選択したウィンドウの情報は、次の INF_FW のシステム変数に代入されます。

   ・&HDLSELmTargetHdlNum  … 選択したウィンドウのハンドル番号
   ・&HDLSELmSelectFileName … ウィンドウのファイル名
   ・&HDLSELmWfmFileName  … フォームのファイル名
   ・&HDLSELmTblFileName  … 表のファイル名

  /* 呼び出し元 */

  手続き定義開始 cmdウィンドウ一覧Click( )
   変数宣言 自動,文字列{ &icon, &title = "cmdウィンドウ一覧Click", &msg }
   変数宣言 自動,文字列{ &extensionList }
   変数宣言 自動,文字列{ &titlebarMsg, &workMsg }
   変数宣言 自動,整数 { &modalControl }
   変数宣言 自動,整数 { &hdlExcept }
   変数宣言 自動,整数 { &done }

   ** &HDLSELmAction にウィンドウのアイテムを選択した場合に[タイマー1]で実行するコマンドを指定する
   &HDLSELmAction = "手続き実行 cmdウィンドウ一覧ClickRETURN( &HDLSELmTargetHdlNum, &HDLSELmSelectFileName, &HDLSELmWfmFileName, &HDLSELmTblFileName )"

   ** 変数名:&HDLSELmTargetHdlNum, &HDLSELmSelectFileName, &HDLSELmWfmFileName, &HDLSELmTblFileName は INF_FW のシステム変数

   &modalControl = 1 /* モーダル */
   &titlebarMsg = &title /* タイトルバー文字 */
   &workMsg  = "アイテムをクリックしてください" /* 操作ガイド */
   &extensionList = ""      /* 拡張子の指定 */
   &hdlExcept = &hwindow /* 除外ハンドル */

   ** 引数の意味:モーダル タイトルバー文字 操作ガイド 拡張子リスト 除外ハンドル 終了状態※戻り値はハンドルを取得した:1 取得しない:0
   手続き実行 HDLAPIprcHandle( &modalControl, &titlebarMsg, &workMsg, &extensionList, &hdlExcept, &done )

  手続き定義終了

  /* コールバック先 */

  手続き定義開始 cmdウィンドウ一覧ClickRETURN( 整数 &hdl, 文字列 &windowName, 文字列 &wfmName, 文字列 &tblName )
   変数宣言 自動,文字列{ &icon, &title = "cmdウィンドウ一覧ClickRETURN( )", &msg }

   &msg = "&hdl = " + #str( &hdl )
   &msg = &msg + "\n\n&windowName = " + #文字置換( &windowName, "\", "\\" )
   &msg = &msg + "\n\n&wfmName = " + #文字置換( &wfmName, "\", "\\" )
   &msg = &msg + "\n\n&tblName = " + #文字置換( &tblName, "\", "\\" )
   &icon = "i"
   手続き実行 INFprcMsgPause( &icon, &title, &msg )

  手続き定義終了



以上

トップページに戻る
桐の釣魚大全のトップ >  INF_Framework の手続きリファレンス