我個人有習慣收集一些網路上別人整理的速查表,因為程式開發的細節真的太多了,要能全部背起來不太可能,也沒什麼意義,甚至於有人說程式設計就是一件查詢、複製、貼上的工作而已。對我來說,寫程式首重觀念與經驗,有了完整而正確的觀念,就算記不得要怎麼寫,查詢一下就馬上能寫了;而有了經驗,對於一些難解的 Bug 自然能夠迅速解開。
... 繼續閱讀 ...
大部分人在測試 ASP.NET 程式時,大多按下 F5 (開始偵錯)(Start Debugging) 進入 ASP.NET 偵錯模式,不過我個人覺得這個程序非常的慢,所以大多不會直接按下 F5,而是先用 Ctrl + F5 直接看執行的結果,速度會快很多,因為大部分時候只是看執行結果,並沒有設定中斷點,無須進入偵錯模式。我之前曾經提過兩篇(這篇 & 這篇)在 Visual Studio 中關於 Attach to Process 的文章,所以當我需要除錯時才會利用 Attach to Process 將 WebDev.WebServer.EXE 程序附加上去,就可以進入偵錯模式了。
... 繼續閱讀 ...
之前因為有個案子要做 Excel 匯入的功能,需要讓客戶先下載匯入檔案範本,然後讓客戶上傳 Excel 檔 ( *.xls ),再透過 C# 讀取資料後存入資料庫,我是採用 OleDb 的方式在 Server 端開啟檔案並將資料讀出,不過卻遇到了幾個難解的問題,其中最討厭的問題就是透過 OleDb 載入資料時,它都會自動判斷 Excel 中每個欄位的型別,假設工作表中的第三欄的前 8 列的值是「數字」,而第 9 列的「文字」的話,當讀取到第 3 欄第 9 列的時候,該儲存格的欄位值就會是 Null,可能會引發程式執行錯誤(因為你會預期有資料)。
... 繼續閱讀 ...
我們為了大量更新 Office 文件內容,加速更新速度的方式,就是修改 Application.ScreenUpdating = False
... 繼續閱讀 ...
' 將傳進來的半型數字字串轉成國字大寫
' -------------------------------------------
Function 轉國字(s As String) As String
Dim s1 As String
Dim s2 As Long
If s = "" Then 轉國字 = "未輸入金額": Exit Function
While Left(s, 1) = "0": s = Right(s, Len(s) - 1): Wend
tmp節名 = "元萬億兆京"
節數 = (Len(s) - 1) \ 4 + 1
位數 = 節數 * 4
s = Right("0000" & s, 位數)
For i = 節數 To 1 Step -1
個位名 = Mid(tmp節名, i, 1)
s1 = Mid(s, ((節數 - i) * 4) + 1, 4)
zero = ""
If Left(s1, 1) = "0" Then zero = "零"
tmp = tmp & zero & 轉四位數(s1) & 個位名
Next
If Left(tmp, 1) = "零" Then tmp = Right(tmp, Len(tmp) - 1)
tmp = Replace(tmp, "零零", "零")
tmp = Replace(tmp, "零萬", "")
tmp = Replace(tmp, "零億", "")
tmp = Replace(tmp, "零元", "元")
轉國字 = tmp & "整"
End Function
... 繼續閱讀 ...