取亂數,我想這問題應該是在簡單不過的程式,
但要取出一堆不重複的亂數...有許多效率方面的想法,
有一個是洗牌法,
想法即是先取得一個順序的牌組(陣列),
在隨機取兩個數字後將兩個位子的牌對調,
以下範例是需要進來的牌組多大,就對掉牌組的100倍次數
這CODE不一定完美,但也是一個不錯的取亂數想法。
~Shael

shael 發表在 痞客邦 留言(0) 人氣()


.Net 4.5專案預設即支援Unobtrusive
只要在 global.asax Application_Start 加 以下即可轉為Unobtrusive

~Shael

shael 發表在 痞客邦 留言(0) 人氣()

MS RequiredFieldValidator 不支援 CheckBoxList ,
只能用 CustomValidator Call Client Script 去驗證
參考了一些網站,所以衍生出以下寫法,
因jQuery的寫法比較沒有跨瀏覽器問題,所以比較建議~
不過目前寫法應該只能這樣吧...搞不好以後MS自己也會支援...不需要另外CODING
~Shael

shael 發表在 痞客邦 留言(0) 人氣()

於Button .click() 時加上__doPostBack();
即可對應CodeBehind的Click事件
ex:
// 這 Botton1.click 會對應到 CodeBehind 的 Button1_Click 事件
$("#button1").click(function() {
__doPostBack("button1", "");
return false;
});

shael 發表在 痞客邦 留言(0) 人氣()

有時常會需要用到command
做一些bat檔會需要用到以下變數,
經測試有底線的系統變數在某些系統特定條件下才可以使用
Windows系統變數
1 %SystemDrive%:系統磁碟機,預設是C:
2 %SystemRoot%:系統根目錄,預設是C:\WINNT或C:\WINDOWS
3 %SystemDirectory%:系統目錄,預設是C:\WINNT\System32或C:\WINDOWS\System32
4 %WinDir%:Windows目錄,預設是C:\WINNT或C:\WINDOWS
5 %ProgramFiles%:應用程式目錄,預設是C:\Program Files
6 %Temp%、%Tmp%:暫存檔目錄
7 %HomePath%:使用者家目錄
8 %OS%:作業系統名稱,其值固定為Windows_NT
9 %UserDomain%:包含使用者帳號的網域名稱,或者電腦名稱
10 %UserName%:使用者帳號名稱
11 %ALLUSERSPROFILE%:All Users設定檔的資料夾位置。
12 %APPDATA%:目前使用者的Application Data資料夾位置。
13 %CD%:目前的工作資料夾。
14 %CLIENTNAME%:目前使用者的NETBIOS電腦名稱。 
15 %CMDCMDLINE%:處理目前命令提示字元視窗命令的cmd.exe的完整路徑。
16 %CMDEXTVERSION%:目前Command Processor Extensions的版本。
17 %CommonProgramFiles%:Common Files資料夾的路徑。
18 %COMPUTERNAME%:電腦名稱。
19 %COMSPEC%::命令提示字元視窗的解譯程式路徑,通常與%CMDCMDLINE%相同。
20 %DATE%:目前的系統日期。
21 %ERRORLEVEL%:最近執行過的命令的錯誤碼;非零的值表示發生過的錯誤碼。
22 %HomeDrive%:使用者目錄的磁碟機。
23 %HOMESHARE%:目前使用者共用資料夾的網路路徑。
24 %LOGONSEVER%:目前使用者所登入的網路控制器名稱。 
25 %NUMBER_OF_PROCESSORS%:電腦的處理器數量。
26 %Path%:執行檔的搜尋路徑。
~Shael

shael 發表在 痞客邦 留言(0) 人氣()

使用EXCEL產生報表,再VB6時我們會使用CreateObject開始,
再以Set Nothing 結束,就OK了~
但在.NET並不是這麼簡單就可以釋放記憶體,
每執行一次,工作管理員又會產生一次EXCEL.EXE
網路上查到許多使用GC.Collect()來強制回收,
也有看到Kill Process的...
但這樣強制系統回收....總覺得這樣好像哪裡不妥,
若不到最後,我想我應該不會使用這方法去強制影響系統的運作,
而且這在Client端程式可以這樣執行,到Server端執行又不行~"~
一開始我還想說是權限問題~測了很久....
想說乾脆執行一次CreateObject,後續使用getObject重複使用該Object就好,結果...
又是Client可以,Server端不行,~"~
查到最後...是有Server.CreateObject 卻沒有 Server.GetObject
之後回歸最原始的方式,
再仔細看微軟的支援頁面,.NET 2.0之後可使用以下程式來回收記憶體
System.Runtime.InteropServices.Marshal.FinalReleaseComObject
我就從每一層結束都做FinalReleaseComObject,
結果發現,只寫以下就可以釋放EXCEL.EXE的記憶體
Dim xlapp As Excel.Application = Server.CreateObject("Excel.Application")
xlapp.Quit()
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(xlapp)
xlapp = Nothing
但只要再中間加上下列開啟檔案....
Dim xlBook As Workbook = xlapp.Workbooks.Open(wkPath & "\sample.xlsx")
xlBook.Close()
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(xlBook)
xlBook = Nothing
EXCEL.EXE就會出現在工作管理員中屹立不搖...
之後再想到根本,EXCEL的組成元素如下,
Application、Workbooks、Workbook、Worksheet、Range
所以就每一層都SET NEW 用完都做FinalReleaseComObject
每一層都需要正常開始與結束就可以正確釋放記憶體
這樣寫CODE寫得有點複雜,不過記憶體真的可以正常釋放,
只要其中一個環節沒有做到EXCEL.EXE就會在工作管理員中,
範例是讀取現有EXCEL擋,之後修改內容後關閉儲存~
Imports Excel = Microsoft.Office.Interop.Excel
Imports System.Runtime.InteropServices.Marshal
 
Sub Excel()
    Dim xlApp As New Excel.Application
    Dim xlBooks As Excel.Workbooks = xlApp.Workbooks
    Dim xlBook = xlBooks.Open("D:\sample.xlsx")
    Dim xlSheet As Excel.Worksheet = xlBook.ActiveSheet
    Dim xlRange As Excel.Range
    xlApp.Visible = False
    xlApp.DisplayAlerts = False
    xlRange = xlSheet.Range("A1")
    xlRange.Value = 123
    FinalReleaseComObject(xlRange)
    FinalReleaseComObject(xlSheet)
    xlBook.Save()
    xlBook.Close()
    FinalReleaseComObject(xlBook)
    FinalReleaseComObject(xlBooks)
    xlApp.Quit()
    FinalReleaseComObject(xlApp)
End Sub
參考資料:https://support.microsoft.com/default.aspx?scid=KB;EN-US;q317109&#appliesto

shael 發表在 痞客邦 留言(0) 人氣()

20110514_117

日期:May/14/2011
行程:Worthing(沃辛)
住宿:英國友人家
今天行程也是採購、與友人聚餐,還穿插一個搭敞篷車到Brighton繞了一圈~
一早友人先帶我們去了一趟Argos,因為原本帶來的兩個行李箱,裝不下我們買的東西了XD
所以去Argos在買個行李箱,也順便買個快速店熱水壺,感覺是滿便宜的,
帶回台灣也可以用,問題一樣,就是插頭大了一點,而且需要轉換插頭,
到最後,也覺得耗電...也收起來了,電費高漲...目前煮開水都用瓦斯~
今天天氣很不錯,天空很藍,在停車場往上拍就是這般美景,
英國的天空真的很清,很乾淨~
內人英國與之前一同在英國讀書的同學相約在Worthing大街見面,準備一起吃午餐,
Worthing大街上,竟然出現這樣帶動跳的老師,
很多英國人也很開心的跟著跳~
左上角的vodafone就是我們再英國辦理£10有500MB可以用的3G手機SIM卡
這真的很方便,我們在車上無聊上網查資料都是使用這喔~
其他是我們散步拍到的照片...
警察局,為什麼有這一張呢?
因為小弟我天兵的,竟然將同學送內人的禮物提袋整個忘在Worthing的大街上@@"
之後我們只好到警察局問看看是否有好心人將提袋送到這邊來,
結果還真的完整無缺的拿回同學送內人的禮物,還好,若真的找不到,內人真的會很傷心吧...
我也會很自責~"~,到這邊,真的要給英國人的拾金不昧一個讚!
同學老公是開奧迪敞篷車的,因為我們行程沒有排到Brighton,
他們就很熱心的要開車帶我們到Brighton晃一圈,
因為我們也沒有甚麼機會搭敞篷車,就很開心地衝過去了,
Brighton真的很漂亮,可惜的是時間不夠,所以下次去英國時,再到Brighton玩吧~
上面皆是路上風景,老實說,敞篷車真的是風超大,
吹的我們都頭痛了,索性就將帽子戴起來^^"
這飯店聽說很有名?!據說,這是英國女皇住過?!
其實我也有點忘記了XD,就當是我亂介紹吧XD
這邊是Brighton最熱鬧的Piers,
太陽很大,天氣很好,雖說沙灘上沒有比基尼辣妹,
不過這樣慵懶的英國氣息也感染著我們,令人平靜~
英國同學也是台灣人,一到Brighton就去排隊買的甜甜圈,
她說這是類似家鄉台灣甜甜圈的香味~
在外依然總是想著家鄉的味道~
之後回到友人家,受到友人英式下午茶的招待,
在飯前喝著奶茶,吃點麵包,吃完晚餐後,又是一大片英式糕點,真的是滿足~
吃完晚餐後,友人帶著我們走路到附近的一家超市,
再去買點東西,我們也順便跟著去,去看看有沒有甚麼便宜可以撿,
逛完超市,天也黑了~
今天,見到內人當時在英國讀書的同學,
人都很友善,下次有機會再到英國旅遊,
我想,應該也都會再次相約見面吧~
~Shael

shael 發表在 痞客邦 留言(0) 人氣()

20110513_053


日期:May/13/2011
行程:Bath(巴斯)->Worthing(沃辛)
住宿:英國友人家

今天行程比較簡單,單純是起床享受早餐,後回Worthing與友人會合,
還有去買...iphone dock radio clock,因為內人在住宿看到一個覺得很有用,
就去找Argos買這東西,之後還真的是問到附近有一家,
因為我們買回worthing的車票也是定時優惠票,所以我們必須準時,
吃完早餐就趕快去搭公車到Argos買iphone dock radio clock,還買了兩個@@"
帶回台灣後電源需要轉接頭,電源插頭又很大~到最後iphone4換iphone5後...感覺就沒甚麼用了...
最後...還是收起來,當如果需要時鐘時....再用吧~



一樣的,餐廳是我們最喜歡的一部分,早餐一樣非常豐盛,
當然來到英國,一定是英式的先吃,看到這一盤,一整天的元氣都來了~


我們先到車站,搭公車到Argos,BATH車站一景,
之後我們買到東西後就直接搭火車準備回Worthing,




搭車回worthing的路上就是看窗外的景色,
也沒甚麼好介紹的,因為來的時候幾乎已經看過一遍了,
現在只是在看一遍~^^"


趕回到Worthing之後,我們就準備與友人吃晚餐,
晚餐吃得太快,所以都沒有拍到XD
只拍到之前內人在英國讀書時,住宿家庭的男女主人帶來的草莓蛋糕~
今天時間並不是很充裕,有許多時間花在找Argos與搭車,
剩下的時間就是內人與英國友人敘舊~聊天~
今天行程就是這樣囉~

~Shael

shael 發表在 痞客邦 留言(0) 人氣()

20110512_1015

百年傳統餐廳 SALLY LUNN'S

BATH住宿Check In的經理推薦我們可以到這裡吃晚餐,
他說這一間是百年老店,可以吃到很傳統的英式晚餐,
昨天吃的時候知道,提早一點來吃有優惠,所以我們又來吃一次英式晚餐囉~


在下午5點前有優惠~一個人£12的樣子,
套餐名稱是Early Bird,應該就是早鳥優惠吧XD



餐廳擺設也是相當的有味道~


店內也擺設英國舊時的素描畫,很悠閒的感覺。


套餐還有含紅酒,左邊是紅酒杯,右邊是套餐前湯與麵包


我點的是豬肉,內人吃的是羊肉,
肉的燉的很爛,很軟,入口即化,個人覺得還不錯吃啦~
因為我們有吃的是早鳥餐,
不過含餐前酒、餐前湯、餐包、主餐,一個人只要£12,
對於物價超高的英國來說,算是很優惠的一餐了~
前一個晚上吃一樣的東西比今天還少,還比較貴哩,


吃完後,再到外面來拍照,店的外觀也很有FEEL。



歐洲人都很喜歡在戶外用餐,當然英國也不例外,
像這類的室外餐廳,還滿多的,而且也都滿漂亮的~


英國郵筒



用完餐,就慢慢散步回住宿的地方,現在看起來是滿亮的,
不過我記得已經是晚上8點多了~


時間已經晚了,當然這類店家也都關了,
看著櫥窗慢慢的東西,好想買,但口袋不夠深...只能望梅止渴...



常常聽到人家說的一句話「買不起,就把它拍回家吧!」XD


這一幕也是在旅遊書上有看到的一幕,有前景深景喔~


BATH這區的街道就是這般美景


都幾點了,太陽還不下山...影子都拉這麼長了 ^^


我們是住在BATH車站後方的山坡上,這樣爬山爬回家,雖然有點累,
不過路上還有小花可以欣賞~也是很詩情畫意~


這是我們在BATH住宿兩天的HOTEL外觀


HOTEL花園燈


HOTEL還很貼心的在玄關放上BBC報導的一周天氣,



HOTEL後花園,看起來很漂亮,但因為天色晚,氣溫低,
我們也是趕快拍拍照後就進室內了,


HOTEL的餐廳,餐廳擔心客人晚上會餓,所以也準備一些零食供顧客使用,
但...這些是要錢低~
這HOTEL的餐廳是我們最滿意的部分之一,
因為餐廳的早餐真的是~優啊!~還可以點餐,
餐廳漂亮、明亮、早餐吃到飽,選擇又多樣~
雖說位置是在BATH車站後方的山坡上,當然也是有公車,
不過還是顯得不太方便,還好,小弟與內人還算康健,
可以這樣走,若真的老人家一點,這樣爬山,可真是有點累喔~

過了很久,終於又出現一篇了...~"~
我真的是很懶的人,POST文速度真的是越來越慢了...
只能盡量囉~

~Shael

shael 發表在 痞客邦 留言(0) 人氣()

太偷懶都沒上來完成遊記,但看到這篇文章,不分享又很對不起自己XD
看完這篇的感想:台灣心、台灣人就是會這麼可愛~
~Shael
 

shael 發表在 痞客邦 留言(0) 人氣()

20110512_0600

Bath大教堂與羅馬浴池合影

結束羅馬浴池的行程,我們緊接著往下一個目標前進,
我們再走經過教堂與浴池門口...


今天添上一直有很多雲,但大致上還都是好天氣~


再繞回教堂前廣場


教堂前廣場旁的商店,都是賣有關英國相關的產品,當然一樣價格不斐...


羅馬浴池門口


這位街頭藝人很有趣,他所發出來的聲響非常豐富


Bath大教堂旁的雕像


在路上我們遇到Google拍照車,很有趣的,
幾個月後,我們真的在Google Map看到我們,
更特別的是,他只有更新這角落的照片,而我們...就在其中 ^^


歐洲人很喜歡在戶外喝咖啡吃點心,若在這餐梯外喝杯咖啡,應該是非常的愜意~


這是巴斯亞芳河對岸的風景,真的很漂亮~


亞芳河上的帕特尼橋,很特別,外怪就像這樣,很特別的橋,
若走到橋上看,感覺就不像橋了,感覺就是很漂亮的商店街,


英國馬車,還有橋邊不怕人的英國大海鷗@@"


帕特尼橋上的下午茶店。


下午茶賣的麵包蛋糕,感覺都很可口喔!


帕特尼橋上商店所賣的小東西,感覺真的好漂亮,但價格真的是不斐...



巴斯路上景觀都是很有特色的建築,


這獅子在哪裡我忘了,應該是往黃家新月樓路上的公園外。


皇家新月樓,也是慕名而來,想看這一片草地與拱型建築~
有些人也是在這片草原野餐,躺下來也是滿舒服的。


新月樓與草坪上的鴛鴦?!


在新月樓前休息了一下,準備再走回巴斯市區,這應該是在路上的公園。


回到市區,還滿多人的。


再回到Bath修道院我記得時間滿晚的了,
不過觀光客還是滿多的喔!~
雖說時間滿晚的了,但因為天空還滿亮的,
所以我們在安排行程時,可以把一些可以晚一點還可以參觀的景點都留在最後
所以到最後我們還回到這最大的景點拍照。
這也是很特別的感覺,這麼晚了,晚上7、8點還可以這樣玩~
再來就是準備要去吃飯哩~~
下篇在介紹一次百年的餐廳喔!^^

shael 發表在 痞客邦 留言(0) 人氣()

20110512_0383

美麗的羅馬浴池

日期:May/12/2011
行程:Bath(巴斯)
住宿:One Three Nine Bath

One Three Nine Hotal的早餐是傳統的英式早餐,吃的真的是很棒,
還可以點你想要吃的東西,現煎,不會每天一成不變,而且份量都超大的,
咖啡也都是很香,非常好吃,
在他們餐廳內用餐,太陽曬進來,
感覺真是很棒,非常的優閒...真的感覺非常棒



一早先到餐廳找位子坐,旁邊有吧檯,可以自己先找自己喜歡吃的東西


也有提供素食包,像喜瑞爾之類的早餐


一開始先請服務生準備咖啡,再看著MENU點要吃的早餐


我老婆點了蛋與鮭魚肉



我則點了雞火腿、蘑菇、煎蛋、培根等,
若吃不飽還可以多點烤土司~
每個餐桌上還有提供這樣可愛的小罐果醬
之後我們在超商也有買了一些回來送人,真的是很可愛。
這樣的早餐吃起來真的是超讚的,這也是我們在英國吃到最棒的早餐~

吃飽後我們就準備出門進行今天的行程...

回到房間望外看後院的樹


下樓準備出門時,看到其他的房間正在打掃,我們也就進去給他參觀一下^^



Bath的真的是一個很漂亮的城鎮,每一個角落都類似這般美麗的建築,
據說是17~18世紀喬治亞王朝時代的建築,感覺真的很特別,也只有這邊才有~


我們一開始就先往Bath教堂方向走,這也是Bath必到景點之一



Bath大教堂旁邊也有一個旅遊服務中心,在旁邊廣場拍這雄偉的教堂


服務旅遊中心也有販賣一些紀念品,當然價格也都不斐就是了...



廣場旁剛好有英國小學生的戶外教學,還有英國很常見的....鴿子
下面一張照片是教堂旁的雕像


教堂正面一景


在英國這類觀光地區都會有像這般的街頭藝人
這女生是唱聲樂的,旁邊都沒有任何喇叭,聲音也很清亮,非常好聽~

再來就是前往我們今天主要景點【羅馬浴池】
羅馬浴池是西元 65 年時由羅馬人所興建的,它們導入巴斯當地所自然冒出的溫泉來做水療池,
據說也是英國唯一的溫泉,而羅馬人在四百年後離去,這座大型綜合水療池也跟著荒廢,
直到西元 1880 年時,這個遺跡才再次被後人所發現,
現在在羅馬浴池這邊有可以吃東西和參觀的幫浦室(The Pump Room)與羅馬浴池博物館。

這是大堂屋頂,也設計得很有特色


在這邊買門票,價格應該是£11鎊,他也提供語音導覽,當然我們都有借來聽~
語音介紹的很詳細喔,而且還是滿標轉的國語,若有去的,也記得借一個來聽聽


在大堂的畫牆與天花板


這就是我們今天的主角,羅馬浴池


浴池的圖面與當時的舊照片


浴池有服務人員,不過這應該只是提供校外教學小朋友遊玩專用XD



羅馬浴池,在上面有許多這樣的雕像


由羅馬浴池往Bath大教堂拍照



這感覺就是羅馬士兵的感覺^^


羅馬浴池 vs Bath大教堂


圓形井字窗


這模型中說明了這浴池的運作方式


這浴池其實還是一樣溫度很高,這水面還是會冒泡泡的喔~



浴池一景與內部建築物模型、雕像


在這碎片當中,使用投影機,將原本面貌投影出來~



其中也展示當時的一些物品


這是浴池的排水孔,這地方水還是一直在冒煙喔,
站在這個地方,感覺和都快冒出來了~


羅馬浴池的冷水池,現在則成了許願池


目前浴池不供泡湯,這是唯一合法的泡湯客....



再來幾張羅馬浴池照



使用HDR拍雕像,這樣有藍天,也雕像也不會太暗~
右下方一張是裡面的遺跡


喝這溫泉水,強身健體,頭好壯壯(代替鴿子說的....)


這一群應該就是剛剛外面那一群戶外教學的學生~



參觀完後外面也有販賣紀念品,當然價格...你是知道的~

這羅馬浴池,其實很有看頭,他規劃的很有秩序,
每一個細節也都有介紹,也利用投影機,將當時的情況模擬出來呈現,
在每個角落都有故事,可以身歷其境當時人們來這浴池的一些生活點滴
這景點超推薦的喔,若來到Bath真的要看一下,仔細參觀這浴池~


下篇待續

~Shael


shael 發表在 痞客邦 留言(0) 人氣()

Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。