發表文章

目前顯示的是 11月, 2009的文章

Subversion版本控制

Subversion算是一個成熟的OpenSource程式碼版本控制軟體。 本來公司都是使用VSS。在家裏,本來也是想用VSS的。不過因為版權的問題,加上想要試用一下其它的版本控制軟體,就找到了Subversion。 Subversion同樣是要安裝一個伺服器。您可以使用 VisualSVN 的免費版本,喜歡的話,再昇級到企業版。或是您也可以到 SilkSVN 這個網站中去註冊並申請一個免費的空間,它可以提供Subversion的版本控制。讓您在只要能上網的地方,就可以存取到程式碼。 有了Subversion的伺服器之後,就要有用戶端軟體來存取它。您可以使用SilkSVN所提供的免費用戶端軟體。或是您是使用vistual studio的開發環境的話,就可以安裝 AnkhSVN 這套跟Visual Studio整合在一起的Subversion版本控制套件。

C# Dictionary.ContainsKey()釋懝

今天在使用C#中的泛型集合Dictionary<TKey,TValue>時,發現它的ContainsKey()竟然不能使用我自訂的Key類別所覆寫的Equals()函式。這點著實令我感到不可思議。 ContainsKey()這個函式我已經使用很久了,可這還是第一次發現ContainsKey()傳回來的結果,令我訝異。 我想要的很簡單,就是我有一個資料型別,而我另外定義一個跟這個資料型別相互配合的Key類別。我想要將相同Key值的資料群組起來。於是我宣告了以下這樣的Dictionary<>: Dictionary<TKey,TValue> dic = new Dictionary<Tkey, TValue>(); 接著我就依續為每筆資料產生它對應的Key物件,將它放到這個Dictionary中。當然我的Key類別有覆寫了Equals()函式,而且我用ContainsKey()函式來判斷是否有相同Key的資料存在這個Dictionary中。可是當程式執行完後,發現沒有一筆資料的Key是相同的。我確認過資料,應該是會有Key是相同的才對。此時的我開始感覺不妙。難道Dictionary不再是我所認識的那個Dictionary了嗎!! 於是我開始查詢網路上相關的資料,有人提到在 MSDN中有相關的說明 。看了之後才恍然大悟,原來是這麼一回事啊。 IEqualityComparer 首先來看一段程式碼,這是我一開始以為可以正確地讓Dictionary<>.ContainsKey()為我找到相同Key值的寫法: class MyKey { public int ID; } static void Test1() { Dictionary dicTest = new Dictionary(); MyKey key1 = new MyKey(); key1.ID = 10; dicTest.Add(key1, "Test"); MyKey key2 = new MyKey(

Windows 7 @ ASUS F8sg

圖片
這次買了Windows7家用進階版(昇級版),安裝在ASUS F8sg上。 指紋辦識登入 這個部份,看了ASUS官網上的討論區後,安裝了一堆程式及驅動程式,結果還是無法使用指紋辦識登入。結果在安裝印表機驅動程式時,突然就設定好了。 1. 首先要下載 指紋辦識驅動程式 ,安裝完後,基本上還是無法使用。在查詢驅動程式時,請選作業系統Windows 7。目前F8sg是用 AuthenTec指紋辨識驅動程式 Win7 32 位元版 這個版本。 2. 再到Windows 7的裝置及印表機中,應該會看到有一個指紋辦識器。 對它按下右鍵,會看到一個Biometrics的選項。 點選它後會看到如下圖的畫面: 按下右邊的管理你的指紋,就可以開始註冊指紋。註冊完後,再重新登入,就可以選要輸入密碼或指紋登入了。 HP M1120印表機 這台印表機在Win7上安裝也是有點小麻煩。一開始我用的是Vista版本的全版本驅動程式光碟安裝,安裝到一半時就要偵測印表機。可是就一直偵測不到。後來就到HP官網中下載支援Windows7的全版本驅動程式,結果還是一樣。 原本想放棄的,後來又看官網上看到有分 全版本及單純驅動程式版本 。想說不然就下找純驅動程式版本安裝看看好了。沒想到就安裝成功了。 Fn + F9 TouchPad開關 一開始Fn + F9的功能無法使用,也就是無法開啟或關閉TouchPad。後來到網路上查了一下,原來是要安裝ASUS的TouchPad驅動程式。安裝完後,就可以正常使用Fn+F9了。