DOWN LOAD BBS

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■466 / inTopicNo.21)  Re[2]: Thin_INF_Framework のご案内
  
□投稿者/ ジェダイの桐 -(2024/09/06(Fri) 10:42:48)
    ONnojiさん


    こんにちは。


    > いわゆる[業務メニュー]という風な[フォームをローンチする]ためのフォーム、
    >
    > そうそう、いわゆる[メニュー]というやつですが、
    >
    > そういうフォームは必要無いですか?


    確かに、メニューフォームがあった方が
    便利だと思います。

    私自身メニューフォームになじみが無いのです。
    でも、私自身が頻繁に感じる事があります。
    表 の数が増えてきた時、表 が何処にあるか探すんですよね・・・


    良く考えてみたら、メニューフォームがあれば解決しますね!
    (しかも、具体的に指示する(教える)事が可能になりますね。)


    > これは絶対必要というものではありませんが、オペレータが迷子にならないで済むので、よろしいかと思いますが・・・
    >
    > 如何でしょうか???


    提案されるまで意識出来なかったですが、必要と考えます。
引用返信 [メール受信/OFF] 削除キー/
■467 / inTopicNo.22)  Re[3]: Thin_INF_Framework のご案内
□投稿者/ ONnoji -(2024/09/06(Fri) 11:23:18)
    ジェダイの桐さん

    >>いわゆる[業務メニュー]という風な[フォームをローンチする]ためのフォーム、
    >>そうそう、いわゆる[メニュー]というやつですが、
    >>そういうフォームは必要無いですか?
    > 確かに、メニューフォームがあった方が
    > 便利だと思います。
    > 私自身メニューフォームになじみが無いのです。
    > でも、私自身が頻繁に感じる事があります。
    > 表 の数が増えてきた時、表 が何処にあるか探すんですよね・・・
    > 良く考えてみたら、メニューフォームがあれば解決しますね!
    > (しかも、具体的に指示する(教える)事が可能になりますね。)
    >>これは絶対必要というものではありませんが、オペレータが迷子にならないで済むので、よろしいかと思いますが・・・
    >>如何でしょうか???
    > 提案されるまで意識出来なかったですが、必要と考えます。

    [フォーム+イベント処理+INF_Framwork]の場合には、

    ローンチャー(ランチャー)は実に簡単に実装出来ますよ。(^^ok

    ローンチャー(ランチャー)の注意点は、

    ・既にウィンドウとして開いている表(.tbx)
    ・既にステルスとして開いている表(.tbx)
    ・既に開いているフォーム(.wfx)
    ・既に開いているフォームの編集対象表(.tbx)

    をチェックしなければならないという点ですよ。

    これをキッチリやろうとすると、かなり面倒なんですよ。

    ちなみに、コマンドボタンの[機能名:開く]では、何もチェックしませんから結構トホホになるんですよ。アハハハha

    例えば、コマンドボタンの[機能名:開く]で、既に開いている表(.tbx)を指定すると、

    「既に開いています」で叱られると思います。

    お前は既に開いてる・・・、とね。

    また、編集対象表が無い NULLフォームは、コマンドボタンの[機能名:開く]で何個でも開けるんですよ。

    そして、同じ場所に重なって開かれるので、気が付くのが遅くなります。

    だから、本格的なローンチャー(ランチャー)機能が必要なんですよ。

    しかし、これを自作するのは大変なんですよ。

    でも、INF_Framwork には本格的なローンチャー(ランチャー)機能が組み込まれていますので、

    それを利用すれば簡単です。

    こういうところが、フレームワークの真骨頂なんですけどね。

    おっと、また自画自賛でした。(^^ゞ

    午後にサンプルをアップします。

    それをご覧になれば、[いわゆるメニュー]が簡単に自作出来ますよ。

    私( ONnoji )自身は、「メニュー」という言葉は嫌いで、「ランチャー」と呼ぶ方が好きなのですがねぇ〜。

    だから、「ランチャー」=「メニュー」だと思っていてください。

引用返信 [メール受信/OFF] 削除キー/
■468 / inTopicNo.23)  Re[4]: Thin_INF_Framework のご案内
□投稿者/ ONnoji -(2024/09/06(Fri) 16:44:19)
    2024/09/08(Sun) 17:58:02 編集(投稿者)
    2024/09/06(Fri) 17:15:06 編集(投稿者)
    2024/09/06(Fri) 16:59:05 編集(投稿者)

    ジェダイの桐さん

    > 午後にサンプルをアップします。
    > それをご覧になれば、[いわゆるメニュー]が簡単に自作出来ますよ。
    > 私( ONnoji )自身は、「メニュー」という言葉は嫌いで、「ランチャー」と呼ぶ方が好きなのですがねぇ〜。
    > だから、「ランチャー」=「メニュー」だと思っていてください。

    解凍すると以下の8個のファイルがあります。

    NO_FLD_EZW_Launcher.wfx
    NO_FLD_EZW_Launcher.kex

    transaction_A.kex
    transaction_A.tbx
    transaction_A.wfx

    transaction_B.kex
    transaction_B.tbx
    transaction_B.wfx

    とりあえず、ランチャー:NO_FLD_EZW_Launcher.wfx を開いてみてください。

    内容は NO_FLD_EZW_Launcher.kex を見ればすぐに分かりますよ。

    時間が無かったので説明書は後ほどご案内します。

    取り急ぎお知らせまで。

    なお、仕様メモは拙作webページにあります。

    こちら
     ↓
    桐の釣魚大全のトップ > 仕様メモ集
    http://silicon7565.html.xdomain.jp/INF_Framework/INF_Framework_Spec_Memo.htm

    HDLLNC 仕様メモ 1st_Spec_Memo_HDLLNC.txt|桐の釣魚大全のトップ > 仕様メモ集
    http://silicon7565.html.xdomain.jp/INF_Framework/1st_Spec_Memo_HDLLNC.txt

    #204 / #205 にも同じ内容のテキストファイルが同梱されていますよ。

    また、AKomeさんのwebページでも解説がありますよ

    こちら
     ↓
    INF_Framework ランチャー|あこめの桐のプログラミング入門
    http://akome409102.html.xdomain.jp/Kiri/INF33MkII_Launcher.html


     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

     ■ NO_FLD_EZW_Launcher.wfx

     フォーム
      ├ ファミリ
      ├ ワークスペース
      │ ├ INFtxtCommon
      │ └ INFcmdCommon
      ├ フォームヘッダ部
      │ ├ lblFlatButtonBorder_1
      │ ├ EZWcmdズームイン
      │ ├ EZWcmdズームアウト
      │ ├ EZWtxtMagnification
      │ ├ INFcmdWhoAreYou
      │ ├ HDLVARcmdWhoAreYou
      │ └ ONEcmdUI変換
      ├ フォーム明細部
      │ ├ lblFlatButtonBorder_2
      │ ├ cmdランチャー1
      │ ├ cmdランチャー2
      │ ├ cmdランチャー3
      │ └ cmdランチャー4
      └ フォームフッタ部
        ├ cmdAlt_I_ズームイン
        ├ cmdAlt_O_ズームアウト
        ├ lblFlatButtonBorder_3
        └ cmd閉じる

     ■ NO_FLD_EZW_Launcher.kex

    名札  メイン

     **---------- <begin 標準 INF Framework 第3.3版 MkII 名札 メイン > ---------------**
     **---------- <end  標準 INF Framework 第3.3版 MkII 名札 メイン > ---------------**


    手続き定義開始 INFprcStartup( ) /* Thin_INF_Framework 2024-09-03 */
     変数宣言 自動,文字列{ &icon, &title = "INFprcStartup( )", &msg }
     変数宣言 自動,文字列{ &comma = #jis( #hex("2C") ) }

     変数宣言 自動,文字列{ &traceMsg = #cond( #変数( "INFmTraceFormPathAdd" ), &INFmMyWfmPath ) + &INFmMyWfmName + " hdl=" + #last( " " + #str( &hwindow ), 2 ) + ">" + &title }
     変数宣言 自動,整数 { &traceON = #対応番号( #uc2( #変数( "INFmTraceModuleNameList" ) ), "ALL" ) .or #対応番号( #uc2( #変数( "INFmTraceModuleNameList" ) ), "INF" ) }

     **&traceON = 1
     条件 ( &traceON ) トレース出力 &traceMsg + "を実行開始しました"

     **---------- begin Thin_INF_Framework INFprcStartup ---------------**

     *---------- Thin_INF_Framework のINFprcStartup( ) で指定できるオプション ------------------------------*
     ** Thin_INF_Framework のINFprcStartup( ) で指定できるオプション
     &INFmMyWinMaximizeSave = 0 /* 次回最大化状態を 1:復元する 0:復元しない */

     *---------- Thin_INF_Framework のINFprcStartup( ) で指定できるオプション ------------------------------*
     **---------- end  Thin_INF_Framework INFprcStartup ---------------**

     条件 ( &traceON ) トレース出力 &traceMsg + "を実行終了しました"
    手続き定義終了

    手続き定義開始 cmdランチャー1Click( )
     変数宣言 自動,文字列{ &icon, &title = "cmdランチャー1Click( )", &msg }
     変数宣言 自動,文字列{ &wfm, &tbl }
     変数宣言 自動,整数 { &hdl, &openStatus }

     変数宣言 自動,文字列{ &traceMsg = #cond( #変数( "INFmTraceFormPathAdd" ), &INFmMyWfmPath ) + &INFmMyWfmName + " hdl=" + #last( " " + #str( &hwindow ), 2 ) + ">" + &title }
     変数宣言 自動,整数 { &traceON = #対応番号( #uc2( #変数( "INFmTraceModuleNameList" ) ), "ALL" ) .or #対応番号( #uc2( #変数( "INFmTraceModuleNameList" ) ), "APP" ) }

     &traceON = 1
     条件 ( &traceON ) トレース出力 &traceMsg + "を実行開始しました"

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

     条件 ( &traceON ) トレース出力 &traceMsg + "を実行終了しました"
    手続き定義終了

    手続き定義開始 cmdランチャー2Click( )
     変数宣言 自動,文字列{ &icon, &title = "cmdランチャー2Click( )", &msg }
     変数宣言 自動,文字列{ &wfm, &tbl }
     変数宣言 自動,整数 { &hdl, &openStatus }

     変数宣言 自動,文字列{ &traceMsg = #cond( #変数( "INFmTraceFormPathAdd" ), &INFmMyWfmPath ) + &INFmMyWfmName + " hdl=" + #last( " " + #str( &hwindow ), 2 ) + ">" + &title }
     変数宣言 自動,整数 { &traceON = #対応番号( #uc2( #変数( "INFmTraceModuleNameList" ) ), "ALL" ) .or #対応番号( #uc2( #変数( "INFmTraceModuleNameList" ) ), "APP" ) }

     &traceON = 1
     条件 ( &traceON ) トレース出力 &traceMsg + "を実行開始しました"

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

     条件 ( &traceON ) トレース出力 &traceMsg + "を実行終了しました"
    手続き定義終了

    手続き定義開始 cmdランチャー3Click( )
     変数宣言 自動,文字列{ &icon, &title = "cmdランチャー3Click( )", &msg }
     変数宣言 自動,文字列{ &wfm, &tbl }
     変数宣言 自動,整数 { &hdl, &openStatus }

     変数宣言 自動,文字列{ &traceMsg = #cond( #変数( "INFmTraceFormPathAdd" ), &INFmMyWfmPath ) + &INFmMyWfmName + " hdl=" + #last( " " + #str( &hwindow ), 2 ) + ">" + &title }
     変数宣言 自動,整数 { &traceON = #対応番号( #uc2( #変数( "INFmTraceModuleNameList" ) ), "ALL" ) .or #対応番号( #uc2( #変数( "INFmTraceModuleNameList" ) ), "APP" ) }

     &traceON = 1
     条件 ( &traceON ) トレース出力 &traceMsg + "を実行開始しました"

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

     条件 ( &traceON ) トレース出力 &traceMsg + "を実行終了しました"
    手続き定義終了

    手続き定義開始 cmdランチャー4Click( )
     変数宣言 自動,文字列{ &icon, &title = "cmdランチャー4Click( )", &msg }
     変数宣言 自動,文字列{ &wfm, &tbl }
     変数宣言 自動,整数 { &hdl, &openStatus }

     変数宣言 自動,文字列{ &traceMsg = #cond( #変数( "INFmTraceFormPathAdd" ), &INFmMyWfmPath ) + &INFmMyWfmName + " hdl=" + #last( " " + #str( &hwindow ), 2 ) + ">" + &title }
     変数宣言 自動,整数 { &traceON = #対応番号( #uc2( #変数( "INFmTraceModuleNameList" ) ), "ALL" ) .or #対応番号( #uc2( #変数( "INFmTraceModuleNameList" ) ), "APP" ) }

     &traceON = 1
     条件 ( &traceON ) トレース出力 &traceMsg + "を実行開始しました"

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

     条件 ( &traceON ) トレース出力 &traceMsg + "を実行終了しました"
    手続き定義終了



引用返信 [メール受信/OFF] 削除キー/
■469 / inTopicNo.24)  Re[5]: Thin_INF_Framework のご案内
□投稿者/ ジェダイの桐 -(2024/09/06(Fri) 17:15:38)
    2024/09/06(Fri) 17:16:17 編集(投稿者)

    ONnojiさん


    こんには!
    サンプルのご提供ありがとうございますm(__)m


    > とりあえず、ランチャー:NO_FLD_EZW_Launcher.wfx を開いてみてください。


    ランチャー開きました。
    これで一番の驚きは、

    同じボタンを連続で何回も押しても、問題ない。
    例えば フォーム transaction_A を連続で押しても 問題ない。
    (私の感覚で言えば、何かメッセージが出てきそうな感じがしました。既に開いています等)

    二番目の驚きは

    フォーム transaction_A を押した後、表 transaction_A を押しても 両方 開く
    ・・・何故のでしょうか(◎_◎;) 凄いです(^^ゞ

      
    > 内容は NO_FLD_EZW_Launcher.kex を見ればすぐに分かりますよ。


    こちら、少し拝見しました。

    ライブラリの手続きを使っているのだろうと言う事は分かりました。
    こちらは、ざっと見て分かる物ではないので、月曜日時間をかけて気合を入れて熟読させて頂きます!


    取り急ぎ現状報告にて失礼いたしますm(__)m


引用返信 [メール受信/OFF] 削除キー/
■470 / inTopicNo.25)  Re[6]: Thin_INF_Framework のご案内
□投稿者/ ONnoji -(2024/09/06(Fri) 17:41:09)
    2024/09/09(Mon) 10:45:56 編集(投稿者)
    2024/09/07(Sat) 12:20:55 編集(投稿者)
    2024/09/06(Fri) 23:18:19 編集(投稿者)

    ジェダイの桐さん

    > ランチャー開きました。
    > これで一番の驚きは、
    >
    > 同じボタンを連続で何回も押しても、問題ない。
    > 例えば フォーム transaction_A を連続で押しても 問題ない。
    > (私の感覚で言えば、何かメッセージが出てきそうな感じがしました。既に開いています等)

    既に開いているウィンドウをフォーカスすれば良いので、メッセージは出しませんよ。

    > 二番目の驚きは
    >
    > フォーム transaction_A を押した後、表 transaction_A を押しても 両方 開く
    > ・・・何故のでしょうか(◎_◎;) 凄いです(^^ゞ

    既に開いている、フォームの編集対象表と同じ表を指定した場合には、

    フォームの方をフォーカスするようになっています。

     ◇ ◇ ◇ ◇ ◇

    >>内容は NO_FLD_EZW_Launcher.kex を見ればすぐに分かりますよ。
    > こちら、少し拝見しました。
    > ライブラリの手続きを使っているのだろうと言う事は分かりました。
    > こちらは、ざっと見て分かる物ではないので、月曜日時間をかけて気合を入れて熟読させて頂きます!

    どうか、気合を入れてお読みにならないでください。(^^ゞ

    なぜならば、拙作はブラックボックスで使うことが前提だからです。
          ・・・・・・・・・・・・・・・・・・・・・・

    フレームワーク=ブラックボックスです。
    ・・・・・・・・・・・・・・・・

    ただし、今回の手続きのように、使い方を公開するものもあります。

    でも、使い方は公開しますが、内容は見ないでください。

    だって、ブラックボックスなのですからね。

    ちなみに、プログラムの内容は私( ONnoji )以外では正確に意味を読み取れません。

    ほぼ暗号、ほぼ外国語と同じです。ガハハハha (^^ok

    実際の話として、

    作者である私( ONnoji )ですら、内容を忘れていますので、内容を思い出してデバッグする際には相当な時間がかかります。
                   ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    また、イベント処理のお勉強をする人向けには記述していませんから、初級者が見てもチンプンカンプンのハズです。
       ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    つまり、見ても構いませんが何も得るものはありませんよ。キッパリ。( 一一)

    ちなみに、ライブラリ(.cmx)に[利用者コード]を設定していないのは、作者の気持ちとしては、オープンに公開したいと思っているからですよ。

    でも、[フォーム+イベント処理]の初級者と上級者のレベルの人では、手におえない、つまり理解が困難な手続きのオンパレードなんですよ。
       ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    さらに、[プロフェッショナル]や[エキスパート]のレベルの人でも理解が難しい手続きもありますよ。
        ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    だから、正直言って、積極的にライブラリ(.cmx)を見てくださいとは言わないですし、さらさら思ってもいません。
        ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    けれども、「それでも見たければどうぞ!」という風には思っていますよ。

    そこで、教訓を2つ。(^^ゞ

    教訓1 「他人が作ったプログラムは、自分が作ったプログラムよりも分かり難い」

    教訓2 「自分が作ったプログラムでも、月日が経過すると記憶が薄れて分かり難い」

    p.s.

    見るなと言われると見たくなるのが人情ですよね。(^^ゞ

    でもね、ジェダイの桐さんの時間の無駄になるだけですよ。
        ・・・・・・・・・・・・・・・・・・・・・・

    ちなみに

     HDLLNCprcWindowAppear … 116行

     HDLLNCprcLauncher … 899行

    と超デカい手続きと、その他に22個のプロシージャ(手続き)が使われているんですよ。

    つまり、大きくてとても複雑な[やわらかな機械]なんですよ。アハハハha
        ・・・・・・・・・・・・・・・・・・・・・・・・

    なお、HDLLNCprcWindowAppear は使い方を公開していますが、それ以外の手続きは使い方を公開していません。

    使い方を公開していない手続きは、当方が手続き名を変更したり、引数を変更したり、統合したり、分割したりしますので、
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    利用しないようにしてください。


引用返信 [メール受信/OFF] 削除キー/
■471 / inTopicNo.26)  Re[7]: Thin_INF_Framework のご案内
□投稿者/ ONnoji -(2024/09/07(Sat) 09:48:26)
    2024/09/07(Sat) 10:09:28 編集(投稿者)

    ジェダイの桐さん

    以下をご一読ください。

    こちら
     ↓

    ■INF_Framework はフレームワーク ※旧名称は INF_Tools です。
     INF_Framework は単なる手続きの寄せ集めではありません。
    INF_Framework はフォームアプリケーションのインフラ( INFrastructure:基盤環境 )を提供するライブラリです。
     フレームワークの定義にはいろいろとあるようですが、
    「アプリケーションを開発する際のパターンのテンプレート」を指す場合があります。
     すなわち、INF_Framework はフレームワークです。

    ■ハリウッドの原則
     フレームワークの性質を端的に表す良く知られた言葉として、ハリウッドの原則(Hollywood Principle)があります。
    これは「Don't call us. We'll call you.」で、
    本来は、「お電話は不要です。こちらからお掛けします」、という意味です。
    つまり、INF_Frameworkの利用者は、INF_Framework.cmdの内容を知っている必要がまったありません。
    もしも、問題があれば、INF_Framework 側からメッセージボックスでお知らせします。

     以前ある人から「INF_Tools_library.cmdは5000行を超える大作で、私には目も眩むようです。」
    というお言葉をいただいたことがあります。
    しかし、このような心配は一切不要なのです。
    Don't call us. We'll call you. > ALL

     私の拙作フリーソフトの readme.txt では改造OKと書くようにしています。
    しかし、これはこの種のフリーソフトの常套句として書いてある次第です。
    正直に申し上げて、私以外の誰一人もINF_Frameworkを改造出来ないと思います。
     ちなみに、拙作は、有志の皆様のお力を借りて十分品質を確認して公開しています。
    ですから、改造する必要はまったくありません。
     また、INF_Framework は実用性を重視しているので、プログラム学習の参考になる事を考慮していません。
    従って、INF_Framework.cmd の内容を見ても、初級者のプログラミング学習の参考になるものはありません。

     ワークショップ|桐の釣魚大全のトップ > ワークショップ より転載
     http://silicon7565.html.xdomain.jp/workshop_Framework/workshop_Framework_Top.html


     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

    Re:○○できました
    ONnoji 2024/08/11 (Sun) 08:36:42

     :

    拙作はライブラリファイルの形で提供していますが、※※ライブラリにしたのは取り扱いを容易にするという理由だけです

    フォームが開いてから終了するまで一貫して動作するイベント駆動型のアプリケーションだからです。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    従って、(標準化した)手続きを寄せ集めた通常のライブラリファイルとは質が異なります。

    つまり、単なる機能(手続き)の寄せ集めはないのです。

    拙作はバックグラウンドで動作するイベント駆動型のアプリケーションに他ならないので、

    拙作を「いわゆるライブラリ」と同じ類と思っていただきたくないということです。

    ちなみに、拙作を真に理解していない人は、INF_Framework は単にバカでっかいライブラリだと思っている事でしょう。

    それは、[オブジェクト]というキーワードから[オブジェクト指向]だと勘違いするようなものです。

     :

    Re:ライブラリというアプローチに関して
    ONnoji 2024/08/12 (Mon) 15:54:32

     :

    汎用性を追求するのは難しいですよね。

    その点、共通性であれば候補は簡単に見つかりますね。

    また、プログラム(手続き)の再生産性(再利用可能という意味)と、

    複数のプログラムでの共通利用の可能性は似ているように見えますが、実は違いますね。

    ちなみに、当方のフレームワークでライブラリを利用しているのは、カプセル化(隠蔽化)の為ですよ。

    決して汎用でも、共通でもないんです。

    利用者が見る必要が無いものだから、隠蔽つまりライブラリというカプセルに閉じ込めて見せないようにしているということですよ。

     :


引用返信 [メール受信/OFF] 削除キー/
■472 / inTopicNo.27)  Re[8]: Thin_INF_Framework のご案内
□投稿者/ ONnoji -(2024/09/08(Sun) 12:06:20)
    2024/09/08(Sun) 12:26:44 編集(投稿者)

    ジェダイの桐さん

    ↓以下は、NO_FLD_EZW_Launcher.wfxのコマンドボタンを実行した時のトレース出力です。

    ┌when :NO_FLD_EZW_Launcher.wfx hdl=40>cmdランチャー1Click( )を実行開始しました

    │ :&wfm : D:\〇×△\transaction_A.wfx &tbl : D:\〇×△\transaction_A.tbx
    │ :&hdl : 2 &openStatus : 1

    └end

    ┌when :NO_FLD_EZW_Launcher.wfx hdl=40>cmdランチャー2Click( )を実行開始しました

    │ :&wfm : D:\〇×△\transaction_B.wfx &tbl : D:\〇×△\transaction_B.tbx
    │ :&hdl : 4 &openStatus : 1

    └end

    ┌when :NO_FLD_EZW_Launcher.wfx hdl=40>cmdランチャー3Click( )を実行開始しました

    │ :&wfm :  &tbl : D:\〇×△\transaction_A.tbx
    │ :&hdl : 2 &openStatus : 0

    └end

    ┌when :NO_FLD_EZW_Launcher.wfx hdl=40>cmdランチャー4Click( )を実行開始しました

    │ :&wfm :  &tbl : D:\〇×△\transaction_B.tbx
    │ :&hdl :  &openStatus :

    └end

    トレース結果には、

    > when :NO_FLD_EZW_Launcher.wfx hdl=40>cmdランチャー3Click( )を実行開始しました

    上のように、フォーム名 ハンドル番号>手続き名 を実行しました

    と出力されていますね。

    このように出力する理由は、

    ・複数のフォームで実行した内容をトレースした場合にフォームを識別するためです。

    もしも、フォーム名 と ハンドル番号 が無くて、手続き名だけだったら、当然区別できませんよね。

    これは、INF_Framework 共通の機能として準備してあります。

    手続き定義開始 cmdランチャー1Click( )
     変数宣言 自動,文字列{ &icon, &title = "cmdランチャー1Click( )", &msg }
     変数宣言 自動,文字列{ &wfm, &tbl }
     変数宣言 自動,整数 { &hdl, &openStatus }

     変数宣言 自動,文字列{ &traceMsg = #cond( #変数( "INFmTraceFormPathAdd" ), &INFmMyWfmPath ) + &INFmMyWfmName + " hdl=" + #last( " " + #str( &hwindow ), 2 ) + ">" + &title }
     変数宣言 自動,整数 { &traceON = #対応番号( #uc2( #変数( "INFmTraceModuleNameList" ) ), "ALL" ) .or #対応番号( #uc2( #変数( "INFmTraceModuleNameList" ) ), "APP" ) }

     &traceON = 1
     条件 ( &traceON ) トレース出力 &traceMsg + "を実行開始しました"

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

     条件 ( &traceON ) トレース出力 &traceMsg + "を実行終了しました"
    手続き定義終了

    ↑上の

     変数宣言 自動,文字列{ &traceMsg = #cond( #変数( "INFmTraceFormPathAdd" ), &INFmMyWfmPath ) + &INFmMyWfmName + " hdl=" + #last( " " + #str( &hwindow ), 2 ) + ">" + &title }
     変数宣言 自動,整数 { &traceON = #対応番号( #uc2( #変数( "INFmTraceModuleNameList" ) ), "ALL" ) .or #対応番号( #uc2( #変数( "INFmTraceModuleNameList" ) ), "APP" ) }

     &traceON = 1
     条件 ( &traceON ) トレース出力 &traceMsg + "を実行開始しました"

     条件 ( &traceON ) トレース出力 &traceMsg + "を実行終了しました"

    この部分を貼り付ければ準備完了です。

    もしも、トレースが不要であれば、

     **&traceON = 1

    このように、コメントアウトすればOKです。

    また、あまり使わないと思いますが・・・(^^ゞ

    [INF_Framework 名札 メイン]で宣言済みのINF_Frameworkの次の局所変数である

    文字列型変数:&INFmTraceModuleNameList に "APP" を代入すれば、

     (例) &INFmTraceModuleNameList = "APP"

    &traceON = 1 の行がコメントアウトされていても、&traceON には自動的に1(イチ)が代入されます。

    これは、

     変数宣言 自動,整数 { &traceON = #対応番号・・・・・#uc2( #変数( "INFmTraceModuleNameList" ) ), "APP" ) }
                                                       ↑
                                                       ここ
    と記述してあるからで、"APP" は別の文字列でもOKです。

    ただし、文字列に英字を使う時には大文字を使ってください。コンマ等の記号は使用不可です。


    同じく、[INF_Framework 名札 メイン]で宣言済みのINF_Frameworkの次の局所変数である

    整数型変数:&INFmTraceFormPathAdd に1(イチ)を代入すると、

     (例) &INFmTraceFormPathAdd = 1

    文字列型自動変数:&traceMsg にフルパスのフォーム名を代入します。

        ↓・・・・・・・↓
    ┌when :d:\〇〇〇\△△△¥NO_FLD_EZW_Launcher.wfx hdl=40>cmdランチャー1Click( )を実行開始しました

    │ :&wfm : D:\〇×△\transaction_A.wfx &tbl : D:\〇×△\transaction_A.tbx
    │ :&hdl : 2 &openStatus : 1

    └end

    必要があれば、使ってみてください。

    なお、[INF_Framework 名札 メイン]は絶対に書き換えないでください。
       ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    設定は、[開始時実行コマンド]ボタンから実行する、cmdStartupClick( )等で行ってください。

     (例)

     手続き定義開始 cmdStartup( )

       :

      &INFmTraceModuleNameList = "APP,HOGE" /* 半角コンマで区切って複数指定できます                 */
      &INFmTraceFormPathAdd  = 1      /* 1:オン 自動変数:&traceMsg にフルパスのフォーム名を代入します 0:オフ */

       :

     手続き定義終了

    (注意)

     ・変数:&INFmTraceModuleNameList に"ALL" キーワードを指定すると、
      INF_Framework の手続きを含めたすべての手続きが対象になりますので、使わないでください。m(__)m
      ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・                 

     ・&INFmTraceModuleNameList に指定したキーワードを無効にする場合には、存在しないキーワードを指定します。
      もちろん、キーワードを消してもOKですが、余計な文字の "x" を付けるだけでOKです。

     (例)

      &INFmTraceModuleNameList = "xAPP,xHOGE" /* 半角コンマで区切って複数指定できます ※"ALL"はすべてを対象にします */


    p.s.

    複数のフォームを開いて、それらの挙動(実行結果)をトレースするには、以上のような仕掛けが必要になるわけですよ。アハハha (^^ゞ





引用返信 [メール受信/OFF] 削除キー/
■473 / inTopicNo.28)  Re[9]: Thin_INF_Framework のご案内
□投稿者/ ONnoji -(2024/09/08(Sun) 17:49:36)
    2024/09/08(Sun) 19:32:40 編集(投稿者)

    ジェダイの桐さん

    ポップアップのカード形式のフォームである NO_FLD_EZW_Launcher.wfx ですが、
           ・・・・・・・・・・

    現行では、標準の虫眼鏡ボタン([(+)][(-)])を実行した時に、

    [フォームスクロールバー]が現れて使いにくいです。

    フォームの[オブジェクトの属性]の[フォーム]タブの[フォームスクロールバー]のチェックをオフにしてください。

    ※[オブジェクトのリスト]では、[フォームスクロールバー]の "水平/垂直" を "なし" に変更してください。
    ※[オブジェクトの属性]と[オブジェクトのリスト]のどちらで設定変更してもOKです。

    こうすると、フォームウィンドウの大きさが連動して拡大/縮小するようになります。

    この方が使い易いと思いますよ。(^^ok

    急いでいたので、当方で設定を忘れていました。(^^ゞ

     ◇ ◇ ◇ ◇ ◇

    なお、以下のチャイルドの一覧表形式のフォームでは
          ・     ・・・・・・・・・
    NO_FLD_EZW.wfx
    NO_FLD_EZW_Plus.wfx
    transaction_A.wfx
    transaction_B.wfx

    フォームのフォームの[オブジェクトの属性]の[フォーム]タブの[フォームスクロールバー]はチェックがオンのままでOKです。

    チャイルドの一覧表形式のフォームは、最大化して使うのが基本ですよ。

    ※もちろん最大化しなくてもOKですが、ピクセルをケチっても何も良い事がありません。

    p.s.

    標準の虫眼鏡ボタンの[コマンドボタン:EZWcmdズームイン]と[コマンドボタン:EZWcmdズームアウト]にはアクセスキーはセットされていません。

    アクセスキーの Alt + I(ズームイン)と Alt + O(ズームアウト)と使う場合には、

    非表示の[コマンドボタン:cmdAlt_I_ズームイン]と[コマンドボタン:cmdAlt_O_ズームアウト]を

    フォームヘッダ部または、フォームフッタ部に配置してください。これらのセクションは非表示でもOKです。

    ワークスペースに配置すると、アクセスキーは使えなくなりますので注意してください。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    ■アクセスキーとは

    [Alt]キーを押したまま、キートップの文字がアイ"I"のキーを押すこと。

    同様に、[Alt]キーを押したまま、キートップの文字がオー"O"のキーを押すこと。

    この操作で、標準の虫眼鏡ボタンをマウス左クリックせずに、ズームイン・ズームアウト出来ますよ。

    Thin INF_Framework はモダン(オート)INF_Framework のサブセットですが、とても便利でしょ。アハハハha

引用返信 [メール受信/OFF] 削除キー/
■474 / inTopicNo.29)  Re[1]: Thin_INF_Framework のご案内
□投稿者/ ONnoji -(2024/09/08(Sun) 22:41:43)
    2024/09/09(Mon) 08:09:29 編集(投稿者)
    2024/09/08(Sun) 22:47:36 編集(投稿者)

    ジェダイの桐さん

    枝が長く伸びてしまったので、新しい枝で始めますね。

    今回、偶然の思い付きから、

    フルセットの モダン(オート)INF_Framework、クラシックINF_Framework ではなくて、

    [FLD / EZW]機能を無効にしたサブセットの Thin INF_Framework を作ってみた次第です。

    これは変更予定のお知らせです。

    【変更前】暫定版 Thin INF_Framework のスタートアップ

     ** フォームの変数管理で変数を宣言した場合に限り INFprcStartup( ) で指定できるオプション
     ** &INFmWindowNoLocate = 1 /* フォームの位置を復元しない ※フォームの変数管理で整数型の局所変数:INFmWindowNoLocate を宣言してください */
     ** &INFmWindowNoResize = 1 /* フォームのサイズを復元しない ※フォームの変数管理で整数型の局所変数:INFmWindowNoResize を宣言してください */
     ** &INFmWindowNoZoom = 1 /* フォームの倍率を復元しない ※フォームの変数管理で整数型の局所変数:INFmWindowNoZoom を宣言してください */
     ** &LNCmNoCommandButtonUse = 1 /* ランチャー機能でフォームを開く時に INFcmdCommon を使わない ※フォームの変数管理で整数型の局所変数:INFmWindowNoZoom を宣言してください */
      ↑
      ↑
    これらのオプションはまず一生使わないと思いますので、正式バージョンでは削除します。


    【変更後】正式版 Thin INF_Framework のスタートアップ

    添付ファイルを解凍すると、

    ユニットINF_3-3MkII_INFprcStartup_NO_FLD_EZW.txt

    があります。

    新しい Thin INF_Framework のスタートアップ にはユーザがオプション設定できる箇所はありません。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    [INF_Framework 名札 メイン]と同様に書き換え禁止でお使いください。
    ・・・・・・・・・・・・・・・・・・・・・・・・・

引用返信 [メール受信/OFF] 削除キー/
■475 / inTopicNo.30)  Re[2]: Thin_INF_Framework のご案内
□投稿者/ ONnoji -(2024/09/08(Sun) 22:57:56)
    ジェダイの桐さん

    急遽作成した Thin INF_Framework ですが、ガントチャートと同時に【多遊】さんのダウンロードコーナーで紹介していただこうと思っています。

    つきましては、ガントチャートと同様に紹介文をお願いしたいと考えていますが、いかがでしょうか

    ご承諾いただければ幸いです。

    よろしくお願いいたします。m(__)m

     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

    (案)1st_Read_Me_お読みください_Thin_INF_Framework.txt

     1st_Read_Me_お読みください_Thin_INF_Framework.txt  Rev.0 2024.09.08

     <目次>

     ジェダイの桐さんによる作品紹介

     はじめに
     ソフトの種類
     ソフトの内容
     解凍について
     解凍後のファイル一覧
     使用条件
     スペシャルサンクス


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


     ■ジェダイの桐さんによる作品紹介


     ■はじめに


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


     --------------------------------------------------------------------------------
     Thin INF_Framework for 桐10 / 桐10s / 桐s

     By ONnoji Copyright (C) 2024

    【URL】http://silicon7565.html.xdomain.jp/
     --------------------------------------------------------------------------------

     ■ソフトの種類

     対象:桐のアプリケーション開発者

     種類:フォーム( .wfx )、イベント処理( .kex )、ライブラリ( .cmx )によるフレームワーク

     ■ソフトの内容

     ・フルスペックの INF_Framework から[FLD / EZW]機能を無効にした、サブセットの INF_Framework です。

     (注意)[FLD / EZW]機能とは以下の機能の名称です
        ・一覧表形式や伝票形式のフォームが、表編集のように左右スクロールします。
        ・一覧表形式や伝票形式のフォームが、表編集のように列固定出来ます。
        ・項目の表示幅をマウスドラッグで変更出来ます。

     ■Thin INF_Framework の使い方

     <ボタンの説明>

     ズームイン  … [虫メガネ(+)] / Alt + I
     ズームアウト … [虫メガネ(-)] / Alt + O
     情報     … [?]

     <制限事項>

     ・ このフォームは「サブフォーム」として利用できません

     ■解凍について

     zip形式のファイルを、任意のフォルダに解凍(展開)してください。

     <同梱ファイル一覧>

     1st_Read_Me_お読みください_Thin_INF_Framework.txt
     1st_Thin_INF_Framework_ガイド.txt

     INF_Framework.cmx … Rev.269
     IPS_Framework.cmx … Rev.269

     NO_FLD_EZW.kex
     NO_FLD_EZW.tbx
     NO_FLD_EZW.wfx
     NO_FLD_EZW_Launcher.kex
     NO_FLD_EZW_Launcher.wfx
     NO_FLD_EZW_Plus.kex
     NO_FLD_EZW_Plus.tbx
     NO_FLD_EZW_Plus.wfx

     transaction_A.kex
     transaction_A.tbx
     transaction_A.wfx
     transaction_B.kex
     transaction_B.tbx
     transaction_B.wfx

     ユニットINF_3-3MkII_INFprcStartup_NO_FLD_EZW.txt
     ユニットINF_3-3MkII_名札メイン.txt

     当該ソフトは無料で提供されるソフトウェア(フリーウェア:freeware)です。

     免責 :動作の保証はしません。各自の責任でご使用下さい。

     改造等:オリジナルの全体または部分の改造、およびオリジナルの部分的な使用もOKです。※1
     ※1:改造や流用は極めて困難ですので、ブラックボックスのままお使いになることをお勧めします。

     再配布:オリジナルの全体または部分の無償再配付はOKです。※2
     ※2:フリーソフトウェアなので価格を付けて配布しないでください。
     ただし、貴殿が開発したアプリケーションに当該フリーソフトウェアを組み込んだ場合、
     当該フリーソフトウェアを除いた部分に生じた貴殿の開発コスト(価格)は、
     (当然ですが)貴殿の裁量で自由に決めてください。

     ■スペシャルサンクス

     次の皆様のご協力・ご助言に対し深く感謝申し上げます。

     ジェダイの桐さん

     以上


引用返信 [メール受信/OFF] 削除キー/
■476 / inTopicNo.31)  Re[10]: Thin_INF_Framework のご案内
□投稿者/ ジェダイの桐 -(2024/09/09(Mon) 09:21:03)
    ONnojiさん


    おはようございます!


    > 現行では、標準の虫眼鏡ボタン([(+)][(-)])を実行した時に、
    >
    > [フォームスクロールバー]が現れて使いにくいです。
    >
    > フォームの[オブジェクトの属性]の[フォーム]タブの[フォームスクロールバー]のチェックをオフにしてください。


    変更しました。
    こちら、最初意味が分からなかったのですが、変更前 と 変更後 で虫眼鏡を
    押したら意味が分かりました。

    サンプル提供頂いたランチャーに関して、フォームスクロールバー をキャンセルした方が見やすいと思いました(^^ゞ


    > アクセスキーの Alt + I(ズームイン)と Alt + O(ズームアウト)と使う場合には、
    >
    > 非表示の[コマンドボタン:cmdAlt_I_ズームイン]と[コマンドボタン:cmdAlt_O_ズームアウト]を
    >
    > フォームヘッダ部または、フォームフッタ部に配置してください。これらのセクションは非表示でもOKです。
    >
    > ワークスペースに配置すると、アクセスキーは使えなくなりますので注意してください。
    > ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
    >
    > ■アクセスキーとは
    >
    > [Alt]キーを押したまま、キートップの文字がアイ"I"のキーを押すこと。
    >
    > 同様に、[Alt]キーを押したまま、キートップの文字がオー"O"のキーを押すこと。
    >
    > この操作で、標準の虫眼鏡ボタンをマウス左クリックせずに、ズームイン・ズームアウト出来ますよ。
    >
    > Thin INF_Framework はモダン(オート)INF_Framework のサブセットですが、とても便利でしょ。アハハハha


    解説ありがとうございます。
    アクセスキーかなり便利です(^^♪


    p.s.


    試しに cmdランチャー1Click を実際にトレース出力しました。

    解説文にある


    > :&wfm : D:\〇×△\transaction_A.wfx &tbl : D:\〇×△\transaction_A.tbx
    > :&hdl : 2 &openStatus : 1


    この部分は、 最後の部分で出てきました。
    こちらを導き出すのにかなり 手続き が使用されていました。


    >複数のフォームを開いて、それらの挙動(実行結果)をトレースするには、以上のような仕掛けが必要になるわけですよ。アハハha (^^ゞ


    この文章の意味をしみじみと感じております。


    私が、今使用しているファイル数は正直しれています。
    もし、誰かに引き継いだ後 ファイルがどれだけ増えるか分かりませんし、
    使用している時、ハンドル番号が何番か ファイルが増えるほど特定する事の難易度が上がっていくと思います。


    複数フォームの挙動把握は 実際に触れてみると 分かってはいたけれど、超えないといけない山が沢山ありますね・・・(T_T)


    複数フォームを使用する設計を積極的にする事は有りませんが、今後フォーム開発する気は間違いない無く Thin INF_Framework 組み込みを 必須とします。


    (便利と言う事を実感しちゃいましたからね(^^♪)
引用返信 [メール受信/OFF] 削除キー/
■477 / inTopicNo.32)  Re[3]: Thin_INF_Framework のご案内
□投稿者/ ジェダイの桐 -(2024/09/09(Mon) 09:26:11)
    ONnojiさん


    > ジェダイの桐さん
    >
    > 急遽作成した Thin INF_Framework ですが、ガントチャートと同時に【多遊】さんのダウンロードコーナーで紹介していただこうと思っています。
    >
    > つきましては、ガントチャートと同様に紹介文をお願いしたいと考えていますが、いかがでしょうか
    >
    > ご承諾いただければ幸いです。


    勿論です!


    私自身、ダウンロードコーナーで共有出来たら ユーザーは喜ぶのではないかと
    密かに思っていました。


    だって、自分のフォームで ONnojiさん 作成のプログラムが使用できるのですから(^^♪

引用返信 [メール受信/OFF] 削除キー/
■478 / inTopicNo.33)  Re[4]: Thin_INF_Framework のご案内
□投稿者/ ONnoji -(2024/09/09(Mon) 10:37:23)
    2024/09/09(Mon) 10:41:53 編集(投稿者)

    ジェダイの桐さん

    >>急遽作成した Thin INF_Framework ですが、ガントチャートと同時に【多遊】さんのダウンロードコーナーで紹介していただこうと思っています。
    >>つきましては、ガントチャートと同様に紹介文をお願いしたいと考えていますが、いかがでしょうか
    >>ご承諾いただければ幸いです。
    >
    > 勿論です!
    > 私自身、ダウンロードコーナーで共有出来たら ユーザーは喜ぶのではないかと
    > 密かに思っていました。
    > だって、自分のフォームで ONnojiさん 作成のプログラムが使用できるのですから(^^♪

    ご快諾いただきありがとうございます。m(__)m

    p.s.

    Thin INF_Framework は、列固定可能な項目の左右スクロール([FLD])と、

    ドラッグ&ドロップによる項目幅の変更([EZW])の機能が利用できません。

    しかし、[FLD / EZW] で必要とするオブジェクトが不要になるので、

    フルセットのINF_Framework と比べると、

    Thin INF_Framework は既存のフォームへ組み込む事が非常に簡単になりました。

    これは、[フレームワークの組み込み作業を軽減する]という目的を達成するためのトレードオフの結果です。

    Thin INF_Framework は、たった4ステップの作業と、若干のオブジェクトをコピペするだけで利用できます。

    今回、ジェダイの桐さんは、ランチャー([HDLLNC])機能でフレームワークの便利さを感じていると思います。

    実は、他にも標準機能([INF])として、メッセージボックス・フォームの倍率変更などの、多くの機能が使えるようになります。

    現在、当方はフレームワークの機能を使うためのガイド(案内)のドキュメント(文書)を準備しています。

    なお、拙作フレームワークは単なる手続きの寄せ集めではなく、

    フォームを開いてからフォームを閉じるまでの間、一貫して動作するアプリケーションです。

    仕様は予告なく変更することがありますので、ライブラリーファイルの内容を変更する行為はご遠慮ください。


引用返信 [メール受信/OFF] 削除キー/
■479 / inTopicNo.34)  Re[5]: Thin_INF_Framework のご案内
□投稿者/ ONnoji -(2024/09/09(Mon) 11:46:08)
    ジェダイの桐さん

    > hin INF_Framework は、たった4ステップの作業と、若干のオブジェクトをコピペするだけで利用できます。

    【再掲載】
    ■449 / 3階層)  Re[3]: Thin_INF_Framework のご案内
    □投稿者/ ONnoji -(2024/09/04(Wed) 15:09:13)

    Thin_INF_Framework を組み込む手順は、

    1.[名札 メイン]に外部テキスト: ユニットINF_3-3MkII_名札メイン.txt を読み込む

    2.イベント処理ファイルに外部テキスト:ユニットINF_3-3MkII_INFprcStartup_NO_FLD_EZW.txt を読み込む

    3.ワークススペースに、INFtxtCommon というオブジェクト名の[テキスト]オブジェクトを作成する    ※作るだけでOK

    4.ワークススペースに、INFcmdCommon というオブジェクト名の[コマンドボタン]オブジェクトを作成する ※作るだけでOK

    という4工程でOKです。
       ・・・

    後は、仕上げに標準のコマンドボタンをコピペすればOKです
                      ・・・

      │ ├ EZWcmdズームイン   ┐
      │ ├ EZWcmdズームアウト  │
      │ ├ EZWtxtMagnification  │ 
      │ ├ INFcmdWhoAreYou    ├─ 標準のコマンドボタン ※ヘッダ部左上に配置することを推奨します
      │ ├ HDLVARcmdWhoAreYou  │
      │ ├ cmdAlt_I_ズームイン  │ ※ cmdAlt_I_ズームイン と cmdAlt_O_ズームアウト は[画面表示]= しない
      │ └ cmdAlt_O_ズームアウト ┘

    なお、INF_Framework を組み込んだ全てのフォームのヘッダ部左上に配置すると外見上の統一感が生まれるのでおススメします。
    また、INF_Framework が組み込まれているか否かの識別にも役立ちます。

     ◇ ◇ ◇ ◇ ◇ ◇

    既にお分かりだと思いますが・・・

    イベント処理ファイル(.kex)へThin INF_Framwrork を組み込む際の ユニットINF_3-3MkII_名札メイン.txt の読み込み位置をご案内します。

    以下のように、


     名札 メイン
                    ┐
      変数宣言 局所,・・・   │
                    │
                    │
                    ├─ [INF_Framwrork 名札 メイン]より上の行に
                    │
                    │  局所変数を宣言してください。
                    │
                    ┘
     ┌──────────────┐
     │INF_Framwrork 名札 メイン │イベント処理(.kex)の[名札 メイン]の最後に
     │              │
     │              │ユニットINF_3-3MkII_名札メイン.txt を読み込んでください。
     │              │
     │              │※もちろん、コピペでもOKです。
     └──────────────┘
     *

    ↑上のように配置すれば、変数管理で変数を一覧した時に見やすくなります。

    なお、拙作:整形ユーティリティの[変数チェック]を実行した場合には、

    [INF_Framwrork 名札 メイン]で宣言したフレームワーク用の変数は表示されません。v(^^)v


引用返信 [メール受信/OFF] 削除キー/
■480 / inTopicNo.35)  Re[6]: Thin_INF_Framework のご案内
□投稿者/ ジェダイの桐 -(2024/09/09(Mon) 12:08:56)
    ONnojiさん


    こんにちは!


    > イベント処理ファイル(.kex)へThin INF_Framwrork を組み込む際の ユニットINF_3-3MkII_名札メイン.txt の読み込み位置をご案内します。
    >
    > 以下のように、
    >
    >
    >  名札 メイン
    >                 ┐
    >   変数宣言 局所,・・・   │
    >                 │
    >                 │
    >                 ├─ [INF_Framwrork 名札 メイン]より上の行に
    >                 │
    >                 │  局所変数を宣言してください。
    >                 │
    >                 ┘
    >  ┌──────────────┐
    >  │INF_Framwrork 名札 メイン │イベント処理(.kex)の[名札 メイン]の最後に
    >  │              │
    >  │              │ユニットINF_3-3MkII_名札メイン.txt を読み込んでください。
    >  │              │
    >  │              │※もちろん、コピペでもOKです。
    >  └──────────────┘
    >  *
    >
    > ↑上のように配置すれば、変数管理で変数を一覧した時に見やすくなります。


    こちらは、多分そういう意味なんだろうなと思っていました。


    > なお、拙作:整形ユーティリティの[変数チェック]を実行した場合には、
    >
    > [INF_Framwrork 名札 メイン]で宣言したフレームワーク用の変数は表示されません。v(^^)v


    この機能に驚きが隠せません(◎_◎;)
    本当に使いやすい設計になっているのですね(^^♪


    自分が作ったプログラムの中に、INF_Framwrork 名札 メイン の変数が チェックに出てきたら、きっと分かりにくくなるでしょうからね(T_T)


引用返信 [メール受信/OFF] 削除キー/
■481 / inTopicNo.36)  Re[7]: Thin_INF_Framework のご案内
□投稿者/ ONnoji -(2024/09/09(Mon) 13:24:45)
    ジェダイの桐さん

    >>なお、拙作:整形ユーティリティの[変数チェック]を実行した場合には、
    >>[INF_Framwrork 名札 メイン]で宣言したフレームワーク用の変数は表示されません。v(^^)v
    > この機能に驚きが隠せません(◎_◎;)
    > 本当に使いやすい設計になっているのですね(^^♪
    > 自分が作ったプログラムの中に、INF_Framwrork 名札 メイン の変数が チェックに出てきたら、きっと分かりにくくなるでしょうからね(T_T)


    [INF_Framwrork 名札 メイン]の範囲を除外したのでは無くて、

    以下の名前で始まる変数を除外したのでした。

     &VKm, &UIm

     &EZWm, &INFm, &LNCm, &MNUm, &ONEm, &SPNm, &UTLm, &FSCm

     &HDLCOMm, &HDLSELm, &HDLVARm, &INFMTDm, &UTLFLDm, &UTLJMPm

     &UTLLOCKm, &UTLSORTm

    これらは、INF_Framework で使用している局所変数名の接頭辞です。

引用返信 [メール受信/OFF] 削除キー/
■482 / inTopicNo.37)  Re[1]: Thin_INF_Framework のご案内
□投稿者/ ONnoji -(2024/09/09(Mon) 13:34:55)
    2024/09/09(Mon) 13:36:24 編集(投稿者)

    Thin INF_Framework の件ですっかり忘れていましたが・・・(^^ゞ

    >  ハンドル番号が 既知 となる為、 局所変数代入 をやってみたい
    > 前提
    >  A.tbx(発注履歴) B.tbx(取引先納品データ) ともに 項目 [伝票番号] がある
    >  A.kex の メイン部 で 局所, 文字列 { &m伝票番号 } を宣言している
    >  B.tbx は 取引先貰っている 納品データ.CSV を読み込むだけ
    >  納品データ.csv を 貰うタイミングは 納品日毎
    >  納品データ.csv に入っている 伝票番号 は 同一納品日 で全て同じ
    >  例 : 8/25納品分 の 伝票番号 は 全て 240825
    >     9/4 納品分 の 伝票番号 は 全て 240904

    > やりたいタイミング
    >  Bフォーム にある任意の 項目 [伝票番号] を絞り込む
    >  かつ
    >  Aフォームが開いている事の確認がとれている時
    >  Aフォームにある &m伝票番号 へ Bフォームの[伝票番号]を代入したい


    ↑これどうしましょう??

    もう少し具体的なイメージを教えてください。


     ┌─────────────┐       ┌─────────────┐
     │発注トランザクション   │       │入荷トランザクション   │
     │             │       │             │
     │transaction_A.wfx     │       │transaction_A.wfx     │
     │             │       │             │
     │             │       │             │
     │      &m伝票番号 ←−−−値を転送−−− &m伝票番号      │
     │             │    ?   │             │
     └─────────────┘       └─────────────┘

    これで良いのでしょうか?


引用返信 [メール受信/OFF] 削除キー/
■483 / inTopicNo.38)  Re[2]: Thin_INF_Framework のご案内
□投稿者/ ジェダイの桐 -(2024/09/09(Mon) 14:05:12)
    ONnojiさん


    こんにちは!


    >  ┌─────────────┐       ┌─────────────┐
    >  │発注トランザクション   │       │入荷トランザクション   │
    >  │             │       │             │
    >  │transaction_A.wfx     │       │transaction_A.wfx     │
    >  │             │       │             │
    >  │             │       │             │
    >  │      &m伝票番号 ←−−−値を転送−−− &m伝票番号      │
    >  │             │    ?   │             │
    >  └─────────────┘       └─────────────┘
    >
    > これで良いのでしょうか?
    >

    入荷トランザクション に cmd納品データ読込 がある

    cmd納品データ読込 を押すと 納品情報 が読み込まれ [伝票番号] も定義される

    ジャンプ 最終 にある [伝票番号] の値 を transaction_A.wfx  の &m伝票番号 へ 転送

    のイメージ です。

    なので、上記図 のイメージ が出来れば嬉しいです。


引用返信 [メール受信/OFF] 削除キー/
■484 / inTopicNo.39)  Re[3]: Thin_INF_Framework のご案内
□投稿者/ ONnoji -(2024/09/09(Mon) 15:16:54)
    2024/09/09(Mon) 15:52:35 編集(投稿者)

    ジェダイの桐さん

    >> ┌─────────────┐       ┌─────────────┐
    >> │発注トランザクション   │       │入荷トランザクション   │
    >> │             │       │             │
    >> │transaction_A.wfx     │       │transaction_A.wfx     │
    >> │             │       │             │
    >> │             │       │             │
    >> │      &m伝票番号 ←−−−値を転送−−− &m伝票番号      │
    >> │             │    ?   │             │
    >> └─────────────┘       └─────────────┘
    >
    > 入荷トランザクション に cmd納品データ読込 がある
    > cmd納品データ読込 を押すと 納品情報 が読み込まれ [伝票番号] も定義される
    > ジャンプ 最終 にある [伝票番号] の値 を transaction_A.wfx  の &m伝票番号 へ 転送
    > のイメージ です。
    > なので、上記図 のイメージ が出来れば嬉しいです。


     ┌─────────────┐
     │入荷トランザクション   │
     │             │
     │transaction_B.wfx     │
     │             │
     │             │
     │             │
     │  cmd納品データ読込   │
     └─────┬───────┘
           ↑
           ↑
       読み込み CSV,<CSV ファイル名>, …
           ↑
           ↑
           │
     ┌─────┴───────┐
     │納品書データ       │
     │             │
     │納品書.csv        │
     │             │
     │             │
     │             │
     │             │
     └─────────────┘

    こんな風に[入荷トランザクション]に[納品書データ]のCSVファイルが読み込まれるわけですが、

    この時、[発注トランザクション]のフォームのウィンドウは閉じているのですか???

    1.事前に必ず[発注トランザクション]からランチャーで[入荷トランザクション]を開くのでOKなのですか??

    2.[入荷トランザクション]の[コマンドボタン:cmd納品データ読込]を実行した時に、
      [発注トランザクション]が開いていなければ、[発注トランザクション]を開くことにする??

    3.そのほかのプラン???

    つまり、値を転送を送る先のウィンドウが開いていないと駄目ですよね。

    そこをどうしますか???というお尋ねです。

    さてどうする????

    p.s.

    メモ帳でこういうダイヤグラムを作るのは面倒ですが、

    紙と鉛筆で落書きみたいなダイヤグラムを書くことは習慣にしてください。

    ダイアグラム(図表)といっても、特に何の決まりもありません。

    ただ、イメージを確認するためのものです。

    落書きを書いている途中で、アイデアが浮かんだり、見落としている点が見つかったりしますよ。

    おっと、落書きでは品が悪いですね。

    格好つけて言うならば「イメージのスケッチ」や「デッサン」かな??

引用返信 [メール受信/OFF] 削除キー/
■485 / inTopicNo.40)  Re[4]: Thin_INF_Framework のご案内
□投稿者/ ジェダイの桐 -(2024/09/09(Mon) 15:50:56)
    ONnojiさん


    こんにちは!


    何度もすみませんm(__)m
    要件(仕様?)を開発者に具体的 且つ 適格 に伝える事は難しいですね(T_T)


    > 1.事前に必ず[発注トランザクション]からランチャーで[入荷トランザクション]を開くのでOKなのですか??


    基本的に [発注トランザクション]からランチャーで[入荷トランザクション]を開く 想定です。


    しかし、困った事に [入荷トランザクション] を先に開いたとしても内容的には 不自然ではないです。

    [発注トランザクション]からランチャーで[入荷トランザクション]を開く想定はあくまで私の想定なだけです。
    他者は [発注トランザクション] を何らかの理由で 閉じてしまうかもしれません。

    なので、


    > 2.[入荷トランザクション]の[コマンドボタン:cmd納品データ読込]を実行した時に、
    >   [発注トランザクション]が開いていなければ、[発注トランザクション]を開くことにする??


    [発注トランザクション]が開いていなければ、[発注トランザクション]を開き &m伝票番号 へ 値を転送する。
    こちらが、最適解だと思います。


    > つまり、値を転送を送る先のウィンドウが開いていないと駄目ですよね。


    正にその通りです。


    > p.s.
    >
    > メモ帳でこういうダイヤグラムを作るのは面倒ですが、
    >
    > 紙と鉛筆で落書きみたいなダイヤグラムを書くことは習慣にしてください。
    >
    > ダイアグラム(図表)といっても、特に何の決まりもありません。
    >
    > ただ、イメージを確認するためのもものです。


    はい!
    習慣づけます。
    アドバイスありがとうございますm(__)m


引用返信 [メール受信/OFF] 削除キー/

<前の20件 | 次の20件>

トピック内ページ移動 / << 0 | 1 | 2 >>

[このトピックに返信]
Mode/  Pass/

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -