(現在 過去ログ86 を表示中)

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

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

■12800 / inTopicNo.1)  一括処理での質問です
  
□投稿者/ ieatta -(2021/01/10(Sun) 20:20:14)
    初歩的なことだとは思うのですが、詰まっており助言をいただけたらと思います。
    桐ver9です。
    プログラムの経験はCOBOLしかありません。
    色々とネット上にある桐のサンプルを参考に手探りでやっています。

    やりたいことはメインメニューのフォームから各処理のフォームを開き。
    データの処理して終了ボタンで終わるという感じです。
    この際、各フォームを開くための繰り返し処理で無限ループする。
    ウィンドウがメニュー画面の前にならず、何もできないというところで詰まっております。



    ソースは現在下記のようにしています。

       ケース開始
        ケース (&ボタン="得意先保守")
            call 得意先保守()
       ケース終了
      繰り返し終了
     ウィンドウ終了 &WINmenu番号

      中止 桐

    手続き定義開始 得意先保守()
      表 "得意先",表番号=1,モード=共有更新
      繰り返し
        ウィンドウ作成 "得意先保守",ハンドル=&WIN1番号,カーソル位置=先頭,編集表=する
          if (&ボタン="終了")
            繰り返し中止
          end

      繰り返し終了
      ウィンドウ終了 &WIN1番号
    手続き定義終了



    手続き定義開始 得意先保守()の部分でどう処理させたら良いか、もしくはヘルプのこの辺を見れば解決する等お願いいたします。
引用返信 [メール受信/OFF] 削除キー/
■12801 / inTopicNo.2)  Re[1]: 一括処理での質問です
□投稿者/ まさやん -(2021/01/10(Sun) 20:47:53)
    2021/01/10(Sun) 22:17:55 編集(投稿者)
    2021/01/10(Sun) 21:33:32 編集(投稿者)
    2021/01/10(Sun) 21:19:25 編集(投稿者)
    2021/01/10(Sun) 20:48:54 編集(投稿者)


    こんにちは。

    書き忘れかと思いますが

    ケース開始前に

    繰り返し    が必要になります。

    >    ケース開始
    >     ケース (&ボタン="得意先保守")
    >         call 得意先保守()
    >    ケース終了
    >   繰り返し終了
    >  ウィンドウ終了 &WINmenu番号
    >
    >   中止 桐
    >
    > 手続き定義開始 得意先保守()
    >   表 "得意先",表番号=1,モード=共有更新
    >   繰り返し
    >     ウィンドウ作成 "得意先保守",ハンドル=&WIN1番号,カーソル位置=先頭,編集表=する
    >       if (&ボタン="終了")
    >         繰り返し中止
    >       end
    >
    >   繰り返し終了
    >   ウィンドウ終了 &WIN1番号
    > 手続き定義終了
    >

    ウィンドウ会話  というのが  抜けているのかとおもいます。(ヘルプ参照のこと)

    ウィンドウ作成 で フォームを表示したら
    そこで止まらないで次に進んでしまいます。

    ウィンドウ会話  で  一度待機します。
    そこで 何かコマンドを 押したら ウィンドウ会話で 設定した ボタン=&○○に コマンドボタンのオブジェクト名が 格納されて
    それぞれの 仕事をします。

    (得意先保守フォームの コマンドボタンの機能に 一括に戻る  と設定してあるものとします。)

    ケース (&ボタン=" ・・・ の&ボタンと
    &ボタン="終了"   ・・・ の&ボタンは  違うものですので

    &得意先保守ボタン(例えば)="終了"  と  ウィンドウ会話の時に設定するボタンの 変数を 書きます。

    > 表 得意先保守 表番号=1
    >     ウィンドウ作成 "得意先保守",ハンドル=&WIN1番号,カーソル位置=先頭,編集表=する

    表番号=1 は特に設定しなくてもいいともいます。
    ハンドル=&WIN1番号

    ハンドルは  帳票のハンドル番号を代入するものですので
    &ハンドル得意先保守(もっと短くてもいいです。) とか フォームと関連の名前にしてた方がいいかと(個人的な意見です)。

    オブジェクト操作 ハンドル=&ハンドル得意先保守  ・・・とかで使いますので
    覚えやすい名前がいいかと。

    また 中止 桐   と 設定すると
    編集した内容が 保存されないで終了するかと・・

    因みに
    今から覚えるのであれば イベント を覚えた方がいいと思います。

    違っていたらごめんなさい。
引用返信 [メール受信/OFF] 削除キー/
■12802 / inTopicNo.3)  Re[1]: 一括処理での質問です
□投稿者/ ONnoji -(2021/01/10(Sun) 20:51:41)
    2021/01/11(Mon) 12:37:12 編集(投稿者)

    老婆心ながら、申し上げます。

    DOS桐ver.5 → Windows桐ver.7 では、一括処理でアプリケーションを作成するのが一般的ですが、

    Windows桐ver.8 以降では、

    フォームを開いて、[コマンドボタンの機能]と[イベント処理ファイルのプロシージャ]を実行するスタイルが一般的になっていると思いますよ。

    2010年代以降でも、ソフトウェア開発業者さんが、稀に一括処理でアプリケーションを構築することがあると思います。

    しかし、大部分のソフトウェア開発業者さんは「フォーム+コマンドボタン+プロシージャ」でアプリケーションを構築するようになっていますよ。

    せっかくアプリケーションを構築するのですから、Windowsライクな「フォーム+コマンドボタン+プロシージャ」方式をお勧めしますよ。

    ちなみに、桐9-2012 のサンプルには、一括処理のアプリケーションは含まれていないでしょう。※ライブラリを除く

     ◇ ◇ ◇ ◇ ◇

    手前味噌ですが、「フォーム+コマンドボタン+プロシージャ」を「フォームアプリケーション」と称して、

    プログラミングの手引き書を公開しています。

    以下を参考にしてみてください。

    フォームアプリケーション教書 第1部|桐の釣魚大全
    http://silicon7565.html.xdomain.jp/guide/guide_Part1.htm

    フォームアプリケーション教書 第2部|桐の釣魚大全
    http://silicon7565.html.xdomain.jp/guide/guide_Part2.htm

    2.1 フォーム+イベント処理 古典一括処理・拡張一括処理
     [フォーム+イベント処理]と[古典一括処理・拡張一括処理]の動作を、
    以下に[編集フェーズ]と[コマンド実行フェーズ]に分けて示します。
    特に両者において始まり<begin>と終わり<end>の位置が異なることに注目してください。

    <フォーム+イベント処理>
     編集フェーズ       コマンド実行フェーズ
    ────────────┬───────────────────
                │
                │ イベント処理( kev / kex )
     <begin>        │
     フォームを開く    │
                │
     コマンドボタン    │  一般プロシージャ(一般手続き)
     機能名:手続き実行 →→→ 手続き定義開始
                │    ↓
        復帰     ←←← 手続き定義終了
                │
                │
                │  イベントプロシージャ(イベントハンドラ)
     イベントの発生   →→→ 手続き定義開始
                │    ↓
        復帰     ←←← 手続き定義終了
                │
     <end>         │
     フォームを閉じる   │


    <古典一括処理・拡張一括処理>

    編集フェーズ       コマンド実行フェーズ
    ────────────┬───────────────────
                │
                │ 一括処理( cmd / cmx )
                │
                │  <begin>
     一括処理起動    →→→ 一括処理メインモジュール
                │
                │
     表ウィンドウ    ←←←[表形式編集]コマンド
     [×]ボタン    →→→ 次のコマンドへ
                │
                │
     フォームウィンドウ ←←←[フォー形式編集]コマンド
     [×]ボタン    →→→ 次のコマンドへ
                │
                │
                │ [ウィンドウ作成]コマンド
                │    ↓
     ウィンドウ     ←←←[ウィンドウ会話]コマンド
     一括括処理へ戻る  →→→ 次のコマンドへ
                │
                │  <end>
                │ [終了]コマンド[中止]コマンド
        復帰     ←←←[実行終了]コマンド[会話処理実行]コマンド
                │  予期せぬエラーによる中断
                │  キー操作による中断



引用返信 [メール受信/OFF] 削除キー/
■12803 / inTopicNo.4)  Re[1]: 一括処理での質問です
□投稿者/ 尾形 -(2021/01/11(Mon) 06:46:32)
    どうも、こんにちは



    > メインメニューのフォームから各処理のフォームを開き。
    > データの処理して終了ボタンで終わるという感じです。

    メニューに[得意先保守]というボタンを作って
    機能:開く "得意先.wfm"

    といった感じで、フォームを開くやり方が
    後々、やり易いかと思います


    得意先.wfm画面に [印刷] [csv出力]といった
    ボタンをつけていく感じでいかがかと


引用返信 [メール受信/OFF] 削除キー/
■12804 / inTopicNo.5)  ありがとうございます!
□投稿者/ ieatta -(2021/01/11(Mon) 10:13:39)
    皆様


    ご返信いただきましてありがとうございます。
    さっそく参考にして試してみます。

    また、不明点等あれば質問させていただくかもしれません。
    その際は宜しくお願いいたします。
引用返信 [メール受信/OFF] 削除キー/
■12805 / inTopicNo.6)  イベント処理入門
□投稿者/ AKome -(2021/01/12(Tue) 09:03:54)
    もしよろしければ
    「あこめの桐のプログラミング入門」もご覧になってみてください。
    イベント処理の入門講座を公開しています (*^^)v

    http://akome409102.html.xdomain.jp/
引用返信 [メール受信/OFF] 削除キー/
■12806 / inTopicNo.7)  Re[3]: イベント処理入門
□投稿者/ ieatta -(2021/01/13(Wed) 12:48:48)
    ありがとうございます。
    参考にさせていただきます。


    No12805に返信(AKomeさんの記事)
    > もしよろしければ
    > 「あこめの桐のプログラミング入門」もご覧になってみてください。
    > イベント処理の入門講座を公開しています (*^^)v
    >
    > http://akome409102.html.xdomain.jp/
引用返信 [メール受信/OFF] 削除キー/



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

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

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

- Child Tree -
- Antispam Version -