E第9回 基礎プログラミング II レポート課題 氏名:遠藤裕貴 学籍番号:c1090294 語学クラス:中国語 コース(系):政策マネ 1 A と入力すると作成できる。 type で、ラジオボタンと設定する。ラジオボタンは1つだけ選ぶボタン。 name は、使うラジオボタンを区別するためのもの。 value で、ユーザーが選んだ値がプログラムに送られる。 input tag に checked を入力すると、自動的に既定値に設定される。 チェックされた項目をプログラム.rb で表示されるようになる。 B と入力すると作成できる。 type で、チェックボックスと設定する。チェックボックスは選択肢をいくつか 選べるボタン。 name は、使うチェックボックスを区別するためのもの。 value で、ユーザーが選んだ値がプログラムに送られる。 name="チェックボックスの名前"で決まったCGI変数の値を、プログラム.rb で作っ た配列に送られ、Webページで表示されるようになる。 2 全てのリンク先 http://roy.e.koeki-u.ac.jp/~c109029/advertise2/rubycgi/fork.html A リンク先 http://roy.e.koeki-u.ac.jp/~c109029/advertise2/rubycgi/counter.rb ◯設定 どれだけの人がきたかをカウントするプログラム ◯入力部分と送信結果を表示する部分 fork.rb #!/usr/koeki/bin/ruby require 'cgi' cgi = CGI.new("html4") print("Content-type: text/html; charset=EUC-JP\n\n") arv = cgi["arrive"] count = 0 #カウンターは0から始まる open("list.txt","r") do |read| #データを読みこみ開いてreadという名前に置き換える while data = read.gets #繰り返し if /(\d+)/ =~ data count = $1.to_i end #ifに対するend end #whileに対するend end #openに対するend print("\n") print("\n") print("おいでませ\n") print("\n") print("\n") printf("

No. %d のお客様

\n", count) #読みこんだ番号を表示 #来場人数を表示させる部分となる print("

庄内へようこそ

\n") print("\n") print("\n") count += 1 open("list.txt","w") do |write| write.printf("%d\n",count) end ◯解説 arv = cgi["arrive"] データをarvに代入する open("list.txt","r") do |read| while data = read.gets if /(\d+)/ =~ data count = $1.to_i end end end このopenでデータを読みこみモードを開いて現在のデータの数字をcountに代入 する count += 1 人数を1ずつ足していく open("list.txt","w") do |write| write.printf("%d\n",count) end このopenでデータを書込みモードで開いて、counterに1を足した数を代入する ◯実行結果 roy{c109029}% ./counter.rb [~/public_html/advertise2/rubycgi] (offline mode: enter name=value pairs on standard input) Content-type: text/html; charset=EUC-JP いらっしゃーい

No. 12 に訪問したのがきみでーす

再見 zaijian !!

roy{c109029}% ./counter.rb [~/public_html/advertise2/rubycgi] (offline mode: enter name=value pairs on standard input) Content-type: text/html; charset=EUC-JP いらっしゃーい

No. 13 に訪問したのがきみでーす

再見 zaijian !!

roy{c109029}% cd [~/public_html/advertise2/rubycgi] ◯考察 roy内では実行できましたがweb内ではカウント数が変わりませんでした。 ktermでchmod o+w counter.rb をしましたが解決出来ませんでした。 D リンク先 http://roy.e.koeki-u.ac.jp/~c109029/advertise2/rubycgi/color.html ◯設定 色を選択してOKを押すと文字の色が変わるラジオボタンプログラム ◯入力部分と送信結果を表示するプログラム ・color.html 色を変えるプログラム
色いーろーいーろー


・color/rb #!/usr/koeki/bin/ruby require 'cgi' cgi = CGI.new("html4") print("Content-type: text/html; charset=EUC-jp\n\n") color = cgi["color"] print("\n") print("\n") print("色の変更\n") print("\n") print("\n") print("\n") if color == "red" print("
\n") print("

パッ!!!変わっちゃった!!!

") print("
\n") elsif color == "blue" print("
\n") print("

パッ!!!変わっちゃった!!!

") print("
\n") elsif color == "yellow" print("
\n") print("

パッ!!!変わっちゃった!!!

") print("
\n") elsif color == "green" print("
\n") print("

パッ!!!変わっちゃった!!!

") print("
\n") elsif color == "violet" print("
\n") print("
パッ!!!変わっちゃった!!!
") print("
\n") else print("
\n") print("
パッ!!!変わっちゃった!!!
") print("
\n") end print("\n") print("\n") ◯実行結果 roy{c109029}% ./color.rb [~/public_html/advertise2/rubycgi] (offline mode: enter name=value pairs on standard input) color="red" Content-type: text/html; charset=EUC-jp 色の変更

パッ!!!変わっちゃった!!!


◯各部の説明 html部分 黒 ラジオボタンをつくる submitであれば送信画面にいくようにする プログラム部分 print("\n") link,type,cssをはりつける if color == "red" print("
\n") print("

パッ!!!変わっちゃった!!!

") print("
\n") elsif color == "blue" print("
\n") print("

パッ!!!変わっちゃった!!!

") print("
\n") elsif color == "yellow" print("
\n") print("

パッ!!!変わっちゃった!!!

") print("
\n") elsif color == "green" print("
\n") print("

パッ!!!変わっちゃった!!!

") print("
\n") elsif color == "violet" print("
\n") print("
パッ!!!変わっちゃった!!!
") print("
\n") else print("
\n") print("
パッ!!!変わっちゃった!!!
") print("
\n") end もしcolorがredであれば、

で表示させる。blueであれば

、yellowであれ ば

、greenであれば

、violetであれば

、それ以外であれば
で表 示させる。 ◯考察 実行した結果すべて正確に表示されたので正しくプログラムされていると言える。 ◯第9回基礎プログラミング応援キャラクター 題名:パンプキン君 解説:カボチャのお化けです。 工夫:周りを囲んで額縁に入っているようにしました。 リンク先:http://roy.e.koeki-u.ac.jp/~c109029/advertise2/rubycgi/char_r2_c109029.png ◯感想 tgifの使い方を忘れてしまっていてクオリティーの高い作品を作ることが出来な かった。CGIは自分にとってまだまだ分からない点があったので改善して行きた い。 ◯参考文献 基礎プログラミング I 第12回 自由課題コンペティション / 画像作成 「描画ソフト」 http://roy/~madoka/2010/r1/12/12_02_theme_02_painttool.html 基礎プログラミング I 第8回 電子チケットを作ろう 「色をつけよう」 http://roy/~madoka/2010/r1/08/08_11_review_06_colorandfonts.html ◯共同学習者 木内雄、青木千紗、横山君、久保田英一郎 ・ファイルを添付します