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

《 桐質問以外の話題は、「のほか掲示板」からどうぞ 》
■ 24時間以内に作成されたスレッドは New で表示されます。
■ 24時間以内に更新されたスレッドは UpDate で表示されます。

記事リスト ( )内の数字はレス数
Nomal主ウィンドウ と 補助ウィンドウについて(42) | Nomal拡張子CSVで項目間をカンマで区切り書き出したい(32) | Nomal加工開始日を求めたい(32) | Nomalハンドルとは?(31) | Nomal期間絞込でのエラー時対応について(31) | Nomal行制約について(31) | Nomal比較式の書き方について(28) | Nomalフォームの式入力で[名前]と背景色を指定できますか(22) | Nomalフォームの閉じ方について(18) | Nomalフォームのコマンドボタンについて(18) | Nomal変数値の取得方法について(16) | Nomal表番号の謎(16) | Nomal[英単語] を単語単位で検索・絞込する方法(15) | Nomal印字コマンド(13) | Nomal月毎の日数端数を切り捨てた月期間の計算について(10) | Nomalメール送信(9) | Nomal項目別 連番生産(9) | Nomalイベントでフォームをまとめて開く(8) | Nomal連番を自動入力したい(8) | Nomalチェックボックスの動作(8) | Nomal文字列中に、4桁以上の数字が含まれているか検査したい(8) | Nomalアポストロフィ、シングルクォーテーションの「'」(8) | Nomalインボイス対応請求書レポート作成(8) | Nomal帳票印刷(7) | Nomal一括処理書き方(7) | Nomalエクセル書き出し(7) | Nomalフォーム入力途中でESC(6) | Nomalテーブルの項目を整理する際の影響確認(5) | Nomalレポートにつきまして(5) | Nomal文字置換(5) | Nomalレポート印刷(5) | Nomal環境依存文字(5) | Nomal項目計算式にメモ(4) | Nomal正か負かで区分を付けたい(4) | Nomal9000バイトの出力(4) | NomalTXTファイルからDATファイルに変更(4) | Nomalarm版Windows での桐の使用(4) | Nomal保存した条件における読み込み元表のパスが変更されている場合(4) | Nomal(削除)(4) | Nomalエクセル1900基準にしたい(4) | Nomal文字列への入力方法(4) | Nomal状態表示について(3) | Nomalタイルを2つ(3) | Nomal桐レポート若しくは一覧表印刷で作成可能かどうか(3) | Nomal時間型の置換(3) | Nomal【アイデア募集】スケジュール表示(2) | Nomalレポートでページごとの合計を表示(2) | Nomalレポートで明細末尾に以下余白と表示させたいです(2) | Nomal桐レポートCond関数で(2) | Nomal特定箇所の計算(2) | NomalDBの接続に失敗しました(2) | Nomal条件選択だと思うんですが…(2) | Nomalレポート オブジェクトの属性(2) | Nomalvogvip.com VOGコピー(1) | Nomal一覧表(tbx)を開いた状態での複合レポート(1) | Nomal会話で開かれていない為継承できません(1) | Nomal桐RDSで固まる(1) | Nomal(削除)(1) | New喜平ネックレス つけっぱなし(0) | Nomal(削除)(0) |



■記事リスト / ▼下のスレッド
■14473 / 親記事)  主ウィンドウ と 補助ウィンドウについて
□投稿者/ ジェダイの桐 -(2024/07/08(Mon) 16:23:57)
    2024/07/09(Tue) 17:44:50 編集(投稿者)
    2024/07/08(Mon) 16:26:00 編集(投稿者)

    桐10s Windows10を使用しています。


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


    やりたい事

     主ウィンドウの情報 で 補助ウィンドウのデータを絞り込み
     
     ある条件時には 主ウィンドウの情報 で 補助ウィンドウのデータを計算したい

     補助ウィンドウ を直接触ることはない


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


    こんにちは。


    計画表.TBX
    計画表.WFX 主ウィンドウ
    在庫表.TBX
    在庫表.WFX 補助ウィンドウ
    計画表.kex  があります。


    計画表.TBX には
     
     [商品名]    (文字列)
     [受注数]    (数値)
     [出荷準備日]  (日時)
     [出荷日]    (日時)

    の情報が有り [商品名] と [受注数] と [出荷日] は必ず情報が入っています。


    在庫表.TBX には

     [商品名]    (文字列)
     [在庫数]    (数値)

    の情報が入っています。


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


    計画表.WFX に 在庫表.WFX(ポップアップ) を開くコマンドボタンを作成しています。

    1、

    計画表.WFX に レコード移動 で &商品名 に [商品名] を代入しています。

    計画表.WFX の レコード移動毎 に 在庫表.WFX の [商品名] を &商品名で絞り込み 計画表.WFX へ戻る。

    流れ

    起点 計画表.WFX レコード移動 → 在庫表.WFX 絞り込み → 計画表.WFX に戻る

    2、

    計画表.WFX の [出荷準備日] が 未定義から定義になった時(初めて入力された) &受注数 に [受注数] を代入する。

    代入した &受注数 を 在庫表.WFX の [在庫数] から &受注数 を引く


    若しくは

    計画表.WFX の [出荷準備日] が 定義から未定義になった時(出荷準備を止めた) &受注数 に -[受注数] を代入する。

    代入した &受注数 を 在庫表.WFX の [在庫数] から &受注数 を引く


    流れ

    起点 計画表.WFX [出荷準備日] が 初めて入力される .or 入力削除される → 在庫表.WFX 絞り込み → 在庫表.WFX [在庫数] 計算 → 計画表.WFX に戻る


    1と2 を実現する方法が知りたいです。


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


    自分の考えとしては、 レコード移動 と 入力前 と 入力後 と ソース値更新 を使用するのではと思いプログラムを作成しました。

    主ウィンドウ → 補助ウィンドウ → 補助ウィンドウでやりたい事実行 → 主ウィンドウに戻る

    の方法が思いつかないです。


    分かる方、お時間のある時教えて頂ければ幸いです。

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

▽[全レス42件(ResNo.38-42 表示)]
■14516 / ResNo.38)  Re[5]: 主ウィンドウ と 補助ウィンドウについて
□投稿者/ ジェダイの桐 -(2024/07/11(Thu) 11:08:54)
    2024/07/11(Thu) 11:27:12 編集(投稿者)

    ONnojiさん


    おはようございます。


    > ということで、モードレスな「フォーム+イベント処理」+モーダルな「フォーム+イベント処理」は難易度が中程度になります。
    > 【難易度】
    >  高い  モードレスな「フォーム+イベント処理」+モードレスな「フォーム+イベント処理」
    >  ↑
    >  │   モードレスな「フォーム+イベント処理」+モーダルな「フォーム+イベント処理」
    >  │
    >  │   モードレスな「フォーム+イベント処理」+「ステルスな表」
    >  ↓
    >  低い  モードレスな「フォーム+イベント処理」


    今回、サンプル提供頂いたデザインはこのチャート表でいえば中間ですね。
    凄くポジティブに考えれば、中間ステップまでこれたなと捉える事が出来ます。
    勿論、サンプル の プログラムを理解し、使いこなせる事が前提です。


    一方 モードレスな「フォーム+イベント処理」+モーダルな「フォーム+イベント処理」 に関しては
    ■14350 期間絞込でのエラー時対応について の時 ONnojiさんに プログラム提供 と 考え方 を教えて頂いたので、教えて頂いた範囲は理解出来ています。
    (範囲外の概念の場合は未知数ですが・・・)


    あの時点で モードレスな「フォーム+イベント処理」+「ステルスな表」 より一つ上のデザインを希望してしまっていたのですね。


    最終的には モードレスな「フォーム+イベント処理」+モードレスな「フォーム+イベント処理」 を目指したいですが、

    モードレスA → こんにちは。モードレスB → モードレスB で こんにちは。モードレスB を表示

    モードレスB → こんにちは。モードレスA → モードレスA で こんにちは。モードレスA を表示


    と言う、やり取りを作る所からというイメージを抱きました。
    (当分先の事になりますが・・・)


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


    そもそも、どうして モードレスな「フォーム+イベント処理」+モードレスな「フォーム+イベント処理」
    を発想したかと言うと単純に フォーム と サブフォーム の関係に苦手意識があるからです。


    単純に表示だけする場合には、サブフォームはありと思いますが、プログラムを書くと言う事になれば別の話になります。


    昔、メインフォーム側ではプログラムが動くのに、サブ側では一部しか動かない。
    と言う事がありました。今にして思えば ウインドウハンドル番号問題 もありそうです。


    が、とにかく メイン サブ の関係がややこしいので それなら モードレスで開いた方が分かりやすいな 位の発想だったんです。


    結果、最高難易度で撃沈・・・
    でも、道しるべ(チャート表)を教えて頂いたので、その時その時の自分の理解度とチャート表を照合して、設計をデザインしていきます(^^ゞ


    今回も本当にありがとうございましたm(__)m
引用返信 [メール受信/OFF]
■14517 / ResNo.39)  Re[6]: 主ウィンドウ と 補助ウィンドウについて
□投稿者/ ONnoji -(2024/07/11(Thu) 12:50:35)
    2024/07/11(Thu) 13:21:28 編集(投稿者)

    > そもそも、どうして モードレスな「フォーム+イベント処理」+モードレスな「フォーム+イベント処理」
    > を発想したかと言うと単純に フォーム と サブフォーム の関係に苦手意識があるからです。
    > 単純に表示だけする場合には、サブフォームはありと思いますが、プログラムを書くと言う事になれば別の話になります。
    > 昔、メインフォーム側ではプログラムが動くのに、サブ側では一部しか動かない。
    > と言う事がありました。今にして思えば ウインドウハンドル番号問題 もありそうです。

    メイン&サブフォームの場合、サブフォームはメインフォームにラップ(包含)されているので、ウィンドウハンドル番号はメインと同じですよ。

    ハンドル番号は同じですが、[オブジェクト操作]と[メソッド呼び出し]は @メインのsubformObjectName@サブのobjectName で指定します。

    例えば、

     メソッド呼び出し 戻り値 = &return, @subformAccept.@txt日付_入力用.フォーカス設定()
     メソッド呼び出し 戻り値 = &return, @subformAccept.@cmd訂正.実行()

    これは、少し前の スケジュール表_main.kex より。

    ユーザの操作で発生するイベントは、操作対象のフォームのものですよ。

    つまり、メインとサブのどちらが現在フォーカスを持っているかが重要になってきます。

    > が、とにかく メイン サブ の関係がややこしいので それなら モードレスで開いた方が分かりやすいな 位の発想だったんです。
    > 結果、最高難易度で撃沈・・・
    > でも、道しるべ(チャート表)を教えて頂いたので、その時その時の自分の理解度とチャート表を照合して、設計をデザインしていきます(^^ゞ

    ちなみに、私( ONnoji )がメイン&サブフォームが大嫌いなことは割と有名カモしれませんが・・・アハハha

    そんなわけで、前回のチャートではメイン&サブフォームは敢えて無視しました。

    しかし、チャートに付け加えるとすれば以下のような感じでしょうかねぇ〜。

    【難易度】

     最高  メイン「フォーム+イベント処理」+サブ「フォーム+イベント処理」
     ↑
     │   メイン「フォーム+イベント処理」+サブ「フォームのみ」
     │
     │   メイン「フォームのみ」+サブ「フォームのみ」
     ↑
     高い  モードレスな「フォーム+イベント処理」+モードレスな「フォーム+イベント処理」
     ↑
     │   モードレスな「フォーム+イベント処理」+モーダルな「フォーム+イベント処理」
     │
     │   モードレスな「フォーム+イベント処理」+「ステルスな表」
     ↓
     低い  モードレスな「フォーム+イベント処理」

    というのも、メイン&サブフォームというのは、ウィンドウの数が2つか1つかの違だけで、
                          ・・・・・・・・・・・・・・・・・・

     モードレスな「フォーム+イベント処理」+モードレスな「フォーム+イベント処理」≒ メイン「フォームのみ」+サブ「フォームのみ」

    ニアリーイコール(≒)なんですよね。
    ・・・・・・・・・・・・・・・

     最高  メイン「フォーム+イベント処理」+サブ「フォーム+イベント処理」
     ↑
     │   メイン「フォーム+イベント処理」+サブ「フォームのみ」
     │
     高い  メイン「フォームのみ」+サブ「フォームのみ」


    さらにイベント処理が付け加わると、メインフォームの局所変数とサブフォームの局所変数に同名のものがあると後から宣言(または代入)した変数に上書きされるワケです。
                                         ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    もしも、そのような事態になると、もうお気づきだと思いますが、プログラムが破綻してしまうんですよ。
                                  ・・・・・・・・・・・・・

    という由緒正しい理由から、私( ONnoji )は、メイン&サブフォームを避けているのです。アハハハha。


    > 最終的には モードレスな「フォーム+イベント処理」+モードレスな「フォーム+イベント処理」 を目指したいですが、
    > モードレスA → こんにちは。モードレスB → モードレスB で こんにちは。モードレスB を表示
    > モードレスB → こんにちは。モードレスA → モードレスA で こんにちは。モードレスA を表示
    > と言う、やり取りを作る所からというイメージを抱きました。

    アラ!懐かしいですね、思い出してしまいました。

    私は20年以上前にAフォームとBフォームでジャンケンの勝負をさせようと思ったことがありましたっけ。

    ただし、考えただけで実際には作りませんでしたけれどね。グァハハハ。

    ここにある「こんにちは」はアラン・ケイが言う所のメッセージングのような意味かと思いますが・・・(^^ゞ

    実に面白いですね。v(^^)v

    ちなみに、拙作フレームワーク:INF_Framework の場合には、

     ** HDLCOM var 第 2.1 版で追加された変数
     変数宣言 局所,文字列{ &HDLCOMmSendMacro, &HDLCOMmReceiveMacro }
     変数宣言 局所,整数 { &HDLCOMmOnMacro, &HDLCOMmReceiveReady = 1 }

     一般手続き:HDLCOMprcMacroSend( 整数 &hdl, 文字列 &sendMacro, 参照 整数 &done )

    といった具合に、ハンドル+通信( communication )の意味合いで HDLCOM という機能名を用意していますよ。


引用返信 [メール受信/OFF]
■14518 / ResNo.40)  Re[1]: 主ウィンドウ と 補助ウィンドウについて
□投稿者/ ななーし -(2024/07/11(Thu) 14:33:25)
    ジェダイの桐さんこんにちは。

    過去話で上記の連携フォーム作ったのですが、結構バグが出て、
    現在は以下のようなやり方になりました。
    (作業者の人為的なバグで予想外なことをやってくれまして・・・)

    目的:発注システムで設備情報を確認できるようにしたい。

    過去:右に情報用のフォームを表示、行移動で情報が変わるシステム
       右の情報用フォーム内で検索等が可能なシステム

    現在:行を右クリック時にモーダルフォームで該当行に関する情報を
       検索し表示するシステムに変更

    過去システムの際は自分で作ったのもあり、行移動イベントごとにサブウィンドウの情報が切り替わったことで行移動にものすごく時間がかかりました。
    結論、見たい情報は右クリックやコマンドボタン押すなどイベントタイミングで
    適切なモーダルウィンドウ(一時的に確認するウィンドウを表示、確認後閉じる)
    にし、共有変数を作成し、確認した数字がいいならメインフォームに代入する
    これくらいにすると、後の開発が楽になります。
引用返信 [メール受信/OFF]
■14519 / ResNo.41)  Re[7]: 主ウィンドウ と 補助ウィンドウについて
□投稿者/ ジェダイの桐 -(2024/07/11(Thu) 15:55:18)
    ONnojiさん


    >  メソッド呼び出し 戻り値 = &return, @subformAccept.@txt日付_入力用.フォーカス設定()
    >  メソッド呼び出し 戻り値 = &return, @subformAccept.@cmd訂正.実行()


    @subformAccept これが正直謎でした。
    サブフォームの指定でどこの段階で代入したっけ??
    と思っていたのですが、


    > ユーザの操作で発生するイベントは、操作対象のフォームのものですよ。
    >
    > つまり、メインとサブのどちらが現在フォーカスを持っているかが重要になってきます。


    この文章がヒントとなり、試しにメインフォームの サブフォーム部分で右クリック → オブジェクトの属性 → サブフォームタブ → オブジェクト名


    しっかりと定義されていました。
    サブフォームを使う事がないので、発想が出来ませんでした。


    理解度が上がりました。ありがとうございますm(__)m


    > 【難易度】
    >
    >  最高  メイン「フォーム+イベント処理」+サブ「フォーム+イベント処理」
    >  ↑
    >  │   メイン「フォーム+イベント処理」+サブ「フォームのみ」
    >  │
    >  │   メイン「フォームのみ」+サブ「フォームのみ」
    >  ↑
    >  高い  モードレスな「フォーム+イベント処理」+モードレスな「フォーム+イベント処理」
    >  ↑
    >  │   モードレスな「フォーム+イベント処理」+モーダルな「フォーム+イベント処理」
    >  │
    >  │   モードレスな「フォーム+イベント処理」+「ステルスな表」
    >  ↓
    >  低い  モードレスな「フォーム+イベント処理」
    >


    より詳しいチャート表ありがとうございます!


引用返信 [メール受信/OFF]
■14520 / ResNo.42)  Re[2]: 主ウィンドウ と 補助ウィンドウについて
□投稿者/ ジェダイの桐 -(2024/07/11(Thu) 16:00:21)
    ななーしさん


    こんにちは。


    > 目的:発注システムで設備情報を確認できるようにしたい。
    >
    > 過去:右に情報用のフォームを表示、行移動で情報が変わるシステム
    >    右の情報用フォーム内で検索等が可能なシステム
    >
    > 現在:行を右クリック時にモーダルフォームで該当行に関する情報を
    >    検索し表示するシステムに変更


    結局、どんなに気を使ったプログラムを作っても、 原点は使用者 に有ると言う事なんですよね。


    そして、プログラムをアップデートしていく。


    結果として、使用者に喜ばれ 開発者はノウハウが溜まる。


    私もこういう流れになる様に、日々精進します!


    お話を聞かせて頂きありがとうございます。
引用返信 [メール受信/OFF]

■記事リスト / レス記事表示 → [親記事-9] [10-19] [20-29] [30-39] [40-42]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■14648 / 親記事)  拡張子CSVで項目間をカンマで区切り書き出したい
□投稿者/ hiro -(2024/11/01(Fri) 23:37:08)
    今まで銀行へ全銀手順のTXTデータでやり取りしてたのですが、今後LTAXの方にデータ送信することになりました。
    今までは@ヘッダレコード(@の表は項目が「区分」「種別」「委託者」・・幾つかあり最後の項目「Z」で全項目を連結しています。以下AからCも同じ。)、Aデータレコード、Bフッタレコード等を送信表のA項目に@の「Z」Aの「Z」Bの「Z」Cの「Z」順番に読み込んでまとめてA項目をTXTで書き出す事で出来ていました。

    今度LTXは各項目間はカンマで区切って@ABCをつなげ、データの拡張子はCSVとしてデータを作らないといけないのですが、まず項目間をカンマ区切りで「Z」項目で連結させることは出来ないでしょうか?
    別のいい方法があればそれでも構いません、よろしくお願いします。
引用返信 [メール受信/OFF]

▽[全レス32件(ResNo.28-32 表示)]
■14682 / ResNo.28)  Re[9]: 拡張子CSVで項目間をカンマで区切り書き出したい
□投稿者/ ONnoji -(2024/11/04(Mon) 23:36:14)
    2024/11/05(Tue) 00:03:55 編集(投稿者)

    > (最初はdat拡張子は作れないと思っていましたので)同じ感じで作ってましたが項目間はカンマ区切りで無いといけないとあったので
    > 09ですとタブ区切りのようですが、それで私は@ヘッダ、データ、トレーラー、エンド表の項目をカンマ区切りでテキスト出力し、(元々各表は1レコード120桁で合っています)

    > A別表でその全項目をタブ形式で読み込んでBCSV書き出しする事で、
    > カンマ区切りのCSVが出来ていました、ただ出来たファイルを桁数で数えると1レコードが120桁+項目間のカンマ数になって120桁でなくなるけど
    > カンマ区切りだから良いのかな?
    > 実際に読み込んでみないと分からないな、という状態でした。

    桁数が云々というのは、普通の場合には固定長(桁:バイト単位)のデータファイルの場合です。

    一般的に、csv と言う場合には、コンマで区切られていれば良いのですが・・・

    しかし私( ONnoji )は、「仕様書 個人住民税(特別徴収)CSVレイアウト仕様書(CSVフォーマット).xlsx」を隅から隅まで目を通したワケではありませんので、

    仕様に関しては、必ずご自身で仕様書を精読してください。

    悪しからず。m(__)m

    > その後、印字コマンドでDAT形式が出来ると言う事で、それにもトライして元々使っていた全銀手順の形式をdat拡張子に変えた状態です。
    > (地銀協フォーマットにした事でutf-8はもう関係なくなるとは思いますが)
    > 今はカンマ区切りにしたCSVと、地銀協フォーマットのdatの2つが試せる状態です

    印字コマンドでテキストファイルが作れますが、出力するファイルの拡張子は自由です。
                          ・・・・・・・・・・・・・・・・・

    世の中には、拡張子(.dat)のファイルがありますが、内容は千差万別です。

    それは、ファイルを利用するサービスやアプリケーションによって内容が異なるからです。

    だから、一般的な拡張子(.dat)のファイルも、一般的な拡張子(.csv)ファイルというのも存在しませんよ。

    つまり、今回の仕様に基づいた拡張子(.dat)のファイルと、今回の仕様に基づいた拡張子(.csv)ファイルと考えてください。
        ・・・・・・・・・・・・・・・・・・・・・  ・・・・・・・・・・・・・・・・・・・・

    p.s.

    仕様書の

    ・個人住民税(特別徴収)CSVレイアウト仕様書(CSVフォーマット).xlsx

    ・個人住民税(特別徴収)ファイルレイアウト定義書(地銀協フォーマット).xlsx

    この2つの仕様書がありますが、地銀協フォーマットがいわゆる固定長ですね。

    CSV フォーマットの方は、(地銀協フォーマット)にコンマで区切る点が付け加えられただけの違いようですね。

    それにしても、これらの仕様書の内容はワカリニクイですね。

    ちなみに、一般的な「全銀フォーマット」もしかりで、どれもこれも超ワカリニクイです。

    もう少し、分かり易い仕様書を書いて欲しいと思いますが・・・技術屋さんが書いたものをネット上に丸投げしているようですから期待できませんね。

    繰り返しになりますが、仕様に関しては、必ずご自身で仕様書を精読してください。

    悪しからず。m(__)m

    p.p.s.

    蛇足です。

    雑感を続けると・・・

    元々は、シフトJIS のファイルが標準だったのでしょうね。

    ところが、UTF-8 のファイルがよく使われるようになったので、新しい仕様を追加したのでしょう。
         ・・・・・・・・・・・・・・・・・・・・・・・

    その際に、エクセルでも読めるようにコンマ区切り、つまり CSV の仕様にしたのかなぁ〜???
         ・・・・・・・・・・・・

    なんでんかんでん、エクセルを基準に考える技術者が多いという事でしょうかねぇ〜。

    当方は、そんなところだろうと、妄想しています。アハハハハha

    ちなみに、普通の場合には、誰でも csv = 可変長 だと思っているんですよ。

    でも、固定長のままながら、単にエクセルで開けるからという理由で、コンマの区切りを使っただけというのが実情でしょうかね。
       ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    全部、タラレバですよ。(^^ゞ



引用返信 [メール受信/OFF]
■14683 / ResNo.29)  Re[10]: 拡張子CSVで項目間をカンマで区切り書き出したい
□投稿者/ hiro -(2024/11/05(Tue) 15:11:43)
    No14682に返信(ONnojiさんの記事)
    ONnojiさん、皆さまどうもありがとうございました。
    ようやく解決しました
    2つのパターンともダメで最終的に地銀協フォーマットでやっていたのにUTF-8の設定のままになっていたのが原因のようでした(マニュアルではSJIS)
    今回には関係ありませんが、地銀協フォーマットなのでUTF-8設定は要りませんがヘルプの印字コマンド説明でSJIS出力=する=しないでUTF-16が書かれていますがUTF-16は誤りだそうで、SJIS出力=しない、にした時、環境設定が生きてくるそうです。
    確かUTF-8に変える前はSJISだったと思うので、結局、今まで使ってたデータ形式を拡張子.datにするだけで済んだ気がします。遠回りしましたw

解決済み!
引用返信 [メール受信/OFF]
■14684 / ResNo.30)  Re[11]: 拡張子CSVで項目間をカンマで区切り書き出したい
□投稿者/ ONnoji -(2024/11/05(Tue) 16:35:18)
    2024/11/05(Tue) 17:23:42 編集(投稿者)

    訂正がありました。m(__)m

    No14675に返信(ONnojiさんの記事)
    > 2024/11/05(Tue) 16:32:04 編集(投稿者)
    > 2024/11/04(Mon) 19:07:44 編集(投稿者)

    > [印字開始]コマンドのパラメータは
    >
    >   印字開始  <ファイル名>,\
    >    追加,\
    >     SJIS出力 = しない|する,\
    >      制御文字展開 = しない|する,\
    >       終了状態 = <変数名>
    >
    > と変わっていないようですね。 ^^) _旦~~


    2024.11.06 追記

    【訂正】

    × と変わっていないようですね。 ^^) _旦~~

    〇 SJIS出力 パラメータを省略 または SJIS出力 = しない の時に環境設定の設定を反映します。

    注意:ただし、UTF-8 で、先頭から文字列が ASCIIコード の場合には、メモ帳ではシフトJIS と UTF-8の判別に失敗して、UTF-16LE と誤判断してしまいます。
       ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

       したがって、メモ帳で確認する場合には、UTF-8(BON付き), UTF-16LE, UTF-16BE のいずれかの設定でテストしてください。
             ・・・・・・・・・・・・

       従って、正確に判断する場合には、バイナリエディタで確認することをお勧めします。
           ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    p.s.

    今やブラウザ関係では、UTF-8 が全盛です。

    しかし、困ったことに、UTF-8 と ANSI は区別できません。

    もともと、UTF-8 を除くUnicode では、BOM (Byte Order Mark:バイト・オーダー・マーク)がありますが、

    UTF-8 には、LEもBEも無いので、BOM がありませんでした。
    ・・・・・・・・・・・・

    しかし、前述のように UTF-8 と ANSI は区別できないために、あえてUTF-8 にもBOM が付けられるようになった経緯があります。
               ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    次善の策のように思えるUTF-8(BON付き)ではありますが、世の中にシフトJIS が存在し続ける限り、役に立つ仕様です。

    ちなみに、UTF-8 と ANSI は区別できないのは基本的な問題ですので、

    桐に限ったことではなく、エクセルや他のソフトでも同じです。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    桐やMSオフィスとのデータ交換を目的としている場合には、UTF-8(BON付き)を選択する方がトラブルが無くベターです。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    ただし、今回話題にしたネットのサービスのように、

    インターネット上でのやり取りでは、BOM 無しのUTF-8 が標準になっていることが多いことでしょう。(^^ゞ
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

引用返信 [メール受信/OFF]
■14685 / ResNo.31)  Re[12]: 拡張子CSVで項目間をカンマで区切り書き出したい
□投稿者/ ONnoji -(2024/11/05(Tue) 17:16:43)
    > ONnojiさん、皆さまどうもありがとうございました。
    > ようやく解決しました

    ずいぶんと遠回りしましたね。

    > 2つのパターンともダメで最終的に地銀協フォーマットでやっていたのにUTF-8の設定のままになっていたのが原因のようでした(マニュアルではSJIS)
    > 今回には関係ありませんが、地銀協フォーマットなのでUTF-8設定は要りませんがヘルプの印字コマンド説明でSJIS出力=する=しないでUTF-16が書かれていますがUTF-16は誤りだそうで、
    > SJIS出力=しない、にした時、環境設定が生きてくるそうです。

    これは、2024年6月の桐sSL/桐sLTの仕様変更に伴う事柄です。

    オンラインヘルプ等にも追記していただきたいですね。>K3

    > 確かUTF-8に変える前はSJISだったと思うので、結局、今まで使ってたデータ形式を拡張子.datにするだけで済んだ気がします。遠回りしましたw

    その通りです。

    少し前にも。

      ■TXTファイルからDATファイルに変更
      http://tayu.o0o0.jp/bbs/kiri/cbbs.cgi?mode=all&namber=14579&type=0&space=0&no=0

      ■印字コマンド
      http://tayu.o0o0.jp/bbs/kiri/cbbs.cgi?mode=all&namber=14584&type=0&space=0&no=0

      ■一括処理書き方
      http://tayu.o0o0.jp/bbs/kiri/cbbs.cgi?mode=all&namber=14597&type=0&space=0&no=0

      ■9000バイトの出力
      http://tayu.o0o0.jp/bbs/kiri/cbbs.cgi?mode=all&namber=14619&type=0&space=0&no=0

    ↑のような、非常によく似たやり取りがあり、すったもんだしました。

    このやり取りも、拡張子(.dat)が単にテキストファイルのことだと看破できなかったから発生したものでした。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    つまり、 DATファイル形式というものが世の中に存在すると思い込んでしまったことが原因です。

    繰り返しになりますが、 DATファイル形式などというファイルは世の中には存在しないのでした。

    しかし、特定のサービスまたはアプリケーションで必要とするテキストファイルでは、拡張子を(.dat)にすることがその業界でのお決まりになっているのでした。
                                                        ・・・・・・・・・・・・・・・・・・・・
    いわば業界用語にPCユーザが振り回されたということになりますね。
       ・・・・・・・・・・・・・・・・・

    今回の質問も、まず最初に仕様書のありかを提示していれば、直ちに解決したハズですよ。

    p.s.

    当方は、DAT ファイルにはもうコリゴリです。

    願わくば。「もう、柳の下に3匹目のドジョウが居ませんように」と願っています。

引用返信 [メール受信/OFF]
■14686 / ResNo.32)  Re[13]: 拡張子CSVで項目間をカンマで区切り書き出したい
□投稿者/ hiro -(2024/11/05(Tue) 22:39:28)
    ONnojiさん、どうもありがとうございました。
    そうですね、現状の状態をもっと詳しく書いていたらもっと早く解決していたでしょうね、すみません。サポートセンターの人に桐で拡張子datは書き出せないとか、印字コマンドで出来ますよとかも言われなかった事や、私も印字コマンドを全く知らなかった上に、元々現状の一括処理を少し変更すれば早く終わると思った事で結果的に時間がかかってしまいました。UTF-8やら16やら、SJIS、txt、dat、csv等関係がややこしいですねw
    > つまり、 DATファイル形式というものが世の中に存在すると思い込んでしまったことが原因です。
    > 繰り返しになりますが、 DATファイル形式などというファイルは世の中には存在しないのでした。
    > しかし、特定のサービスまたはアプリケーションで必要とするテキストファイルでは、拡張子を(.dat)にすることがその業界でのお決まりになっているのでした。
    >                                                     
    LTAXの回答する人もdatファイルでお願いしますと言う事で、何か違うんだろうなと思ってしまいますね(お互い詳しくない人同士のやりとりで)w
解決済み!
引用返信 [メール受信/OFF]

■記事リスト / レス記事表示 → [親記事-9] [10-19] [20-29] [30-32]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■14266 / 親記事)  加工開始日を求めたい
□投稿者/ ジェダイの桐 -(2024/04/09(Tue) 09:55:19)
    おはようございます。

    桐10s Windows10 を使用しています。


    ・やりたい事
      休日を除いた工場の加工開始日を 加工日1 加工日2 に表示(代入?)したい。
      加工日1の加工日数は5日 加工日2の加工日数は7日 です。
      会社の休日カレンダーは作成済です。


    ・自分で考えてやってみた事

     休日カレンダーを作成し直前値を使って 当日日付 - 前日日付 で休日を除いた日数をカウントする。

     加工日数(数値)を入力して、当日日付 - 前日日付が -1 の時は加工日数、その他は 当日日付 - 前日日付 + 加工日数 を当日日付から引く。

     これで求める事が出来ると安易に考えていましたが、よく考えたら当日日付から加工日数を引いているので、いくら休日を除いた日数をカウントしても意味がありませんでした・・・

     手続きが使えれば実現可能ではないかと、自分なりに調べてみたのですが分かりませんでした。

    お時間がある時でいいのでご回答いただければ幸いです。

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

▽[全レス32件(ResNo.28-32 表示)]
■14300 / ResNo.28)  Re[17]: 加工開始日を求めたい
□投稿者/ ジェダイの桐 -(2024/04/15(Mon) 18:19:55)
    ONnojiさん


    早速の返信ありがとうございますm(_ _)m

    ちょっと書き方が分かりにくかったかもしれません。

    cmdテストClick  ← 上位の機能(モジュール)
     │
    └ prc加工日探索 ← 下位の機能(モジュール)

    └cmdテスト2Click← 後から追加した上位の機能(モジュール)
    └ prc加工日探索 ← 下位の機能(モジュール)(使い回し。cmdテスト2Clickの中にprc加工日探索を指示しておけば、実際にはcmdテスト2Clickの上にプログラムがあるので、記載しなくて良いと言う認識です。)

    だけど、

    > 上機能 → 下機能 → 上機能 というのは、A機能 → B機能 → A機能 という考えた方が良いと思いますよ。

    と言う考え方なのですね^_^
    気を引き締めて、理解していかないとスパゲッティ迷宮に迷い込みそうです(TT)


    > ひょっとして[再帰呼び出し]のことでしょうかね?????


    私の発想はかなり単純でした。
    上位プログラム と 下位プログラムを最初から分けておいた方が管理がしやすいのかな??
    と思ってしまったんです…

    まさか、こんなにウルトラ難度とも梅雨知らず(TT)


    勉強になりました(^^)/

    >  <参考>
    >  38.2 再帰呼び出し|桐の釣魚大全のトップ > フォームアプリケーション教書 第2部
    >  http://silicon7565.html.xdomain.jp/guide/guide_Part2.htm#section38-2
    >
    > しかし、部品展開や逆展開で使うと便利かなぁ〜程度の認識ですが、ウルトラ難度の頭の回転技を必要としそうですよ。

    本当に本当に上達して、必要がある時のみ、こう言う事が出来ればなぁ とは思いますが、まずはしっかりと基礎固めします^_^
引用返信 [メール受信/OFF]
■14301 / ResNo.29)  Re[18]: 加工開始日を求めたい
□投稿者/ ONnoji -(2024/04/15(Mon) 19:02:22)
    2024/04/15(Mon) 19:40:29 編集(投稿者)

    > ちょっと書き方が分かりにくかったかもしれません。
    >
    > cmdテストClick  ← 上位の機能(モジュール)
    >  │
    >  └ prc加工日探索 ← 下位の機能(モジュール)
    >  │
    >  └cmdテスト2Click← 後から追加した上位の機能(モジュール)
    >  └ prc加工日探索 ← 下位の機能(モジュール)(使い回し。cmdテスト2Clickの中にprc加工日探索を指示しておけば、実際にはcmdテスト2Clickの上にプログラムがあるので、記載しなくて良いと言う認識です。)
    >
    > だけど、
    >
    >>上機能 → 下機能 → 上機能 というのは、A機能 → B機能 → A機能 という考えた方が良いと思いますよ。
    >
    > と言う考え方なのですね^_^
    > 気を引き締めて、理解していかないとスパゲッティ迷宮に迷い込みそうです(TT)


    よ〜く見たら、

    cmdテストClick  ← 上位の機能(モジュール)
     │
     └ prc加工日探索 ← 下位の機能(モジュール)

    cmdテスト2Click ← 後から追加した上位の機能(モジュール)
     │
     └ prc加工日探索

    ↑こういう意味なんでしょうね。

    サンプルはあくまでも見本ですので最小で作ってあるんですよ。

    この場合には、

    cmdテストClick ※メインの機能を 手続き実行 prc多重化して探索( ) に変更
     │
     └ prc多重化して探索 ※cmdテストClickを prc多重化して探索( ) にリネームしたもの
       │
       └ prc加工日探索 ※そのまま 


    cmdテスト2Click ※メインの機能を 手続き実行 prc多重化して探索( ) に変更
     │
     └ prc多重化して探索 ※cmdテストClickを prc多重化して探索( ) にリネームしたもの
       │
       └ prc加工日探索 ※そのまま 

    のように、コマンドボタンから呼び出す一般手続きを2つ作って、

    cmdテストClick と cmdテスト2Click ですが、

     手続き定義開始 cmdテストClick( )

      手続き実行 prc多重化して探索( )

     手続き定義終了

     手続き定義開始 cmdテスト2Click( )

      手続き実行 prc多重化して探索( )

     手続き定義終了

    こんな感じでOKです。

     <参考>
     25.3 プロシージャ(手続き)名の付け方|桐の釣魚大全のトップ > フォームアプリケーション教書 第2部
     http://silicon7565.html.xdomain.jp/guide/guide_Part2.htm#section25-3

    p.s.

    最初のサンプルの時に、3階層で作って置けばよかったですかね?

     cmdテストClick ※メインの機能を 手続き実行 prc多重化して探索( ) に変更
      │
      └ prc多重化して探索 ※cmdテストClickを prc多重化して探索( ) にリネームしたもの
        │
        └ prc加工日探索 ※そのまま 

    でも、いきなり3階層では、消化不良を起こすかもしれなかったので2階層にしましたよ。(^^ゞ


引用返信 [メール受信/OFF]
■14302 / ResNo.30)  Re[19]: 加工開始日を求めたい
□投稿者/ ONnoji -(2024/04/15(Mon) 21:46:17)
    2024/04/15(Mon) 22:08:34 編集(投稿者)

    こんなやり取りがありましたね。(^^ゞ

    > ■Re[9]: 行制約について
    >>正に一番やりたかったイメージの物でした!
    >>フォーム+イベント処理は敷居が高く感じますが、乗り越えたらやりたいイメージの物が出来上がりますね!
    >>ブログ読ませて頂きます!(直ぐに理解出来ないので何回も読もうと思います)
    > 当方のwebページの、
    > フォームアプリケーション教書 第1部
    > フォームアプリケーション教書 第2部
    > は、[フォーム+イベント処理]のガイド・事典として執筆したものです。
    > 一応、順番にお読みになることをお勧めしますが、必要な所を拾い読みしていただくのでも構いません。
    > なお、著者が認める「悪文」ですので、読み難さについてはご勘弁ください。アハハhe(^^ゞ
    > 対象範囲が広いので、例えば「変数って何ですか?」のような初級者向けの事柄は割愛しています。
    > つまり、変数の知識は有ることが前提になっています。
    > そうしないと、膨大な量の解説を書かなければなりませんがら・・・(^^ゞ

    予想をはるかに超えて大きなツリーになってしまいました。

    貴殿のような初級者の人に、実際に動作するサンプルを見せて、後は自分で頑張ってね〜(^^)v

    なんてね、でもそれはちょっと酷だと思ったのです。

    実は当方では「(仮題)目からウロコのデータベース桐プログラミング」という小論を書き始めた時期だったのです。

    このようにタイミングが重なったためにかなり長大な投稿を繰り返してしまいました。

    最後まで読んでいただいて、丁寧なリプライをいただきまして感謝です。

    また、ガントチャートに関しての知見をお聞かせいただいて合わせて感謝です。

    ということで、いい加減に終わりですが (^^ゞ

    最後にひとつ・・・

    ジェダイの桐さんのお仕事は製造業のようなので、加工機械は身近なものでしょう。

    この機械(マシン)はハードウェアと言うものですね。

    一方、桐の[フォーム+イベント処理]はソフトウェアです。

    このソフトウェアという言葉を、[柔らかな機械]と考えていただきたいのです。

    見えなくて、実際に触ることも出来ないけれど、それは機械と同じなんだとね。

    だから、機能だとかモジュラー設計だとか、まるでハードウェアと同じような言葉が飛び出すのです。

    ハードウェアのメンテナンスや故障診断と、ソフトウェアのそれはまったく同じではありませんが、

    ソフトウェアが[柔らかな機械]だと考えればイメージしやすくなるでしょう。

    では最後に、

    ジェダイの桐さんへ

    フォームを使え。感じるのだ。 Use the Form. Feel it.

    フォームと共にあらんことを。 May the Form be with you.

    それでは。(@^^)/~~~


引用返信 [メール受信/OFF]
■14309 / ResNo.31)  Re[20]: 加工開始日を求めたい
□投稿者/ ジェダイの桐 -(2024/04/18(Thu) 09:19:37)
    ONnojiさん


    このツリーで最後の返信にします。
    教えて貰った後日談です。


    変数の読み方 ブロック構造の考え方 の知識が入った状態で、
    ONnojiさん と あこめさんの、プログラム練習をやっている途中です。
    以前やった時は 作業 でやったみただけ状態でした。


    しかし、今は若干ではありますがプログラムの意味が分かります。
    (代入 が省かれて記入されている事と、ブロック構造の考え方を教えて貰ったのが大きいと思います。)


    プログラム練習を全部やって、少しずつ自分の業務に応用出来る様に挑戦していきます。


    また、新たな壁にぶつかった時は 掲示板に新たな投稿をします。
    フォームを感じ、フォームと共に頑張ります(^^)/


    今まで本当にありがとうございましたm(__)m
    それでは〜(^^♪
引用返信 [メール受信/OFF]
■14310 / ResNo.32)  Re[21]: 加工開始日を求めたい
□投稿者/ ONnoji -(2024/04/19(Fri) 18:41:09)
    2024/04/19(Fri) 18:42:39 編集(投稿者)

    ジェダイの桐さん

    後日談拝を読しました。

    さらに参考になるかもしれない?ということで、補習授業みたいな??

    この【多遊】さんのHPの、もうひとつ別の掲示板「のほか掲示板」に投稿してテキストを添付しました。
                 ・・・・・・・・・・・・・・・・・・・・・

    よろしければ、添付のテキストをお読みになってみてください。


    《 桐質問以外の話題は、「のほか掲示板」からどうぞ 》

    > ■1442 / 親階層)  (仮題)目からウロコの「桐プログラミング」入門
    > □投稿者/ ONnoji -(2024/04/19(Fri) 18:33:10)
    >
    > 現在、(仮題)目からウロコの「桐プログラミング」入門という小論を執筆中です。
    >
    > これは[フォーム+イベント処理]の初級者向けの内容です。
    >
    > まだまだ執筆途中ですが、ご高覧いただければ嬉しいです。
    >
    > ご意見・ご感想などフィードバックいただければ幸いです。
    >
    > よろしくお願いいたします。m(__)m

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

■記事リスト / レス記事表示 → [親記事-9] [10-19] [20-29] [30-32]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■14706 / 親記事)  ハンドルとは?
□投稿者/ hiro -(2024/11/11(Mon) 15:52:48)
    桐10.4使用してます
    コマンドのウィンドウ作成でハンドル=長整数・・・ウィンドウのハンドルを取得するための変数名ってありますが、ウィンドウのハンドルを取得ってよく分かりませんが、これは何をしてるものでしょうか?
    無くても良いんじゃない?と思ったのですが必須なようで・・よろしくお願いします。
引用返信 [メール受信/OFF]

▽[全レス31件(ResNo.27-31 表示)]
■14738 / ResNo.27)  「すでに変数があるから使っちゃおう!」なんて考えるから、今回も大きく遠回りしたんですよ。
□投稿者/ ONnoji -(2024/11/12(Tue) 22:51:07)
    2024/11/14(Thu) 12:21:39 編集(投稿者)
    2024/11/12(Tue) 23:39:19 編集(投稿者)


    結論からすると、固有変数/整数:&総回数 の値の40は、

     ウィンドウ作成 ”複写回数2.WFX”,ハンドル=&総回数

    で代入されたのです。

    それ以外の理由はありませんよ。

     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

     変数削除 *
     変数宣言 固有,整数{&数,&回数,&総回数 }

     表 ”01201用.tbx”

     ジャンプ 行番号=最終
     絞り込み 行数=1
     書き出し 表,”複写用.tbl”,*

     ウィンドウ作成 ”複写回数2.WFX”,ハンドル=&総回数 /* 複写回数2.WFX のウィンドウを作成した時に、&総回数 にハンドル番号が代入されます */
                                /* 複写回数2.WF は 変数対象表が無いフォーム、つまり NULLフォームなので、40から順番に値が割り当てられます */
     確認 #文字列(&総回数)

     ウィンドウ会話 &総回数
     確認 #文字列(&総回数)

     &回数=0
     繰り返し

      条件 (&総回数=&回数) 繰り返し中止
      読み込み 表,”複写用”,*
      &回数=&回数+1
     繰り返し終了

     確認 #文字列(&総回数)
     表形式編集
     ウィンドウ終了 &総回数

     確認 #文字列(&総回数)

     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

    わざわざ、添付ファイルを作っていただくまでもないことでしたけれどね。(−−〆)

    なお、

     ウィンドウ終了 &総回数  の替わりに

     ウィンドウ終了 40

    だって、エラーにはなりませんよ。

    何故ならば、

     ウィンドウ作成 ”複写回数2.WFX”,ハンドル=&総回数

    で作成した[ウィンドウ]のハンドル番号が、40だからです。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    もちろん、他の変数であっても値が40ならばOKですよ。

    つまり、

     &数 = 40
     ウィンドウ終了 &数

    でもOKなわけですよ。

    たまたま、&数 が未定義値だったので、エラーにならなかっただけだと思いますが、

     ウィンドウ終了 #u

    普通は、未定義値のハンドル番号なんて誰も指定しませんよ。(ーー;)--------------> ※遠い目線


     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

    単に、ハンドルを格納する変数と、繰り返す変数を使い回しているから駄目なんでしょ。

    変数と言うのは、目的ごとに宣言しなければだめですよ。

    「すでに変数があるから使っちゃおう!」なんて考えるから、今回も大きく遠回りしたんですよ。(−−〆)
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

     ◇ ◇ ◇ ◇ ◇ ◇

    ハンドル用の変数:&hdl を追加して以下のように変更すればOKでしょ。

     変数削除 *
     変数宣言 固有,整数{&数,&回数,&総回数 }

     &総回数 = 10

     変数宣言 固有,長整数{ &hdl }

     表 ”01201用.tbx”

     ジャンプ 行番号=最終
     絞り込み 行数=1
     書き出し 表,”複写用.tbl”,*

     ウィンドウ作成 ”複写回数2.WFX”,ハンドル= &hdl

     確認 #文字列(&総回数)

     ウィンドウ会話 &hdl
     確認 #文字列(&総回数)

     *&回数=0
     *繰り返し

     &回数 = 1
     繰り返し ( &回数 <= &総回数 )

      *条件 (&総回数=&回数) 繰り返し中止
     
      読み込み 表,”複写用”,*

      &回数=&回数+1
     繰り返し終了

     確認 #文字列(&総回数)
     表形式編集
     ウィンドウ終了 &hdl

     確認 #文字列(&総回数)

    p.s.

    後は、ご自身で考えてください。

    バイバイ(@^^)/~~~


引用返信 [メール受信/OFF]
■14740 / ResNo.28)  Re[20]: ハンドルとは?
□投稿者/ hiro -(2024/11/12(Tue) 23:25:28)
    ONnojiさん、どうもありがとうございます
    話が変わると言いますか、自分でも原因を探っていますので、探っているうちにここが怪しいと思う所を上げていっているのでこのような形になってしまいました、分かりにくくなってすみません。

    > 結論からすると、固有変数/整数:&総回数 の値の40は、
    >  ウィンドウ作成 ”複写回数2.WFX”,ハンドル=&総回数
    > で代入されたのです。
    > それ以外の理由はありませんよ。
    代入されると言う事ですが、最初はまっさらなはずなのに何故入っているのか、何処から出て来たのかが謎だったのです。数字を変えたら次はそれに置き換わるなら未だしも常に40が出てくる、これが謎だったのです。
                                /* 複写回数2.WF は 変数対象表が無いフォーム、つまり NULLフォームなので、40から順番に値が割り当てられます */
    40という数字が定番の数字と言う事なのですね?

    > わざわざ、添付ファイルを作っていただくまでもないことでしたけれどね。(−−〆)
    ここまでくると実際に見ないと何が原因か分からないだろうなと思った次第です

    > 普通は、未定義値のハンドル番号なんて誰も指定しませんよ。(ーー;)--------------> ※
    これも謎だったのですが、未定義値のハンドル番号があって初めてエラーなく終了出来るという・・結果的には40が強制的な初期値だと言う事でそれに合わせる事でエラーが消えるのですね。
    イメージしていたのは初期値は空白で、そこに希望回数入れたものが最初のハンドル値になると思っていました。ややこしいですね、やっと分かりました、ありがとうございました。

解決済み!
引用返信 [メール受信/OFF]
■14741 / ResNo.29)  Re[21]: ハンドルとは?
□投稿者/ ONnoji -(2024/11/12(Tue) 23:43:39)
    2024/11/13(Wed) 00:59:55 編集(投稿者)


    ウィンドウ作成|桐オンラインヘルプ
    https://www.kthree.co.jp/kihelp/index.html?page=cmd/stx/cwcreate&type=html

    ■パラメータ

    ハンドル = <長整数>
    ウィンドウのハンドルを取得する変数名を指定します。
          ・・・・・・・・・

    今後はヘルプをよく読んで、自己流の解釈を避けるようにしてください。


引用返信 [メール受信/OFF]
■14742 / ResNo.30)  Re[22]: ハンドルとは?
□投稿者/ hiro -(2024/11/13(Wed) 00:10:34)
    ONnojiさん、ありがとうございます
    確認コマンドを繰り返しの中に変数名分4つ作って見る事で謎が解けました
    フォームの中の変数名とウィンドウ作成のハンドルの変数名は同じじゃダメなんですね
    何故か同じにしないといけないと思ってたのが原因でした
    永長とありがとうございました。


解決済み!
引用返信 [メール受信/OFF]
■14743 / ResNo.31)  Re[23]: ハンドルとは?
□投稿者/ ONnoji -(2024/11/13(Wed) 01:04:05)
    > 確認コマンドを繰り返しの中に変数名分4つ作って見る事で謎が解けました
    > フォームの中の変数名とウィンドウ作成のハンドルの変数名は同じじゃダメなんですね
    > 何故か同じにしないといけないと思ってたのが原因でした

    貴殿は思い込みや、勘違いする傾向が非常に強いですね。

    直近の拡張子(.dat)の件も、相当すったもんだしたでしょ。

    まず、慌てない事ですよ。

    慌てるから拙速になって大失敗するのです。

    他の人も巻き添えになりますから、今後は拙速にならないように慎重に願います。

    p.s.

    4年前には、こんなこともありましたっけね。
     ↓
    過去ログ84
    ■12547 / inTopicNo.1)  繰り返し
    □投稿者/ hiro -(2020/08/11(Tue) 17:21:47)
    http://tayu.o0o0.jp/bbs/kiri/cbbs.cgi?mode=al2&namber=12547&no=0&KLOG=84


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

■記事リスト / レス記事表示 → [親記事-9] [10-19] [20-29] [30-31]



■記事リスト / ▲上のスレッド
■14350 / 親記事)  期間絞込でのエラー時対応について
□投稿者/ ジェダイの桐 -(2024/05/20(Mon) 09:54:05)
    2024/05/20(Mon) 17:48:46 編集(投稿者)

    桐10s Windows10を使用しています。


    日付絞り込み.TBXの項目名 日付 には ランダムに24/4/1〜24/4/30まで入力されいます。


    日付絞り込み.WFX から コマンドボタンで 期間指定絞込.WFXをモーダルフォームで開き、
    絞り込み開始日 と 絞り込み終了日 を入力して 日付絞り込み.WFXの日付を絞り込みたいと考えています。


    名札 メイン
     変数宣言 局所, 日時 { &mRefinementStartDate, &mRefinementEndDate }

     表 "日付絞り込み.TBX"
     &mRefinementStartDate = [日付]
     &mRefinementEndDate = [日付]


    手続き定義開始 cmd絞込開始Click()
     変数宣言 自動, 数値  { &ans }
     変数宣言 自動, 文字列 { &title = "cmd絞込開始Click()", &msg }

     表 "日付絞り込み.TBX"
     解除 *
     if( .not #eof )
      &msg = "絞り込み開始日 と 絞り込み終了日 が選択されました。"
      &msg = &msg + "\n日付 " + #文字列( &mRefinementStartDate ) + " 〜 " + #文字列( &mRefinementEndDate ) + "を絞り込みますか?"
      メッセージボックス  &title, &msg, アイコン = i, ボタン指定 = 2, 制御文字展開 = する, &ans

      if( &ans = 1 )
      絞り込み [日付] { &mRefinementStartDate<=[]<=&mRefinementEndDate }
      &msg = "絞り込み完了しました"
      メッセージボックス  &title, &msg, アイコン = i, ボタン指定 = 1, 制御文字展開 = しない
      メソッド呼び出し 戻り値= &実行リターン, @cmd閉じる. 実行()
      else
      &msg = "キャンセルしました"
      メッセージボックス  &title, &msg, アイコン = i, ボタン指定 = 1, 制御文字展開 = しない
      end

     else
     &msg = "該当日が見当たりません"
      メッセージボックス  &title, &msg, アイコン = i, ボタン指定 = 1, 制御文字展開 = しない
     end

    手続き定義終了


    この手続きですと、絞り込み開始日 と 絞り込み終了日 が正しく入力出来ていれば思った通りの動きになります。

    しかし、 24/4/1 〜 24/3/1 の様に間違えた入力でも絞り込めてしまいます。
    (絞り込みの結果は、絞り込んだ状態で全て未定義状態です)


    良く考えてみると

    else
     &msg = "該当日が見当たりません"
      メッセージボックス  &title, &msg, アイコン = i, ボタン指定 = 1, 制御文字展開 = しない
     end

    このプログラムは書いているだけで、エラー判断が無いので意味をなしてない気がします・・・


    絞り込み期間入力を間違えた時 処理を止める方法が分かる方 お時間がある時教えて頂けたら幸いですm(__)m


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

▽[全レス31件(ResNo.27-31 表示)]
■14385 / ResNo.27)  Re[7]: モジュール化はフォームのレベルでも必要
□投稿者/ ONnoji -(2024/05/23(Thu) 22:57:26)
    2024/05/24(Fri) 00:21:18 編集(投稿者)
    2024/05/23(Thu) 23:57:06 編集(投稿者)

    今回の質問のゴールであるポップアップウィンドウ(モーダルフォーム)で開始日時と終了日時を指定して、

    呼び出し元のフォームの編集対象表のレコードを絞り込むという目的は達成できましたね。パチパチパチ (^^v♪

    今回もですが、Win桐の「フォーム+イベント処理」にしても(エクセルのVBAにしてもですが)、つくづく思いましたが初級者には難しいですね。

    これは自動車の運転と同じですね。※自動車の免許を持っていない人は初めて自転車に乗る時を思い出してください。

    当然ですが、誰でも最初から自動車を自由自在に運転できるワケではありませんよね。

    同じく、当然ですが、誰でも最初からジェット旅客機のパイロットになれるワケではありませんよね。

    だから、最初から自分が何でも出来ると思うのは誤りですね。

    つまり、どんな事でも、少しづつ経験を積み重ねていかなければ一人前にはならないものなのですよね。

    これって、会社の仕事もしかりで何にでも当てはまりますよね。

    もしも、「フォーム+イベント処理」を上達したいと志すのであれば、経験をたくさん積んでください。

    きっと、AKさんもその事をを伝えたかったのだと思いますよ。

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

    桐の「フォーム+イベント処理」では、内容にもよりますが、マイクロソフト社のVBやC#で作成したアプリケーションと遜色の無いくらいのアプリケーションが作れますよ。

    こんなにも、簡単にお手軽にアプリケーションが作れるのに放って置くのは勿体ないと思いませんか?

    いま流行の、「きんとん雲」より少しだけ手間が掛かりますが、「痒いところに細かに手が届く」アプリケーションが作れるのはWin桐くらいかと思いますよ。

    私( ONnoji )は、Win桐をアプリケーション開発のプラットフォームだと発信してきました。

    だから、Win桐でアプリケーションを開発する人は、もっともっともっと自信を持っていただきたいのでありますゾ!。

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

    ジェダイの桐さんの質問投稿を読むと、AKさんもですが私( ONnoji )も自分自身の昔の姿を思い起こしてしまうのですよ、

    だから、気になって仕方が無いのですね。アハハha

    というわけで、毎回のようにツリーが膨張してごめんなさいね。(^^ゞ > 【多遊】さん

    p.s.

    元々は人工知能を批判する哲学者が提唱したものですが・・・

    「ドレイファスモデル」という超有名な学習に関するモデルがあります。

    是非、お読みください。※随分昔に私( ONnoji )はアスキー刊の[純粋人工知能批判( 原題:Mind Over Machine )を読んで感銘を受けましたよ。


    こちら
     ↓
    ドレイファスモデルとは何か?技能の5段階と各段階にあわせた対応方法を解説 | Promapedia(プロマペディア)
    https://ssaits.jp/promapedia/method/dreyfus_model.html


    ドレイファスモデル:直観力の習得 &#8211; アイ&カンパニー
    https://iandco.jp/ex/dreyfus/

    > ドレイファスモデル:直観力の習得
    >
    > 1. 初心者、Novice :経験がほとんどない
    >
    > 2. 中級者、Advanced beginner :自分だけでは問題解決にてこずる
    >
    > 3. 上級者、Competent :自分で問題解決できる
    >
    > 4. 熟練者、Proficient :自分で学び成長することができる
    >
    > 5. 達人、Expert :直観で行動できる


    ちなみに、現在では「パトリシア・ベナーの看護理論」の方が有名かもしれませんが、内容は同じですよ。

引用返信 [メール受信/OFF]
■14386 / ResNo.28)  Re[10]: モジュール化はフォームのレベルでも必要
□投稿者/ ジェダイの桐 -(2024/05/24(Fri) 09:37:14)
    AKさん


    おはようございます!


    > ONnojiさんのHPは難しいと感じるかもしれませんが私が知りうる限りではイベント処理の勉強では間違いなく一番参考になると思います。
    > 同様にAkomeさんのHPも参考になると思います。
    > ぜひ見よう見真似をした上で自力で作成してみてください。


    今回の件で、本当の意味で理解出来た事があります。
    それは、切羽詰まらない(必要に迫られない)と真剣なつもりなんだなぁって事です。


    ONnojiさんのホームページを何回も読んでいるのですが、
    フォームアプリケーション教書 第1部 9.2 に実行条件の事が書いてあります。
    具体的な使用方法は今回学べたのですが、ヒントが既に提示されているんですよね・・・


    正に読んだつもり状態ですよね。(ヤレヤレです(T_T))


    > しかし繰り返し作っていって慣れてくれば、いづれ「今度はこうしたい!」という意欲がわいてきてドンドン上達すると思います。
    > 初心者、初級者はこの繰り返しの実践しかありません。
    > そして今回のような要求に耐えうる知識と技術が少しずつ身につくと思います。


    取り組み続けていきますね!
    (実際、桐のプログラム(仕掛け)を考えるのは楽しいですし、上手くいった時は嬉しいです(^^)/)


    > 次回は一から自作されたフォームとイベントファイルの質問を拝見させていただければなぁと勝手に思っております。^^


    はい!
    その時が来ましたら、助言の程よろしくお願いしますm(__)m


引用返信 [メール受信/OFF]
■14387 / ResNo.29)  Re[8]: モジュール化はフォームのレベルでも必要
□投稿者/ ジェダイの桐 -(2024/05/24(Fri) 10:12:41)
    ONnojiさん


    おはようございます!


    > 今回の質問のゴールであるポップアップウィンドウ(モーダルフォーム)で開始日時と終了日時を指定して、
    >
    > 呼び出し元のフォームの編集対象表のレコードを絞り込むという目的は達成できましたね。パチパチパチ (^^v♪


    本当に嬉しいです!
    ありがとうございましたm(__)m
    桐に不慣れな人も喜んでいます。喜んで貰える設計(構造)に助言を貰いながら作成出来た事も嬉しいです!


    > つまり、どんな事でも、少しづつ経験を積み重ねていかなければ一人前にはならないものなのですよね。
    >
    > これって、会社の仕事もしかりで何にでも当てはまりますよね。
    >
    > もしも、「フォーム+イベント処理」を上達したいと志すのであれば、経験をたくさん積んでください。

    > きっと、AKさんもその事をを伝えたかったのだと思いますよ。


    > ジェダイの桐さんの質問投稿を読むと、AKさんもですが私( ONnoji )も自分自身の昔の姿を思い起こしてしまうのですよ、
    >
    > だから、気になって仕方が無いのですね。アハハha


    私は幸せ者です。
    だって、色んな人に気にかけて貰えているのですから。
    ありがとうございます!


    図(ダイアグラム)を書いて、やりたい事を定める事を習慣づけます。


    シンプルなのに、やりたい事が実現でき 且つ 分かりやすい。
    サンプル作成頂いたアプローチが衝撃的でした。


    コマンドボタンの機能 モーダルフォームの機能を見定める。
    コマンドボタンの機能(使い方)の認識が変わりました。
    これが凄く重要ですね。
    今回の件で良く分かりました。


    > こちら
    >  ↓
    > ドレイファスモデルとは何か?技能の5段階と各段階にあわせた対応方法を解説 | Promapedia(プロマペディア)
    > https://ssaits.jp/promapedia/method/dreyfus_model.html
    >
    >
    > ドレイファスモデル:直観力の習得 &#8211; アイ&カンパニー
    > https://iandco.jp/ex/dreyfus/
    >
    >>ドレイファスモデル:直観力の習得
    >>
    >>1. 初心者、Novice :経験がほとんどない
    >>
    >>2. 中級者、Advanced beginner :自分だけでは問題解決にてこずる
    >>
    >>3. 上級者、Competent :自分で問題解決できる
    >>
    >>4. 熟練者、Proficient :自分で学び成長することができる
    >>
    >>5. 達人、Expert :直観で行動できる


    この記事を読んでいきます!
    教えて頂きありがとうございます!


    p.s.


    >【本当に必要なメッセージと不要なメッセージ】

    >サンプルでは、デバッグ目的でメッセージボックスを表示していますが、

    >特に else つまり、[OK]ボタン以外、つまり[キャンセル]・ボタン[×]ボタン・[Esc]キーを押すの場合には、

    >メッセージボックスを出す必要はありませんよ。※デバッグ中を除く

    >なぜならば、モーダルフォームを[キャンセル]・ボタン[×]ボタン・[Esc]キーを押した人は、

    >作業の取り消しの意思を示したのですから、ご丁寧に"キャンセルしました〜(^^♪"なんて表示するのは手間を増やすだけの余計なお節介です。
    >・・・・・・・・・・・・・・          ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    >お節介なメッセージが欲しいのは開発者がテストをしている時だけです。
    >・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    >なので、実際に運用する時には、 else 側のメッセ―ボックスは表示されないようにコメントアウトしてください。


    ずっと不思議な事がありました。
    あこめさんの入門講座 Chapter4 でメッセージボックスが出てきます。


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

    else
     確認 "中止しました"

    キャンセルした際の表示なので、実際に稼働している時には不要でしょう。
    ここではメッセージボックスが動作したかどうかのデバック用に設定したわけです。

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


    と、解説が出てきます。
    私としては、せっかく作ったのに何故不要なんだろう??
    と思っていた訳ですが、ONnojiさんのコメントで解決しました!


    今なら、意味が理解出来ますし "キャンセルしました" は作業者にとって煩わしいですね。


引用返信 [メール受信/OFF]
■14393 / ResNo.30)  Re[9]: モジュール化はフォームのレベルでも必要
□投稿者/ ONnoji -(2024/05/26(Sun) 16:15:44)
    2024/05/26(Sun) 16:38:46 編集(投稿者)

    コマンドボタンの機能名の種類がたくさんあるので、一覧表の形式よりもWBSの形式の方が見やすそうです。

    試しにこんな感じで作ってみました。

    ご参考になれば。

    1 コマンドボタン

    ├ 1.1 ファイル
    │ ├ 1.1.1 閉じる
    │ ├ 1.1.2 上書き保存
    │ ├ 1.1.3 開く
    │ ├ 1.1.4 表整理
    │ ├ 1.1.5 結合表の再抽出
    │ ├ 1.1.6 読み込み_表
    │ ├ 1.1.7 読み込み_テキスト
    │ ├ 1.1.8 読み込み_K3
    │ ├ 1.1.9 読み込み_CSV
    │ ├ 1.1.10 読み込み_PDF
    │ ├ 1.1.11 書き出し_表
    │ ├ 1.1.12 書き出し_テキスト
    │ ├ 1.1.13 書き出し_K3
    │ ├ 1.1.14 書き出し_CSV
    │ ├ 1.1.15 書き出し_転置
    │ ├ 1.1.16 書き出し_表の枠組み
    │ ├ 1.1.17 書き出し_外部データベース
    │ ├ 1.1.18 併合
    │ ├ 1.1.19 一覧表印刷
    │ └ 1.1.20 レポート印刷

    ├ 1.2 編集
    │ ├ 1.2.1 訂正
    │ ├ 1.2.2 表示/訂正
    │ ├ 1.2.3 表示
    │ ├ 1.2.4 ジャンプ
    │ ├ 1.2.5 フォーカス移動
    │ ├ 1.2.6 検索_条件名
    │ ├ 1.2.7 検索_比較式
    │ ├ 1.2.8 検索_値
    │ ├ 1.2.9 次を検索
    │ ├ 1.2.10 前を検索
    │ ├ 1.2.11 次を検索_比較式
    │ ├ 1.2.12 前を検索_比較式
    │ ├ 1.2.13 項目置換
    │ ├ 1.2.14 置換_条件名
    │ ├ 1.2.15 元に戻す
    │ ├ 1.2.16 削除
    │ └ 1.2.17 すべて選択

    ├ 1.3 クリップボード
    │ ├ 1.3.1 コピー
    │ ├ 1.3.2 切り取り
    │ └ 1.3.3 貼り付け

    ├ 1.4 表示
    │ ├ 1.4.1 ズームイン
    │ ├ 1.4.2 ズームアウト
    │ ├ 1.4.3 表編集へ
    │ ├ 1.4.4 フォームの選択
    │ ├ 1.4.5 削除行
    │ └ 1.4.6 スラッシュメニュー

    ├ 1.5 行操作
    │ ├ 1.5.1 行挿入
    │ ├ 1.5.2 行追加
    │ ├ 1.5.3 行削除_指定行
    │ ├ 1.5.4 行削除_全行
    │ ├ 1.5.5 行復活_指定行
    │ ├ 1.5.6 行復活_全行
    │ ├ 1.5.7 レコードロック_指定行
    │ ├ 1.5.8 レコードロック_現在行
    │ ├ 1.5.9 ロック解除_全行
    │ ├ 1.5.10 絞り込み_条件名
    │ ├ 1.5.11 絞り込み_比較式
    │ ├ 1.5.12 絞り込み_値
    │ ├ 1.5.13 絞り込み_指定行
    │ ├ 1.5.14 絞り込み_単一化
    │ ├ 1.5.15 絞り込み_重複行
    │ ├ 1.5.16 絞り込み_行数
    │ ├ 1.5.17 絞り込み_同一値
    │ ├ 1.5.18 補集合
    │ ├ 1.5.19 並べ替え_条件名
    │ ├ 1.5.20 並べ替え_昇順
    │ ├ 1.5.21 並べ替え_降順
    │ ├ 1.5.22 絞り込み_解除
    │ ├ 1.5.23 解除
    │ ├ 1.5.24 グループ指定
    │ ├ 1.5.25 グループ検索
    │ ├ 1.5.26 グループ値訂正
    │ ├ 1.5.27 グループ追加
    │ ├ 1.5.28 グループ再抽出
    │ └ 1.5.29 グループ解除

    ├ 1.6 入力
    │ ├ 1.6.1 直前値
    │ ├ 1.6.2 直前行
    │ └ 1.6.3 値複写

    ├ 1.7 ウィンドウ
    │ ├ 1.7.1 多重化_表編集
    │ └ 1.7.2 多重化_フォーム編集

    ├ 1.8 Webビュー ※桐sSLで新しく追加されたグループ
    │ ├ 1.8.1 戻る
    │ ├ 1.8.2 進む
    │ ├ 1.8.3 更新
    │ ├ 1.8.4 ホーム
    │ └ 1.8.5 URL取得

    ├ 1.9 手続き実行
    │ └ 1.9.1 手続き実行

    ├ 1.10 その他
    │ ├ 1.10.1 再生
    │ ├ 1.10.2 状況依存ヘルプ
    │ ├ 1.10.3 モーダルフォーム
    │ ├ 1.10.4 ファイル名入力
    │ ├ 1.10.5 編集制御
    │ ├ 1.10.6 シェル実行
    │ ├ 1.10.7 実行条件
    │ ├ 1.10.8 一括処理へ戻る ※「フォーム+イベント処理」では使用しません
    │ └ 1.10.9 桐の終了

    └ 1.11 なし
      └ 1.11.1 なし

引用返信 [メール受信/OFF]
■14407 / ResNo.31)  Re[11]: モジュール化はフォームのレベルでも必要
□投稿者/ ななーし -(2024/05/28(Tue) 16:08:35)
    ジェダイの桐さんこんにちは。

    たしかにONnojiさんのサイトはわかりやすいです。
    ただ、かなり丁寧な書き方をしてもらっていることもあり、
    少し詰まるとわからない感じがしてくるということがありました。
    詰まった原因は言葉のニュアンス理解ですね。どういう意味だろう?がわからなかったことがあり、桐をベースなので桐を見ながら紐解きしてました。

    超初心者クラスのフォームベースの作成ではOK,キャンセルと
    少しのイベント処理がわかればいいので桐のサンプルを分解して確認してみると参考になると思います。(桐のサンプルもゴテゴテしてはいるんですけどね(笑)シンプルすぎるのと難しいの中間くらいのものが欲しかったがわがままだと思うので割愛

    サンプルでこれわからない!ってなったらONnojiさんのサイトを見るとめちゃくちゃわかります。参考にしてみてください。
引用返信 [メール受信/OFF]

■記事リスト / レス記事表示 → [親記事-9] [10-19] [20-29] [30-31]






1513234

Mode/  Pass/

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

- Child Tree -
- Antispam Version -