過去の桐井戸端BBS (桐ver.8)
8693 一括処理をイベントに置き換え シュート 2000/11/20-17:23
これまで一括処理で下記の様な処理をしておりました。

*********************
名札 確注
繰り返し
  ファイル名入力 初期値="*HKA.tbl",プロンプト="編集する領域を選んで下さい。",許可作業=*,&JR
        条件 ( &JR=#未定義 ) 手続き終了
        条件 ( &JR<>#未定義 ) 繰り返し中止
繰り返し終了
   表 &JR
ウィンドウ作成 "メニュー.wfm",位置 = (10,0 ),サイズ = (1000,640),ハンドル = &メニュー
       並べ替え 条件名="分類" 
繰り返し
ウィンドウ会話 &メニュー,ボタン = &ボタン
条件 ( &ボタン = "終了" ) 繰り返し中止
ケース開始
ケース ( &ボタン <> "メニュー" )
&直番 =#半角( #部分列( &ボタン , 2 ) )
検索 [直番] = #数値( &直番 )
ケース開始
ケース ( .NOT #終端行 )
手続き実行 直番
ケース その他
確認 "この店のデータはありません"
ケース終了
ケース終了

繰り返し終了
終了 表
手続き終了
 
名札 直番
    条件 (.NOT #行集計状態 .AND .NOT #絞り込み状態 .AND #整列状態) 整列解除
ウィンドウ作成 "ガイド.wfm",位置 = (10,0 ),サイズ = (1000,640),ハンドル = &ガイド
       絞り込み [直番] = #数値(&直番)
       並べ替え 条件名="得意先" 
    一覧表印刷 条件名="確定注文書",部数=1,開始ページ=1,終了ページ=1,カラー印刷=しない,ソート=する,プレビュー=しない,終了状態=&終了
    解除
手続き終了

************************
変数等は宣言済です。
比較的思ったように動作しておりました。

上記をイベントに置き換えようとしたとき、行き詰まってしまいました。
メニューフォームにボタンが約50個ほどあり、その一つ一つの左クリックイベントに埋め込んでいくのはどうもおかしいな?
と言う気ががして・・・。
何か方法がと考えていたのですが、イベントを充分に理解できてない事もあり、実現できませんでした。

何かよい方法があったらご教授ください。
宜しくお願いいたします。

[直番]は店コードです。(数値)
ボタンのオブジェクト名はs11のように設定しています。

8699 Re:一括処理をイベントに置き換え 佐田 守弘 2000/11/20-23:49
記事番号8693へのコメント
シュートさん
>メニューフォームにボタンが約50個ほどあり、
>その一つ一つの左クリックイベントに埋め込んでいくのは
>どうもおかしいな?と言う気ががして・・・。

との事ですが、特におかしいことはありません。
ただし、メニューに作ったコマンドボタンからそれぞれの機能(実際には個別の処理のフォームや表など)を呼び出す方法として、
マウス左クリックイベントを使うよりも、コマンドボタンに「手続き実行」の機能を設定するのが好ましいと思います。
この違いは、
@マウスイベントの場合
マウスクリックでのみ操作できる。カーソルキーで選んでEnterキーを押してもメニュー選択ができない。
A手続き実行の機能を設定した場合
マウスクリックの他、カーソルキーとEnterキーで操作できるので便利。

●50個のコマンドボタンを簡単に作る方法
まずコマンドボタンを1つだけ作ります。
ボタンの色の設定やサイズ設定などを行って1つだけを仕上げておきます。
そして、機能名に「手続き実行」のみを設定しておきます。
また、マウスインアウトでボタンの色表示などを変えたい場合には、ファミリの設定をすると思いますが、
ファミリの設定もこの段階で行っておきます。

次いで、コマンドボタンを選んで右メニューの複製を選びます。複製されたボタンは元のボタンに重なっていますので、
カーソルキーで移動します。
1つから2つ、4つと複製し、縦1列を横に複製して行けば、50個のコマンドボタンは簡単に作れます。
後は、コマンドボタンの表示と、手続き実行で実行させる手続き名を入力して行けばよいでしょう。

また実行する一般手続きも、1つ作ったらそれをコピーして行き、必要な部分を書き替えるだけでかなり手軽にイベントファイルが作れます。

佐田守弘(KS-00119)
8747 Re:一括処理をイベントに置き換え シュート 2000/11/24-15:21
記事番号8699へのコメント
佐田先生のわたわざのコメントに感謝いたします。

うすうす、そうではないかなぁ、と思いつつも
ボタン一つ一つにイベントを・・・というのが、ちょっと抵抗があったので。

実際やってみると、
予想よりは随分と短時間で完成したので、
満足はしております。

本当にありがとうございました。

イベントというのはかなり奥深くて、でも結構おもしろくて・・・。
今までの一括処理をイベントで実現しようという意欲がメラメラとわき上がって来ています。

今後とも宜しくお願いいたします。

戻る