今日の日を基準に一ヶ月分の日にちを表示し、日にちかその週を選ぶとそれぞれのスケジュールをデータベースより読み表示します。 データはGenerateコマンドで作ったランダムデータです。
表示するデータはプログラムでランダムに作成しています。 また一日一件しか作成していません。
このプログラムの内容です。
*calendar.prg
set cent on
year=year(date())
month=month(date())
date=day(date())
whichone=GETARG(2)
*whichone="wk1"
do case
case isblank(whichone)=.t. &&
同一プログラムを呼んでここで処理を分ける
&&whichoneが空のときはmonth.htmを呼ぶ
for i = 1 to 35
ci = str(i,2,0,"0")
mdate&ci =day(date()-dow(date())+i) &&カレンダーの内容作成
&& Create Variables mdate01 to mdate35
next
HTML month.htm &&ここでカレンダーを表示する部分
case substr(whichone,1,1)="d" &&もし日にちを指定されたらばここに入る
output('Content-type: text/html ',1)
output("",1)
output("",1)
head2='<html>'
output(head2,1)
output("",1)
head3='<head><title>THEDAY</title></head>'
output(head3)
output('<body>')
todays='<p align="left">今日は'+ str(year) +'年'+str(month)
+'月'+ str(date) +'日です。</p>'
output(todays)
use schedule inde datefield
seekdate=date()+val(substr(whichone,2,2))-dow(date())
counter=0
if seek(seekdate)=.T.
output('<table border>')
do while .not. eof()
do while seekdate=datefield
counter =counter + 1 &&何件かを取得
eachdate='<tr><td >' + dtoc(datefield)
section='<td>'+sectionfie
event='<td>'+eventfield +'</tr>'
output(eachdate)
outeach=section+event
output(outeach,1)
skip
enddo
exit
enddo
use
output('</table>')
endif
if counter=0
howmany='<p>何もありません</p>'
else
howmany='<p>'+str(counter)+'件見つかりました</p>'
endif
OUTPUT(howmany)
output("<p>動きましたか</p>",1)
ENDHTML="</body></html>"
OUTPUT(ENDHTML,1)
case substr(whichone,1,1)="w" &&Week
process&&もし週を指定されたらばここに入る
output('Content-type: text/html ',1)
head2='<html>'
output(head2,1)
output("",1)
head3='<head><title>WEEK</title></head>'
output(head3)
output('<body>')
todays='<p align="left">今日は'+ str(year) +'年'+str(month)
+'月'+ str(date) +whichone+'日です。</p>'
output(todays)
use schedule inde datefield
*&&first day of the week
week=val(substr(whichone,3,1))
seekdate=date()-dow(date()-1)+7*(week-1)
endseek=seekdate+6
counter=0
if seek(seekdate)=.T.
output('<table border>')
do while .not. eof()
do while seekdate<=endseek
do while seekdate=datefield
counter =counter + 1 &&何件かを取得
eachdate='<tr><td >' + dtoc(datefield)
section='<td>'+sectionfie
event='<td>'+eventfield +'</tr>'
output(eachdate)
outeach=section+event
output(outeach,1)
skip
enddo
seekdate=seekdate+1
enddo
exit
enddo
use
output('</table>')
endif
if counter=0
howmany='<p>何もありません</p>'
else
howmany='<p>'+str(counter)+'件見つかりました</p>'
endif
OUTPUT(howmany)
output("<p>動きましたか</p>",1)
ENDHTML="</body></html>"
OUTPUT(ENDHTML,1)
endcase
最初に表示するカレンダの部分
Content-type: text/html
<html>
<head>
<title>monthtable</title>
</head>
<body>
<p align="center"><font
size="4"><strong>こもも、さかな、ジャムジャム
カンパニー 社内スケジュール</strong></font></p>
<p align="center">日を押すとその日のスケジュール</p>
<p align="center">Weekを押すとその週のスケジュールがでます。</p>
<p align="left">今日は 1998年2月6日です。</p>
<table border="5" width="100%">
<tr>
<td width="12%"> </td>
<td width="12%">Sunday</td>
<td width="12%">Monday</td>
<td width="12%">Tuesday</td>
<td width="13%">Wednesday</td>
<td width="13%">Thursday</td>
<td width="13%">Friday</td>
<td width="13%">Sataday</td>
</tr>
<tr>
<td width="12%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+wk1">Week
1</a></td>
<td width="12%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d01">1</a></td>
<td width="12%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d02">2</a></td>
<td width="12%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d03">3</a></td>
<td width="13%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d04">4</a></td>
<td width="13%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d05">5</a></td>
<td width="13%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d06">6</a></td>
<td width="13%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d07">7</a></td>
</tr>
<tr>
<td width="12%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+wk2">Week
2</a></td>
<td width="12%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d08">8</a></td>
<td width="12%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d09">9</a></td>
<td width="12%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d10">10</a></td>
<td width="13%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d11">11</a></td>
<td width="13%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d12">12</a></td>
<td width="13%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d13">13</a></td>
<td width="13%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d14">14</a></td>
</tr>
<tr>
<td width="12%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+wk3">Week
3</a></td>
<td width="12%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d15">15</a></td>
<td width="12%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d16">16</a></td>
<td width="12%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d17">17</a></td>
<td width="13%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d18">18</a></td>
<td width="13%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d19">19</a></td>
<td width="13%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d20">20</a></td>
<td width="13%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d21">21</a></td>
</tr>
<tr>
<td width="12%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+wk4">Week
4</a></td>
<td width="12%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d22">22</a></td>
<td width="12%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d23">23</a></td>
<td width="12%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d24">24</a></td>
<td width="13%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d25">25</a></td>
<td width="13%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d26">26</a></td>
<td width="13%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d27">27</a></td>
<td width="13%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d28">28</a></td>
</tr>
<tr>
<td width="12%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+wk5">Week
5</a></td>
<td width="12%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d29">1</a></td>
<td width="12%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d30">2</a></td>
<td width="12%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d31">3</a></td>
<td width="13%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d32">4</a></td>
<td width="13%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d33">5</a></td>
<td width="13%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d34">6</a></td>
<td width="13%"><a
href="/cgi-bin/ARAGOI.exe?calendar.prg+d35">7</a></td>
</tr>
</table>
<p><a
href="mailto:scheadule@yourcompany.com">スケジュール追加連絡</a></p>
</body>
</html>