リスト5-1 鍵盤を表示させるHTMLファイル(doremi.html) ネットワーク・ピアノ (A)

■ブザーから音階を出力します

(B)
(C)

(D) 長さ:  ms
(E)
--- リスト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 ) ; } }