リスト5-1 鍵盤を表示させるHTMLファイル(doremi.html)
ネットワーク・ピアノ
(A) ■ブザーから音階を出力します
(B)
---
リスト5-2 ブザーを鳴らすスクリプト(doremi.wcr)
//---------------------------------------------------------
// Buzzer
//---------------------------------------------------------
Function main()
{
var time = 500; // 音の長さ デフォルト 500ms
var onpu;
var tmStr;
onpu = left( arg[0], 2 ); // CGI経由 音程
tmStr = right( arg[1], len( arg[1] )-len("time=")); // CGI経由 音長
time = int( tmStr );
if ( time <= 10 ) // 音長の指定が指定できる範囲内かチェック
time = 300;
else if ( time > 1000 )
time = 1000;
switch ( onpu ) // 音程による分岐
{
case "d0":
beep_on( 1048, time );
break;
case "re":
beep_on( 1176, time );
break;
case "mi":
beep_on( 1320, time );
break;
case "fa":
beep_on( 1396, time );
break;
case "so":
beep_on( 1568, time );
break;
case "ra":
beep_on( 1760, time );
break;
case "si":
beep_on( 1976, time );
break;
case "d1":
beep_on( 2096, time );
break;
default:
puts( "\n???:%arg[0]%" );
break;
}
indexprint();
}
Function indexprint()
{
var fd;
var dat[];
var rtn;
fd = fileopen( "C:\\www\\doremi.html", "r" );
if ( fd < 0 ){
webprint ("\r\n");
webprint ("\r\n");
webprint ("
\r\n");
webprint ("
\r\n");
webprint ("doremi.htmlを読み込めませんでした。
\r\n");
webprint ("
\r\n");
webprint ("\r\n");
webprint ("\r\n");
}
else{
rtn = fgets( fd, dat, 1024 );
while( rtn >= 0 ) {
webprint( dat );
webprint( "\r\n" );
rtn = fgets( fd, dat, 1024 );
}
fileclose( fd ) ;
}
}