過去の桐井戸端BBS (桐ver.9)
28400 桐9のサンプルにある「会議室予約システム」の会議室を増やしたい 履歴のみ坊主 2004/12/08-09:24
よろしくお願いします。

桐Ver9のサンプルにある「会議室予約システム」の会議室を増やしたいのですが。
フォームの会議室を複製するだけでは当然エラーが発生します。
イベント、一括処理のどこを修正すれば良いのでしょうか?

多少努力はしたのですが、いつも履歴をコピー程度の知識で使用しているので、
今一(…と言うか全然)動作しません。
こんな質問ヒンシュクかもしれませんが、助けてください。

28401 Re:会議室予約システムの会議室を増やしたい 宮城 2004/12/08-13:30
記事番号28400へのコメント
履歴のみ坊主さん、こんにちは。

>フォームの会議室を複製するだけでは当然エラーが発生します。
>イベント、一括処理のどこを修正すれば良いのでしょうか?

これはううん、なんというか・・・。「関係するところ全部」です。
よく見てませんけど、オブジェクト・変数にいたるまで。
小手先でいじれるものじゃありません。

小手先でいじったらどうなるか? いじり洩らし箇所に遭遇するたびにエラーになります。

もし、とにかく会議室の数を増やしたいというだけなら、
フォルダごとコピーして「会議室予約システム2」とでもリネームし、
会議室DEFとでもラベルだけ変更して、別々に立ち上げて使ってはどうですか?

(今ひとつ不安はあるけど、ちょっとやってみたら動くように見えます。)

もちろん、別途じっくりオリジナルに取り組まれることをお薦めします。

28408 Re:会議室予約システムの会議室を増やしたい アックン 2004/12/08-20:21
記事番号28400へのコメント
履歴のみ坊主さん、こんにちは。
会議室予約システムをインストールして、試しに「会議室D」を追加してみたところ、
ちゃんと動きました。保証は出来ませんけど。(^^;
でもトライしてみてください。報告お待ちしてます。

・会議室予約.WFM
左端の会議室名を表示するラベル
オブジェクト名: a会議室D
標題: 会議室D

時間帯のオブジェクト(各オブジェクト名を正確につけてください。)
オブジェクト名:tbD_1 〜 tbD_48

(下記の先頭の数字は行番号です)
・予約内容確認.KEV
9 変数宣言 ・・ "A" , "B" , "C" , "D" ) ・・
, "D" を追加します。

・会議室予約.kev
14 定数宣言 固有 , 整数 { &会議室の部屋数 = 4 }
会議室の数を1個増やすので、元の 3 から 4 にします。

21 変数宣言 固有 , 文字列 { &会議室の予約状況[ 193 ] }
23 変数宣言 固有 , 整数 { &会議室の領域番号[ 193 ] }
元は 148時間帯X3会議室+1=145 なので、48時間帯X4会議室+1=193 にします。

246 絞り込み ・・ "A" , "B" , "C" , "D" ) }
250 行追加 ・・"A" , "B" , "C" , "D" ) ・・
253 絞り込み ・・ "A" , "B" , "C" , "D" ) }
, "D" を追加します。

・会議室予約LIB.CMD
121 繰り返し &I = 1 , 192
165 繰り返し &I = 1 , 192
元は 48時間帯X3会議室=144 なので、48時間帯X4会議室=192 にします。

488 &予約状況ユーザ名 ・・ 1 , 1 , 193 ) ] , 1 )
元は 148時間帯X3会議室+1=145 なので、48時間帯X4会議室+1=193 にします。

315 &会議室番号 ・・[会議室]="C" , 2 , [会議室]="D" , 3 )
, [会議室]="D" , 3 を追加します。
会議室を1個増やす毎に、尻尾の数字も1プラスします。

33 &Obj ・・ "A" , "B" , "C" , "D" ) ・・
135 &Obj ・・ "A" , "B" , "C" , "D" ) ・・
146 &Obj ・・ "A" , "B" , "C" , "D" ) ・・
167 &Obj ・・ "A" , "B" , "C" , "D" ) ・・
198 &Obj ・・ "A" , "B" , "C" , "D" ) ・・
208 &Obj ・・ "A" , "B" , "C" , "D" ) ・・
388 [会議室] ・・ "A" , "B" , "C" , "D" ) , \
397 絞り込み ・・"A" , "B" , "C" , "D" ) }
425 絞り込み ・・ "A" , "B" , "C" , "D" ) }
, "D" を追加します。

書き落としがあるかも。(^^; アックン(=^・^=)
28409 Re:会議室予約システムの会議室を増やしたい 佐田 守弘 2004/12/09-01:04
記事番号28400へのコメント
履歴のみ坊主さん

既に、アックンさんから会議室を追加したテストのコメントがありますが、
私からはポイントとなる箇所についての解説をします。
なお、私は桐ver.9のサンプルは見たことがないので、外しているかも知れませんが、御了承下さい。

おそらくフォームの会議室名のオブジェクト(テキストとラベル)をコピーしただけで試されているのかと思いますが、
これらのオブジェクトを単にコピーしただけでは、履歴がうまく動作しません。

●オブジェクト名の変更
ラベルオブジェクトやテキストオブジェクトをコピーすると、
コピー元のオブジェクト名に連番号を付けた名称になります。
オブジェクト名が重複していなければ、このままでもエラーにはなりませんが、
一貫性のないオブジェクト名では、イベントハンドラを作る際にも
オブジェクト名の確認などで不便です。
そこで、コピーして作成したオブジェクトには、コピー前のオブジェクト名と
一貫した名称で分りやすくに付け替える方が便利です。
例えば会議室D用に会議室Cをコピー志太だけでは「t会議室C_1」になりますが、
これを「会議室D」の様に直すわけです。

●ソース値の変更
テキストオブジェクトをコピーしただけでは、ソース値は元のままです。
会議室CをコピーしてDを作ったら、それぞれのテキストオブジェクトの
ソース値も直す必要があります。

●イベントハンドラは新たに作る必要がある
オブジェクトをコピーしただけでは、対応するイベントハンドラがありません。
新たな会議室を作れば、それらに対応したイベントハンドラが必要になります。
イベントハンドラも、既存の会議室のものをコピーすれば良いのですが、
オブジェクト名や項目値を操作しているコマンドは、対象となるオブジェクト
と、そのソース値とする項目名に応じて直す必要があります。

●必要な変数の追加など
イベントハンドラの中で、会議室名に応じた変数を使っていれば、新たな
変数を宣言する必要があります。

■ 総論として言えば
サンプルはあくまでもサンプルです。
この点について言えば、宮城さんが書かれている様に、もしサンプルの機能を拡張しようとする場合、
サンプルは雛型にはなりますが、始めから作り
直すくらいの積もりで手を入れる必要があります。

なお、一括処理にしてもイベントにしても、後から拡張できるような作り方はあります。
それは、類似するオブジェクトをファミリー化し、1つのイベントハンドラで処理できるように、
様々な部分で変数を駆使する方法になります。
もちろん、全体を新たに作り換える必要があります。

佐田守弘(KS-00119)
28419 会議室が増えました(^^) 履歴のみ坊主 2004/12/10-14:54
記事番号28400へのコメント
アックンさん、ありがとうございました。
ちゃんと会議室が増えました。これでとっても便利になるので嬉しいです。
たいした努力もせず、まるまるお伺いして恐縮です。
また宮城さん、佐田さん、ご教授ありがとうございます。
良い教訓として肝に銘じますm(_._)m

それにしても、皆さんとっても親切で感激しています。
これも日本語データベース”桐”を支える人たちだから成せる技かな?

戻る