『桐』Ver.8による実用一括処理集(21)

『買い物ごっこ』       kaimonogokko.html 《作品へ戻る》 《玄関へ

【内容】
  教室で買い物ごっこをする時、レジ係が使用してもいいかな、と思って作成しました。
 ○ お買い上げ商品をコードで入力します(買い物ごっこ.TBL)。商品名や単価は表引きで入力します。
 ○ 個数は予め1を入力していますが、変更できます。
 ○ 預かり金は先頭レコードだけに入力します。
 ○ 商品の画像(.jpg)を表引き用の表(買い物ごっこ商品.TBL)に登録しておくと、画面に表示することができます。
 ○ お買い上げ商品の精算は、伝票で印刷することもできます。
 ○ 表引き用の表のレコードは追加・変更することができます。(会話処理で)
 ○ ノートパソコンでレジを務めますが、みんなが一斉に見るにはプロジェクターに接続するとよいでしょう。
 ○ 実際の授業では、手計算・プリント演習の過程を経ています。また、携帯電話の電卓機能を利用させたりしています。

☆表、フォーム、レポート 
 (1)データ入力用表 (定義)
   
    予め10行用意しています。
   
 (2)表引き用表(定義)
   
    商品画像のファイル名の拡張子(.jpg)は付けていません。その代わり、
    フォーム(買い物ごっこ.wfm)のピクチャーソースに次の式を設定しています。
      #cond(([コード]="" .or [商品画像]=""),"",1,#連結(&DAPA,"商品画像\",[商品画像],".jpg"))
    画像ファイルは「商品画像」のサブフォルダに保存しています。
   
 (3)お買い上げ商品の入力中の画面
    商品毎に画像ファイルを登録しておけば、画面左下にその画像が表示されます。(ここではダミー画像を使っています)
   
    コード入力のあと、商品名、値段が表引きできます。個数は訂正できます。小計は計算項目です。
    お預かり金額は、どこか1箇所だけに入力します。(複数行に入力すると、合計(行集計)されます)
   
 (4)お預かり金額も入力されると、精算ボタンをクリックします。これでお釣り(不足額)が計算表示されます。
    クリアボタンで個数を除くデータが入力表から一括消去されます。
    商品の一部を修正したい場合は、画面上で該当のレコードを訂正します。
   
 (5)お買い上げ商品の伝票です。(授業ではまあ余計ですが、レーザープリンターで出力すると、復習に利用できます。)
   

☆一括処理、イベント処理
 (1)一括処理
   変数削除 共通,固有
   変数宣言 共通,整数{&OK,&hWnd[20],&SM,&TOPM,&印刷}
   変数宣言 共通,文字列{&システム名,&DAPA,&TBL1,&WFM1,&RPT1,&MESS}
   変数宣言 共通,数値{&買い物合計額,&預り金額,&お釣り,&不足額}
   名札 START
     &DAPA=#データパス名
     &TBL1=#連結(&DAPA,"買い物ごっこ.TBL")   /* データ表
     &WFM1=#連結(&DAPA,"買い物ごっこ.WFM")   /* レジ用フォーム
     &RPT1=#連結(&DAPA,"買い物ごっこ.RPT")   /* 買い上げ伝票印刷用レポート
     &システム名="《買い物ごっこ》 "
    繰り返し
      &SM=""
      表
      フォーム呼び出し "買い物ごっこ.WFM" /* メインメニュー画面を表示する
         条件 (&SM=1) 手続き実行 買い上げ品伝票印刷
         条件 (&SM=99) 手続き実行 毎度
    繰り返し終了
  手続き終了
  ******************* 買い上げ品一覧の印刷(「印刷」左クリック時)
  名札 買い上げ品伝票印刷
     表
    表 &TBL1
    項目集計 [小計(円)]
     &買い物合計額=&合計値
    項目集計 [預り金額(円)]
     &預り金額=&合計値
    &お釣り=#cond(&預り金額>=&買い物合計額,&預り金額-&買い物合計額,1,"")
    &不足額=#cond(&預り金額<&買い物合計額,&買い物合計額-&預り金額,1,"")
    表形式編集 ガイド="印刷予定のデータです。印刷実行:/Q"
    メニュー2 &印刷,&印刷,( 7,41),#連結(&システム名,”お買い上げ商品の伝票印刷です。”)\
                   ,"印刷します,中止"
     条件 (&印刷=2) 分岐 START
    レポート印刷 &RPT1
  手続き終了
  ******************* 中止・終了(「中止・終了」左クリック時)
  名札 毎度
    メッセージボックス #連結(&システム名,"提供は,かなめソフトウェアサービスでした。" )\
                   ," ☆ 『毎度ありがとうございました。』 ☆ \
                   \n\n いいものが買えましたか?\
                   \n\n また、お越しください。・・・\
                   \n\n  お気づきの点がございましたらご連絡ください。
                   \n\n   TEL&FAX  ○○○−○○○○ \
                   \n   E-mail  △△△.ne.jp",アイコン=i
    終了
  手続き終了
  *** 《本システムの終わり》◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎ ***
 (2)イベント処理
  名札 メイン
  *
  ******************* 精算(「精算」左クリック時)
  手続き定義開始 ボタン_精算::マウス左クリック(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ,参照 長整数 &処理中止)
    オブジェクト操作 @tお釣り{ ソース = "" },@t不足額{ ソース = "" }
    項目集計 [小計(円)]
     &買い物合計額=&合計値
    項目集計 [預り金額(円)]
     &預り金額=&合計値
    &お釣り=#cond(&預り金額>=&買い物合計額,&預り金額-&買い物合計額,1,"")
    &不足額=#cond(&預り金額<&買い物合計額,&買い物合計額-&預り金額,1,"")
    条件 (&預り金額>=&買い物合計額) オブジェクト操作 @tお釣り{ ソース = &お釣り }
    条件 (&買い物合計額>&預り金額) オブジェクト操作 @t不足額{ ソース = &不足額 }
  手続き定義終了
  ******************* テキストデータのクリア(「クリア」左クリック時)
  手続き定義開始 ボタン_クリア::マウス左クリック(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ,参照 長整数 &処理中止)
    オブジェクト操作 @tお釣り{ ソース = "" },@t不足額{ ソース = "" }
    オブジェクト操作 @ピクチャ_商品画像{ ピクチャソース = "" }
    置換 [コード]=#未定義,[商品名]=#未定義,[値段(円)]=#未定義,[預り金額(円)]=#未定義
  手続き定義終了
  *********************** End of File

                                 作品へ戻る》 玄関へ