HyperCard tribute
ネットワークシステム
Macintoshは、簡単にネットワークを構築することができます。最近は、画像データやサウンドデータ、ホームページのデータなどフロッピー1枚に入りきらないデータが増えてきました。データの移動に今までフロッピーディスクを使ってファイルのやり取りをしていた人には、そのごく簡単な操作と、プリンタケーブルのみでネットワークが構築できることに驚くことでしょう。モバイルコンピュータをもっておられる方であれば、デスクトップコンピュータのデータとのシンクロが容易にできるようにもなります。 この機能とHyperCardを用いて、チャットシステムを作ってみることにします。以下にチャットシステム時に必要な接続手順を示します。 必要な物: プリンターケーブル(2台の接続時) (ただし、3台以上の接続にはLocalTalkコネクションキットが必要となります) チャットシステムに必要な接続手順: ■ケーブルをつなぐ ■互いのMacintoshで利用者の設定をする ■「共有設定」を設定する ■HyperCard本体のプログラムリンクを設定する ■ケーブルをつなぐ プリンタケーブルをそれぞれのMacintoshのシリアルポート(プリンタ・モデムポート)に接続する ■互いのMacintoshで利用者の設定をする (1)コントロールパネルの「利用者&グループ」を開く (2)メニュー「ファイル」の「新規利用者」を選択し、ファイル名をその人の名前にする (3)パスワードを設定する(これは、利用者が利用するときに必要なパスワードです) (4)プログラムリンクをチェックする ■「共有設定」を設定する (1)コントロールパネルの「共有設定」を開く ■HyperCard本体のプログラムリンクを設定する (1)HyperCard本体をクリックし、メニュー「ファイル」の「共有...」を選択する (2)プログラムリンクを許可する」をチェックする チャットシステム概要
ボタン「接続する」のスクリプト
3行目では接続先のHyperCardを聞いてきます。最後にof type WILDをつけ加えることで、ダイアログにはHyperCardしか表示されなくなります。 6行目では接続先のHyperCardに登録してある名前を取り出します。request命令は接続先のデータを取り出すときに用いられます。 取り出した名前は8行目で変数nameに代入されます。 9行目では接続先のHyperCardにanswer命令を送ります。接続先のHyperCard上で下の図のような画面が表示されます。
12行目では接続先のMacintoshで起動しているスタックの名前を取り出しています。この後、その名前が「チャットシステム」と違えば「チャットシステム」スタックへと移動します。 ただし、チャットシステムが立ち上がってなければ(16〜20行目の処理になります)、エラーメッセージ「「チャットシステム」を起動して下さい」を表示し終了します。 21行目では、ハンドラ「ChatStart」へメッセージを送ります。すなわち、ChatStartハンドラが実行されます。 カーソルをフィールド「message」に表示します。 ハンドラ「ChatStart」のスクリプト
パラメータ「sender」には以下の情報が入っています。 「井上毅彦,*:いのうえのMacintosh:HyperCard」 フィールド「message」のスクリプト
3行目ではフィールド「接続相手」の内容を調べています。もしemptyであれば、処理をpassします。 5行目でハンドラ「msgNow」へメッセージを送ります。 ハンドラ「msgNow」のスクリプト
ハンドラ「ChatEnd」のスクリプト
ボタン「接続を切る」のスクリプト
ネットワークに関係するスタックを作成するときに守らなければならないポイントを下に挙げてみます。 ・接続するときは必ず相手に確認を取る ・接続相手側で処理をする場合はハンドラを用意しておき、それを呼び出すメッセージのみを送信する ・接続相手側でスタックが開かれていない可能性のあるときは、HyperTalkのコマンドを送信する(最初の接続時など) ・接続相手側でエラーの出る可能性のある場合は、without replyをしない 当然のことですがネットワーク処理は、相手のMacintoshにも影響を与えます。これらのポイントは、スクリプト上の問題と同時にエチケットの問題にもつながってきますので、気を付けるべき重要ポイントでしょう。 |