| ONnojiさん
おはようございます!
最近ふと思う事がありました。
フォーム + イベント を作るまでではない処理 .and ユーザーはある程度桐の操作に慣れている
この前提があった上でですけど、表にコマンドボタンが作れればいいのになぁって思ったんです。
疑似的に履歴の実行をコマンドボタンに見立てる事が出来ないか? と思って、一括処理の文法を 想像 .and 調べながら 作ってみました(^^ゞ
----------------------------------------------------------------------------------
変数宣言 固有, 整数 { &g絞り込み状態 = #u, &gAns = #u, &gReturn = #u, &g対応番号 = #u } 変数宣言 固有, 文字列 { &gTitle = "【 履歴の実行 】科目置換Click", &gMsg = #u, &g入力日 = #u, &g編集属性式 = #u }
使用フォーム 条件 (.NOT #行集計状態 .AND .NOT #絞り込み状態 .AND #整列状態) 整列解除
&gReturn = 1 手続き実行 編集属性chk
&g絞り込み状態 = #絞り込み状態 if ( &g絞り込み状態 <> 0 ) &g入力日 = #日時文字列( [入力日], 13, 1, 3 ) &gMsg = #条件選択( &g入力日, "項目名 [ 入力日 ] " + &g入力日 + " " + "の" + " ", 1, #u ) + "科目置換を行います " &gMsg = &gMsg + "\n\nよろしいですか?" メッセージボックス &gTitle, &gMsg, アイコン = i, ボタン指定 = 2, 制御文字展開 = する, &gAns
if ( &gAns = 1 ) 併合 条件名 = "科目置換", 終了状態 = &gReturn if ( &gReturn = 1 ) 検索 [勘定科目] { = #u }, 文字比較方法 = 自動, 部分一致検索 = しない, 自動調整 = しない, 終了状態 = &gReturn if ( &gReturn = -1 ) &gMsg = #条件選択( &g入力日, "項目名 [ 入力日 ] " + &g入力日 + " " + "の" + " ", 1, #u ) + "科目置換が " &gMsg = &gMsg + "\n\n正常終了しました" メッセージボックス &gTitle, &gMsg, アイコン = i, ボタン指定 = 1, 制御文字展開 = する, &gAns
else &gReturn = 0 手続き実行 編集属性chk
&gMsg = #条件選択( &g入力日, "項目名 [ 入力日 ] " + &g入力日 + " " + "の" + " ", 1, #u ) + "項目名 [ 勘定科目 ] に " &gMsg = &gMsg + "\n\n未定義レコードがあります" &gMsg = &gMsg + "\n\n工場仕入科目一覧.TBX のマスタを 修正 or 新規登録 して再度実行してください " メッセージボックス &gTitle, &gMsg, アイコン = i, ボタン指定 = 1, 制御文字展開 = する, &gAns
end
else &gMsg = "何らかの理由で 勘定科目 の併合がエラー終了しました " &gMsg = &gMsg + "\n\n原因を探る or 桐に詳しい人に状況を伝えて解決してください " メッセージボックス &gTitle, &gMsg, アイコン = e, ボタン指定 = 1, 制御文字展開 = する, &gAns
end
end else &gMsg = "項目名 [ 入力日 ] の入力日が複数あります " &gMsg = &gMsg + "\n\n勘定科目を置換する 入力日のみ を絞り込んでから、再度履歴の実行を行ってください " メッセージボックス &gTitle, &gMsg, アイコン = i, ボタン指定 = 1, 制御文字展開 = する, &gAns
end
終了
名札 編集属性chk
&g編集属性式 = #trim( #半角( #項目表示条件( #項目番号( "勘定科目" ), 10 ) ), 4 ) &g対応番号 = #対応番号( &g編集属性式, #trim( #半角( "( .not [勘定科目]) CB26" ), 4 ) )
if ( &gReturn .and ( &g対応番号 <> 0 ) ) 表示条件読み込み 条件名 = "ok勘定科目ON", 開始条件 = 無効 else if ( .not &gReturn ) 表示条件読み込み 条件名 = "err勘定科目ON", 開始条件 = 無効 end
手続き終了
----------------------------------------------------------------------------------
履歴名を 科目置換Click と名付け コマンドボタンと見做してみました。 一応 意図した挙動になりましたが・・・
固有 .or 共通 変数しか宣言出来ない 名札を作っても、その履歴の中でしか使えない( ライブラリが使えるかな?と思いましたが、イベントファイルのメイン部用のコマンドでした(^^ゞ ) 名札をコールしても 引数 が使えない(T_T)
うーん。前提が前提なだけに、実験としては成功なんですが、気持ちとしては上記3点があるので積極的に履歴を作らないだろうと思いましたm(__)m 引数が使えなのがちょっと・・・ 自分ならスコープ事故を起こすだろうなと思いました。
----------------------------------------------------------------------------------
> 「一括処理(.cmx)」と「フォーム(.wfx)+イベント処理(.kex)」は、180度反対方向に顔を向けたプログラミングスタイルです。 > ・・・・・・・・・・・・・・・・・・・・・・・・・ > すなわち、[フロー駆動]対[イベント駆動]という違いです。 > ・・・・・・・・・・・・・・・・・・・・・
○○.CMX を記述するって事は、本当に額面通り 一括処理 なんですね(^^ゞ 実験を通じて、昔に比べ [フロー駆動] という意味が分かった気がします。
-------------------------------------------------------------------------------
p.s.
> Google 検索 のAIモードの方が、Microsoft Copilot よりもマシであったという話。
私も最近は、やりたい事の考え方として AI( ジェミニ )に聞いてみる事があります。 鵜呑みに出来ませんが、自分では思い至らない考え方がある事に気付けるので、重宝しています(^^ゞ
|