ASP 與 XML--part6 - 聖殿英雄傳說 MUD

Agatha avatar
By Agatha
at 2012-06-07T11:28

Table of Contents

最近在公司要寫的程式,剛剛寫完了,這次有玩到幾個有趣的部份。

首先,設備有設定一年裡面特定的幾天,要套用別的參數,如下..

2012-03-03#
2012-04-04#
2012-05-05#
2012-06-06#

以 asp 語法來說,假設 str 等於上面,那今天假設要做一個日期的
新增,該日期並且要能自己判斷是要塞在上面那個東西的中間、還是
前面、或是後面,該日期假設叫 new_date,它的寫法如下..

new_str = ""
already_ins = 0

' 以 #\n 為分隔符號,對 str 做 explode
for each tmp in split(str,"#" & vbcrlf)

' 進行 new_date 與每個日期的比較, 若小於就加進去
if StrComp(new_date,tmp) < 0 and already_ins = 0 then
new_str = new_str & new_date & "#" & vbcrlf
already_ins = 1
end if

' 然後再累加原先的 tmp
new_str = new_str & tmp & "#" & vbcrlf

next

' 都跑完後若 already_ins 還是 0,就把 new_str 加在最後
if already_ins = 0 then
new_str = new_str & new_date & "#" & vbcrlf
end if

這樣假設輸入的是 2012-05-01,因該日期 > 2012-04-04 以
前,因此在最初跑迴圈時,new_str 都是累加原先的的 tmp.

然後判斷到 05-01 < 05-05 時,new_str 就先加上 05-01,
然後再加上 05-05,這樣就完成了這筆日期的插入動作。

實際的判斷比上面更複雜一點。

======================================================

第二個是,以上面的日期來說,比方有 2011 年、2012 年的
,那我希望它能像底下的呈現方式..

┌─────┬─────┐
│2011-05-05│2012-01-01│
│2011-06-06│2012-02-02│
│ │2012-03-03│
│ │2012-04-04│
│ │2012-05-05│
│ │2012-06-06│
└─────┴─────┘

它的寫法如下..

print_str = "<table><tr><th>"

' 先讀取最開始的 str 的前四個字串, 就是最初年份 2011
years = left(str,4)

for each tmp in split(str,"#" & vbcrlf)

' 當發現有年份跟最初讀到的年份不同時
if years <> left(tmp,4) then

' 馬上更新年份
years = left(tmp,4)
print_str = print_str & tmp & "</th><th>"

else

print_str = print_str & tmp & "<BR>"

end if

next

' 最後再加上結尾

print_str = print_str & "</th></tr></table>"


實際上的程式也比上面複雜,因為該 table 是包在另一
個 table 裡頭,如下..

─┼─────────────┼─
│┌─────┬─────┐│
 ││2011-05-05│2012-01-01││
 ││2011-06-06│2012-02-02││
 ││ │2012-03-03││
 ││ │2012-04-04││
 ││ │2012-05-05││
 ││ │2012-06-06││
 │└─────┴─────┘│
─┼─────────────┼─

不過判斷的原則不變,html 標籤的設計其實跟字串解析
是相同的概念,玩過複雜的字串解析的話,html 標籤的
解析就能駕輕就熟。

比較特別的是因為要讓日期靠左靠上對齊,標籤如下..

<th align=left valign=top>

Laechan

--
Tags: 線上

All Comments

Damian avatar
By Damian
at 2012-06-07T23:45
理論上因為程式於昨天寫完,今天應該有空coding聖殿.

無法下載GW2 >"<

Carol avatar
By Carol
at 2012-06-07T10:57
幫忙一下andgt;and#34;andlt; 禮拜6就快到了 用管理員權限沒用 防毒程式刪了也沒用 把下載器和dat以外的程式刪掉也沒用 哭哭 *--andgt; Crash andlt;--* Assertion: compressedBytes andlt;= outputBytes File ...

The Big Beta Weekend Preview

Edwina avatar
By Edwina
at 2012-06-07T09:51
關於特質會不會tier的問題,已有定案了。 原文在巴哈http://ppt.cc/~ZVN有興趣的可以點過去看。 大致上是說,官方認為透過30/10/10/10/10的方式去換得最強力的配點,這不是他 們設計的初衷。 另一方面,特質上tier在對於遊戲平衡上,會相對來的容易許多。 就新系統而言,玩家在思 ...

說些不中聽的話

Ina avatar
By Ina
at 2012-06-07T06:16
如題,本人在年紀不大時,也是龍族的重度玩家 玩到至尊騎士二轉而已,那時候真的很瘋這款遊戲 後來為了考試,暫時離開了龍族,之後宏雞就把龍族弄倒了! 小弟我玩線上的資歷不多,短暫的玩過天堂; 龍族戲齡約兩年 對我來說還滿久的,當然不至於廢寢忘時,不過也滿熱衷就是了。 之後被 ...

帕拉丁

Zenobia avatar
By Zenobia
at 2012-06-07T02:52
名稱:帕拉丁 日名: パラディン 英名: Paladin 異名: Holy Knight 古朗德利尼亞帝國聖騎士,據說是連隊的創世四傑之一。 「神聖的光自會定奪汝之命運」 「吾不願與汝兵戎相見」 (vs 艾利普斯 限定) 入手方法 在 Shop 使用 15 個冥府印章可取得 ====== ...

D3效應

Mia avatar
By Mia
at 2012-06-07T00:15
看到上面兩篇突然有感... 在戰服 除了遊戲人口有一點減少之外, 目前傳的最沸沸揚揚的傳聞, 應該是有幣商想抽出海ON的人力轉往D3賺錢了... 於是據說為了消耗囤積過度的海幣, 於是在全球各城市開法國小號到處投資翻港... 雖然只是傳言,不過看到各地法國小號努力地翻港, 似乎也很少其他國的玩家主動翻 ...