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

■14706 / 親記事)  ハンドルとは?
  
□投稿者/ hiro -(2024/11/11(Mon) 15:52:48)
    桐10.4使用してます
    コマンドのウィンドウ作成でハンドル=長整数・・・ウィンドウのハンドルを取得するための変数名ってありますが、ウィンドウのハンドルを取得ってよく分かりませんが、これは何をしてるものでしょうか?
    無くても良いんじゃない?と思ったのですが必須なようで・・よろしくお願いします。
引用返信 [メール受信/OFF] 削除キー/
■14708 / ResNo.1)  Re[1]: ハンドルとは?
□投稿者/ ONnoji -(2024/11/11(Mon) 17:13:55)
    2024/11/11(Mon) 18:00:24 編集(投稿者)

    > コマンドのウィンドウ作成でハンドル=長整数・・・ウィンドウのハンドルを取得するための変数名ってありますが、
    > ウィンドウのハンドルを取得ってよく分かりませんが、これは何をしてるものでしょうか?

    [フロー駆動型]の一括処理を実行している場合には、[オブジェクト操作]コマンドや[メソッド]を実行する時にハンドル番号が必須になります。
    ・・・・・・・・・・・・・・・・・・・・・・

    > 無くても良いんじゃない?と思ったのですが必須なようで・・よろしくお願いします。

    ということから、[ウィンドウ作成]コマンドでは、[ハンドル =]パラメータは省略できないのですよ。

    それは、[フロー駆動型]の一括処理を実行する為のコマンドだからですよ。

    p.s.

    もしも、[イベント駆動型]の[フォーム+イベント処理]を実行している場合には、[オブジェクト操作]コマンドや[メソッド]でハンドルを記述することは稀です。
        ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    なぜならば、自分自身のフォームのオブジェクトを対象に[オブジェクト操作]コマンドや[メソッド]を実行する場合にはハンドル指定が不要だからです。
          ・・・・・・・・・・・・・・・・・・・

    p.p.s.

    老婆心ながら・・・蛇に足を描かせていただきますと・・・(^^ゞ

    [フロー駆動型]の一括処理とは、一括処理ファイル(.cmx)にコマンド等を記述して、一括処理ファイル(.cmx)を実行する事を指します。

    早い話が、DOS桐からのプログラミング方法です。
         ・・・

    [イベント駆動型]の[フォーム+イベント処理]とは、[フォーム(.wfx)]に[イベント処理ファイル(.kex)]を定義して、

    開くダイアログ等で、そのフォームを開く事を指します。

    これは、桐ver.8 から使えるようになったプログラミング方法です。

    [フロー駆動型]の一括処理と、[イベント駆動型]の[フォーム+イベント処理]は、

    このようにアプローチが全く異なるので、両者を明確に区別しないと、頭の中がコンガラガリ(混乱し)ますよ。

    なお、[イベント駆動型]の[フォーム+イベント処理]では、

    DOS桐から引き継いだコマンドと、DOS桐コマンドをWin桐で拡張したコマンドの一部で使えないものがあります。

    これは、アプローチが全く異なるために生じた結果ですので、そういうものだと理解してください。(^^ok
        ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・



引用返信 [メール受信/OFF] 削除キー/
■14709 / ResNo.2)  Re[2]: ハンドルとは?
□投稿者/ hiro -(2024/11/11(Mon) 20:11:25)
    > [フロー駆動型]の一括処理とは、一括処理ファイル(.cmx)にコマンド等を記述して、一括処理ファイル(.cmx)を実行する事を指します。
    > 早い話が、DOS桐からのプログラミング方法です。
    > [イベント駆動型]の[フォーム+イベント処理]とは、[フォーム(.wfx)]に[イベント処理ファイル(.kex)]を定義して、
    > 開くダイアログ等で、そのフォームを開く事を指します。
    > これは、桐ver.8 から使えるようになったプログラミング方法です。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
    ONnojiさん、どうもありがとうございます。
    [フロー駆動型][イベント駆動型]とか出て来て、これは何だ?・・と思いましたら、下に記述されていて、痒い所に手が届きました。ありがとうございました。
    それで数字の変数値が入るのですが、それは何に使ってるのでしょうか?
    変数宣言 共通,整数{&数,&回数,&総回数}
    表 ”A.tbl”
    絞り込み 行数=1
    書き出し 表、B.tbl ,*
    ウィンドウ作成 ”複写.wfm” ,ハンドル=&総回数
    ウィンドウ会話 &総回数
    &回数=0
    繰り返し
    条件 (&総回数=&回数)繰り返し中止
    読み込み 表,”B” ,*
    &回数=&回数+1
    繰り返し終了
    ウィンドウ終了 &数
    と書いて上手く出来たのですが、最初、ウィンドウ会話 &数 と書いたらエラーで&総回数にしたらエラーは起きませんでした。ウィンドウ終了 の変数名は &数 なのに・・・
    ウィンドウ終了 の変数名も&総回数とするとエラーになるんですよね・・
引用返信 [メール受信/OFF] 削除キー/
■14710 / ResNo.3)  Re[3]: ハンドルとは?
□投稿者/ hiro -(2024/11/11(Mon) 20:15:21)
    > それで数字の変数値が入るのですが、それは何に使ってるのでしょうか?
    と言いますか、これは.wfmの値を格納してると思いますが、
    ウィンドウ会話とウィンドウ終了の変数との関係がよく分かっていませんでした

引用返信 [メール受信/OFF] 削除キー/
■14711 / ResNo.4)  Re[3]: ハンドルとは?
□投稿者/ ONnoji -(2024/11/11(Mon) 21:37:24)
    2024/11/11(Mon) 21:57:53 編集(投稿者)

    > [フロー駆動型][イベント駆動型]とか出て来て、これは何だ?・・と思いましたら、下に記述されていて、痒い所に手が届きました。ありがとうございました。
    > それで数字の変数値が入るのですが、それは何に使ってるのでしょうか?

     変数宣言 共通,整数{&数,&回数,&総回数}
     表 ”A.tbl”
     絞り込み 行数=1

     書き出し 表、B.tbl ,*
     ウィンドウ作成 ”複写.wfm” ,ハンドル=&総回数 ← &総回数には、[B表のウィンドウ]のハンドル番号が代入されている

     ウィンドウ会話 &総回数 ← ハンドル番号:&総回数、つまり[B表のウィンドウ]を会話状態にする

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

     ウィンドウ終了 &数 ← ハンドル番号:&数 って、未定義値でしょう。これはダメでしょう

    このように↑一応、コメントしますが、何をされたいのかサッパリ分かりません。

    本当に何をしたいのか???(ーー;)--------------> ※遠い目線

    > と書いて上手く出来たのですが、最初、ウィンドウ会話 &数 と書いたらエラーで&総回数にしたらエラーは起きませんでした。
    > ウィンドウ終了 の変数名は &数 なのに・・・
    > ウィンドウ終了 の変数名も&総回数とするとエラーになるんですよね・・

    私( ONnoji )は[フォーム+イベント処理]しか扱わないので、

    一括処理を実行するプログラミングは一切行いませんので、
    ・・・・・・・・・・・・・・・・・・・・・・・・・・

    [ウィンドウ作成 → ウィンドウ会話 → ウィンドウ終了]という一連のコマンドを使うことが一切ありません。

    ※ちなみに、[ウィンドウ会話]コマンドは[フォーム+イベント処理]では使えませんので、試しようがないのです。

    ということで、

    [ウィンドウ作成 → ウィンドウ会話 → ウィンドウ終了]という一連のコマンドに関してはこれ以上のコメントは出来ません。

    どなたかワカリマセンが、桐sで[一括処理]でプログラミングされる人にバトンタッチして退場いたします。 (@^^)/~~~
                ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・


引用返信 [メール受信/OFF] 削除キー/
■14712 / ResNo.5)  Re[4]: ハンドルとは?
□投稿者/ hiro -(2024/11/11(Mon) 22:26:09)
    ONnojiさん、ありがとうございます。
    >  ウィンドウ終了 &数 ← ハンドル番号:&数 って、未定義値でしょう。これはダメでしょう
    そうなんです、ハンドルが無いとエラーになりますし、ハンドル同士の関係が謎でした
    ちゃんと動いてるから良いと言えば良いですが、出来るなら理解したうえで使いたかったです
    やってる事は、表の1行を希望する回数だけまるまる複写する一括処理を作っていました
引用返信 [メール受信/OFF] 削除キー/
■14713 / ResNo.6)  Re[4]: ハンドルとは?
□投稿者/ まさやん -(2024/11/11(Mon) 22:37:58)
    2024/11/11(Mon) 22:54:48 編集(投稿者)
    2024/11/11(Mon) 22:54:07 編集(投稿者)
    2024/11/11(Mon) 22:41:01 編集(投稿者)
    2024/11/11(Mon) 22:39:41 編集(投稿者)

    hiroさん こんばんは

    >>それで数字の変数値が入るのですが、それは何に使ってるのでしょうか?

    一括処理歴 ン年 イベント歴 約1年(以前の一括をイベントに移行中)の経験になりますが、 知っている範囲で書いてみます。

    例えば
    表 "C.tbl" に対して  Cフォーム
    表 "D.tbl"   に対して  Dフォーム を作成して 

    二つのフォームを 同時に表示して運用することにします

    ウインドウ作成 C ハンドル=&Cハンドル   &Cハンドル と整数で変数宣言してたことにします
    ウインドウ会話 ハンドル=&Cハンドル

    ウインドウ作成 D ハンドル=&Dハンドル
    ウインドウ会話 ハンドル=&Dハンドル

    この二つの フォームを 同時に開いていたとします

    ウインドウ終了

    どのウインドウを 終了しますか?

    と桐が聞いてきたとします

    D のフォームを終了します と桐に教えるコマンドが

    ウインドウ終了 &Dハンドル  となります。

              ↑ どのフォームを終了させるかを 指定します

    イベント処理では この一連のコマンドは 使わないようです

    フォーム呼び出し ○○フォーム  ← ウインドウ作成 とやや同じ意味です
    コマンドボタンでは 開く や モーダルフォーム かな

    ウインドウ終了 は 閉じる かな
     


引用返信 [メール受信/OFF] 削除キー/
■14714 / ResNo.7)  Re[5]: ハンドルとは?
□投稿者/ hiro -(2024/11/12(Tue) 01:04:22)
    > この二つの フォームを 同時に開いていたとします
    > ウインドウ終了
    > ↑
    > どのウインドウを 終了しますか?
    > と桐が聞いてきたとします
    > D のフォームを終了します と桐に教えるコマンドが
    > ウインドウ終了 &Dハンドル  となります。
    >           ↑ どのフォームを終了させるかを 指定します
    まさやんさん、どうもありがとうございます。納得がいきました。
    ただ、 ウインドウ終了 &総回数とするとエラーになってしまうんです・・・同じ変数値ならバッチリ解決なのですけど・・
引用返信 [メール受信/OFF] 削除キー/
■14716 / ResNo.8)  Re[6]: ハンドルとは?
□投稿者/ まさやん -(2024/11/12(Tue) 07:45:11)
    2024/11/12(Tue) 08:07:16 編集(投稿者)


    > まさやんさん、どうもありがとうございます。納得がいきました。
    > ただ、 ウインドウ終了 &総回数とするとエラーになってしまうんです・・・同じ変数値ならバッチリ解決なのですけど・・

    >ウインドウ作成 ハンドル=&総回数

    >条件 (&総回数=&回数) 繰り返し中止

    ハンドルには その時点で開いている表の数によって
    値が一定ではありません(桐が自動的に 値を決めるので)

    通常 ハンドル と 変動する変数の共通な使い方はしてはいけません。
    変数宣言 共通,整数{&Cハンドル}  などと別物と考えてください。

    また 一括の場合 オブジェクト操作 などの コマンドでも
    どのウインドウのオブジェクト操作 を実行するかと桐に聞かれます

    オブジェクト操作 ハンドル=&Cハンドル @終了.背景色="みかん色"  とか

    どの ウインドウに対して 行う コマンド とハンドルを指定しなければいけません
    なので &Cハンドル(ウインドウ取得変数) の値は 一定でなければなりません

    私も 一括 ん十年やってきて イベント処理始めて 一年ぐらいになりますが
    始めるのが遅かったと反省してました
     
    いろんな意味でも イベント処理記述のほうが 良いかと思います。
    マウス操作の コマンドも書けますし。
    一括よりも 手間がだいぶ省けるようですよ(個人の感想です)。

引用返信 [メール受信/OFF] 削除キー/
■14717 / ResNo.9)  Re[5]: ハンドルとは?
□投稿者/ 尾形 -(2024/11/12(Tue) 09:39:42)
    どうも、こんにちは


    > 表の1行を希望する回数だけまるまる複写する一括処理を作っていました

    この一括処理はどうやって実行しているのですか?

    手動で、A.tblを開いている状態で
    該当の一括処理を、手動で実行(開く)しているのですか?



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

次のレス10件>

スレッド内ページ移動 / << 0 | 1 | 2 | 3 >>

このスレッドに書きこむ

Mode/  Pass/

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

- Child Tree -
- Antispam Version -