tkbcal.rb -- Blood Donors' Calender Written in Ruby/Tk

これは何?

献血した日付, 種類を入力すると, 献血できない期間を表示するス クリプトです. オブジェクト 指向スクリプト言語 Ruby で記述されていて, bdrec.rb で定義されてい る BloodDonationRecord クラスを利用しています. また Tk による GUI を備えてます

[screen shot (PNG, 8kB)]

なので, Ruby の他に Tk がインストールされている必要があります. また 日付計算クラス (date-1.3.tar.gz) 付属の holiday.rb があれば, 祝日を表示することが 可能になりますが, なくても動作します.

使い方

bdrec.rb が必要なので, あらかじめ適当な :-) ディレクトリに置いてお いて下さい.

tkbcal.rb を起動すると, メインウィンドウ, カレンダー, 献血日一覧の 3 つの窓が開きます. それぞれの窓の意味, 操作方法は, 次の通りです.

[Main window (PNG, 1kB)]

メインウィンドウです. 上から順に, 以下の機能があります.

Male/Female

クリックする毎に, 性別を切り替えます.

Read File

データファイルを読み込みます. データファイルの形式は, bcal.rb と同じです.

Save File

データをファイルに保存します. データファイルの形式は, bcal.rb と同じです.

New Calender

新しいカレンダーを開きます.

New List

新しい献血日一覧を開きます.

Information

プログラムに関する情報が表示されます.

Quit

終了します.

[Calender window (PNG, 3kB)]

カレンダーです. Close でその窓は閉じ, 左向きの矢印で 1 か月前, 右向きの矢印で 1 か月後を表示します.

日付のボタンをクリックすると, その日にした献血を登録するた めの窓が出ま す. ここでの文字の意味は, 次の通りです. なお, いつでもこれらの 全てが表示されるわけではありません.

また, それぞれの日付ボタンの下部にある 4 つの文字は, 献血し た日なら献血の種類を, 献血しない日ならどの献血が可能かを示します. ボタンの意味を, 具体例を使って説明します.

[12 / PLT]

12 日に PLT (血小板献血) ということを意味します.

[25 / 2-TS]

25 日は 2 (200ml), T (PLT, 血小板), S (PLS, 血漿) が 可能 ということを意味します. -献血不 可 を意味し, この場合は 4 (400ml) が不可ということ です.

[10 / ----]

10 日はどの献血もダメ ということです.

ここで重要なことを 2 つ. まず 1 つ目は, 献血不可の 表示は一番新しい献血日以降のみにしか付かない というこ とです. できれば, 古い日付 → 新しい日付という順番で, 献血日を 登録し, また新しい日付 → 古い日付という順番で献血日を削除して 下さい.

2 つ目は, 献血した日 [12 / PLT] をクリック すると, どんな献血の種類でも登録できてしまうということです. こ の仕様に不安を感じるときは, 一旦 Don't を選択してから, 新たに献血の種類を登録して下さい.

[List window (PNG, 1kB)]

献血日の一覧です. 献血日をダブルクリックすると, カレンダーのど れか :-) が, その日を含む月を表示します.

Close をクリックすると閉じますので, 邪魔なときは閉じて下さ い. 欲しくなったら, メインウィンドウの New List で復活/増殖さ せることができます.

ひとこと


m@sa.to or msato@iis.u-tokyo.ac.jp