Professional Documents
Culture Documents
If 0001
If 0001
増井 俊之
略しています。しかし、基本的な整形用のタグ(br や
のような記述で www.foo.com へのリンクを表現し、文
ul、center など)やリンク用のタグ(a など)
、画
字列 ``Foo´´をクリックして選択することによって指定さ
1 http://www.access.co.jp/ れた URL へ移動できます。
2 http://www.wapforum.org/、http://www.dion.ne.jp/ 一方、Compact HTML では、
wap/
号に電話が発信されます。 管理の手法について解説しました。毎日の予定や日記を
``1999/12/3/event´´ といった形式のファイルに格納し、
絵文字
これらをまとめて 1 つの大きな HTML ファイルにしてお
i モード端末では img タグによる GIF 画像の表示も けば、スケジュールの参照や管理が手軽におこなえます。
可能ですが、これには比較的時間がかかるので、代わりに このようなデータを i モード端末からも参照できるように
約 160 種類の絵文字(外字)が用意されています3 。 しておくと、どこにいてもスケジュールの確認ができて便
利です。
i モード端末の活用 5 月号では、table タグを用いて月間カレンダー形式
のスケジュール表を作成しました。しかし、i モード端末
i モード端末では、Compact HTML で記述したイン
では table タグが使えませんし、画面のサイズも小さい
ターネット上の任意の Web ページが閲覧できます。通常
のでこのままでは不便です。そこで、末尾のリスト 1 のよ
の CGI プログラムも使えますし、input タグを用いた
うなプログラムを作成し、週間予定表と年間予定表とに分
ユーザーの入力の送出も可能なので、画面が小さいという
けてみました(図 1∼2)
。これならば、i モード端末でも
制限はありますが、通常の Web ページと同等なインター
問題なく予定表を参照できます。
フェイスを実現することができます。
i モード端末には、通常の PDA に備わっている電卓や 住所録
住所録などの機能はありません。しかし、Web サーバー 予定表と同様、住所録も i モード端末から参照できるよ
3 http://www.nttdocomo.co.jp/i/tag/emoji/ うにしておくと便利です。
図 3 住所録を表示
が難点ですが、サーバーを介してどんな計算でも実行でき
ます。
リスト 1 makeicalendar(予定表作成)
#!/usr/local/bin/perl
$nkf = "/usr/local/bin/nkf";
$rootdir = "/user/masui/DOC"; # 予定表を格納するディレクトリ
$scheduledir = "/www/masui/imode/schedule"; # iモード用の予定表ディレクトリ
$daysec = 24*60*60;
$weeksec = $daysec * 7;
$maxweek = 30;
@dayname = (’日’,’月’,’火’,’水’,’木’,’金’,’土’);
# 週の最初の日の計算
$basetime = time;
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($basetime);
$basetime -= $daysec * $wday;
# 長期予定表のページを生成
open(list, "| $nkf -s > $scheduledir/index.html");
print list <<EOF;
<html>
<head><title>長期予定表</title></head>
<body>
<pre>
EOF
$prevmmon = -1;
for($week=0;$week<$maxweek;$week++){
($year,$mon,$mday) = &getdate($basetime + $week * $weeksec);
if($week==0 || $mon != $prevmon){
print list "${mon}月\n";
print list "日 月火水 木金土\n";
$prevmon = $mon;
}
print list "<a href=\"week$week.html\">";
for($wday=0;$wday<7;$wday++){
($year,$mon,$mday) = &getdate($basetime +
$week * $weeksec + $wday * $daysec);
print list sprintf("%2d",$mday);
if($wday==0 || $wday==3){ print list " "; }
}
print list "</a>\n";
&doweek($week);
}
close(list);
#!/usr/local/bin/perl #!/usr/local/bin/perl
print <<EOF;
Content-type: text/html
<html>
<body>
$s
</body>
</html>
EOF