#!/usr/bin/env ruby
# coding: utf-8
require 'cgi'
require 'kconv'
c = CGI.new(:accept_charset => "UTF-8")
def zikoku(req, sel, fir, time)
hoge = req + sel
if i = fir[hoge].find { |n| time <= n.to_i }
printf("%4d発です。<br>", i)
i = i.to_i
y = fir[hoge].find { |m| i < m.to_i }
if y == nil
print "それ以降は翌日です。"
elsif y > ""
printf("その次は%4d発になります。<br>", y)
end
print "ご利用感謝致します。\n"
else
print "翌日以降です。\n"
end
end
q = Hash.new()
open("zikokuhyo.txt", "r") do |stst|
while line = stst.gets
line = line.toutf8
if /^(\S+)\s(.*)/ =~ line
q[$1] = $2.split
end
end
end
rosen = Hash.new()
open("rosen.txt", "r") do |ro|
while line = ro.gets
line = line.toutf8
if /^(\S+)\s(.*)/ =~ line
rosen[$1] = $2.split
end
end
end
ekime = {}
n = 0
open("ekime.txt", "r") do |yomi|
while line = yomi.gets
if /^(\S+)/ =~ line.toutf8
ekime[n] = $1
ekime[n] = ekime[n].toutf8
n += 1
end
end
end
n1 = n
n = 0
sel = ARGV[0]
req = c["start"].toutf8
sel = c["goal"].toutf8
puts"Content-type: text/html; charset=utf-8\n
<!DOCTYPE html>
<html lang = 'ja'>
<head><title>runrun bus</title></head>"
#puts"<body><h1><a href=runrunbus.rb>るんるんばすをけんさく</a></h1>
puts"<a href=\"runrunbus.rb\"><img src=\"bus.png\" alt=\"bus\" width=100%></a>
<form method=\"GET\" action=\"./runrunbus.rb\">
<link rel=\"stylesheet\" type=\"text/css\" href=\"prac.css\">"
puts"<p>乗りたい停留所<select name=\"start\">\n"
while n < n1
printf("<option>%s", ekime[n])
n += 1
end
puts("</select></p>")
if sel == ""
n = 0
puts"<p>目的の停留所<select name=\"goal\">\n"
while n < n1
if sel == ekime[n]
printf("<option selected>%s", ekime[n])
n += 1
else
printf("<option>%s", ekime[n])
n += 1
end
end
end
print"</select>\n<!--乗りたい時間 <input name=\"hour\">:<input name=\"minute\">-->"
print"</p>\n<p>乗りたい時間<select name = \"hour\">\n"
for h in 0..23 do
print("<option>", h)
end
print"</select>:<select name = \"minute\">\n"
for m in 0..59 do
if m < 10
m = m.to_s
m += "0"
m = m.reverse
end
print("<option>", m)
end
print"</select></p>"
printf("<input type=\"hidden\" name=\"goal\" value=\"%s\">\n</p>", sel)
print"<p>
<input type=\"submit\" value=\"OK\">
<input type=\"reset\" value=\"reset\">"
h = c["hour"].to_i
m1 = c["minute"]
m = c["minute"].to_i
a = h * 100 + m
if req > ""
print "<div class='bus'></div>\n"
print "<h1>るんるんバスの検索結果</h1>\n"
print "<p>#{req}の#{sel}方面行きで</p>\n"
print "<p>#{h}:#{m1}時点から一番近いのは</p>\n"
print "<p>"
printf("%s</p>\n", zikoku(req, sel, q, a))
end
print "<br><a href=runrunbus.rb>TOPへ</a><br>"
print "<a href=http://roy/~c115163/mycgi/runbakensaku.html>観光地検索へ</a>"
puts"<iframe width=\"100%\" height=\"600px\" frameBorder=\"0\" src=\"https://umap.openstreetmap.fr/ja/map/map_116946?scaleControl=false&miniMap=false&scrollWheelZoom=false&zoomControl=true&allowEdit=false&moreControl=true&searchControl=null&tilelayersControl=null&embedControl=null&datalayersControl=true&onLoadPanel=undefined&captionBar=false\"></iframe><p><a href=\"https://umap.openstreetmap.fr/ja/map/map_116946\">フルスクリーン表示</a></p>"
print"</form>\n</body>\n</html>"