『買い物ごっこ』 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
《作品へ戻る》 《玄関へ》