2012年1月10日 星期二

版本管控之排bin條款


使用 Visual SourceSafe 或 Team Foundation Server 管理程式碼時,如果開發工具是使用 Visual Studio,當你在編譯程式時,會自動產生 /bin 資料夾,一不小心就會將 /bin 資料夾放入 Visual SourceSafe 或 Team Foundation Server。當在多人開發時, /bin 資料夾下的 dll 檔很容易就會發生被鎖住而無法正常編譯。所以,將 /bin 資料夾排除在版本管控,似乎是比較好的選擇。但,怎麼去做這件事呢?以下介紹一個簡單的方法:

首先,在你的開發程式裡,將 /bin 資料夾屬性設為「隱藏」,並確定「唯讀」屬性是沒有被勾選的。然後再將程式放入 Visual SourceSafe 或 Team Foundation Server,如此,就可以將 /bin 排除在版本管控裡了。



Win7 預設都會把屬性為「隱藏」的資料夾或者檔案隱藏,如果您覺得還是想看看它們的話,可以到「檔案總管」→「資料夾和搜尋選項」→「檢視」→「隱藏檔案和資料夾」,將「顯示隱藏的檔案、資料夾及磁碟機」勾選起來,如果需更詳盡的介紹,可以參考「Windows 7顯示隱藏檔和副檔名」。

參考:
01:.net 网站项目dll引用,项目引用的管理问题
02:Windows 7顯示隱藏檔和副檔名

2012年1月4日 星期三

判斷輸入的數值是否是到小數點第二位

如果想要去檢查使用者所輸入的數字,是否真的乖乖符合「到小數點第二位」的要求,使用 javascript 來檢查,算是蠻直覺的。在程式設計師俱樂部,找到一篇很簡潔的寫法,主要是透過 Regular Expression 來完成。


function checkDecimal2(v_compare) 
{    
    re =/^[0-9]+(\.[0-9]{1,2})?$/;
    if(!re.test(v_compare )) 
     { 
        return false
     }
     
     return true; 
}

根據石頭閒語裡所介紹的 Regular Expression(寫的超級詳細的,很值得多讀幾遍,找時間拿回家護貝裱框好了),節錄出有關判斷小數點第二位的語法介紹如下:


 /^[0-9]+(\.[0-9]{1,2})?$/


  1. ^
    寫在 pattern 第一個位置時,表示其後一符號必須出現在字串開頭的位置。寫在 pattern 中間位置時則為否定之意,表示字串中不可有 ^ 之後一符號的內容。
  2. $
    寫在 pattern 最後一個位置時,表示其前一符號必須出現在字串尾端的位置。寫在 pattern 中時無特別意義。
  3. [ ]
    表示字串含有括號中任一字元的內容。可以 - 表示一組連續字元,例如 /[a-z]/, /[0-9]/ 。注意, [] 僅代表一個字元,例如 /[abc]/ 表示 'a' 或 'b' 或 'c' ,而不是 'abc' 。
  4. +
    表示字串中有 1 到無數個其前一符號的內容。
  5. ( )
    表示一個 sub pattern ,符合 sub pattern 的字串內容會被存放在匹配陣列中,並依序指派數字代表此 sub pattern 。可以此數字在 pattern 的其他地方引用內容,例如 /The h([0-9]) means Title (\1)/ 表示第 1 個 sub pattern 是 0 到 9 的任一字元,而 \1 表示匹配的內容。故 'The h1 means Title 1', 'The h2 means Title 2' 到 'The h9 means Title 9' 符合規則。
  6. \
    表示轉義 (escaping) ,將其後的字元視為一般字元。例如要表示字串中含有 '/' 字元時,就必須寫作 /\// 。
  7. { }
    表示前一符號在字串中的重覆次數。例如 /A{2}/ 表示 'A' 重覆兩次 (即 'AA') ;/A{2,}/ 表示字串含有 2 到無數多個 'A' ;/A{2,5}/ 表示含有 2 到 5 個 'A' 。
  8. ?
    表示字串中有 0 到 1個其前一符號的內容。

瞭解 Regular Expression 所代表的意思之後,如果要寫「判斷輸入的數值是否是到小數點第一位」,就很簡單了,只要修改一個地方就可以,至於要到小數點第 N 位,依此類推就是了。

/^[0-9]+(\.[0-9]{1,1})?$/

如果您一時技癢,可以到 Rubular 去解解饞。該網站提供 Regular Expression 的線上測試服務。


參考:
01:請問如何限制使用者如果有輸入小數點,最多只能輸2位(程式設計師俱樂部)
02:Regular Expression (RegExp) in JavaScript(石頭閒語)
03:Rubular