七月 21

        最近參考了幾個統計圖表控件包,OpenSource 的有 ZedGraphNplot 等,但是相比之下還是 ZedGraph 強大,方便一些,其他的感覺還是半成品。

        收費的套件就多了,只要是商業的報表開發工具都有統計圖表的功能,水晶報表,ActiveReport,Reporting Service,不過要方便,功能單一的還是 dotnetCharting。下面主要從 winform 使用上說說 ZedGraph 和 dotnetCharting。

        從效果上說 dotnetCharting 確實沒的說,水晶式效果很是炫目,這應該是其最大的賣點。為了便於開發者學習,帶了各種效果的示例代碼。DotnetCharting 在產生統計圖的時候需要設置一個臨時目錄,用來保存產生的統計圖的圖片,dotnetCharting 的圖表效果好,很大程度上是因為它生成了圖片,然後將其顯示在界面上。當然,作為代價,它犧牲了性能。同時,它不支持縮放,雖然你可以通過更改坐標軸的刻度來實現這個功能,但是性能上就差了很多。

如果你對性能要求不高,dotnetCharting 是非常好的選擇。

        ZedGraph 最大的賣點在哪裡?應該是OpenSource,你可以修改代碼以適應自己的需求,例如:ZedGraph 在畫線型圖的時候,線條沒有使用抗鋸齒,你只要修改 Line類的 Default 結構中的預設設置就可以了。和 dotnetCharting 相比,ZedGraph 的效果要差一些,不過,要是自己調整的好,也還不錯,但是 ZedGraph 的優勢不在這裡。

        由於 ZedGraph 是使用 GDI+ 直接在 Canvas 上進行描畫,所以,性能得到了保證,如果你改變坐標軸的刻度,和 dotnetCharing 相比,ZedGraph 的反應速度是很快的。基於此,ZedGraph 提供了很重要的縮放和拖動功能,你可以通過鼠標滾輪進行方法,縮小圖表,可以通過鼠標中鍵來拖動,非常方便。

        對於類似股市的實時走勢,CPU 使用率等實時變化的數據,使用 ZedGraph 也可以很方便地作到。ZedGraph 在基於 PointPairList 作畫,所以你只要在 PointPairList 這個集合中添加新的數據,然後進行重畫就可以實現了,對於性能,上面說了,由於是直接使用 GDI+,性能是比較好的,我測過 400 個點是沒問題的。所以,ZedGraph 對於實時要求比較強的需求也是可以應對的。

        總結的來說,dotnetCHARTING 產出的圖表效果好,但是性能方面較差,對實時要求強的需求不適應。ZedGraph 開放原始碼,效果比起 dotnetCHARTING 差,但是性能好,能適應有實時要求的數據。

本文章轉貼於:http://blog.csai.cn/user1/17072/archives/2009/37706.html

七月 21

CrystalDiskInfo 快速瞭解硬碟的情形

軟體 沒有回應 »   瀏覽人數:[ 1,153user+1,336bot ]

這是一套綠色軟體,開放原始碼,免安裝,支援中文系統,CrystalDiskInfo 有助於我們瞭解目前電腦中工作的硬碟,健康情形如何,其實最主要我還是看「使用時間」的多少,來判定硬碟的狀況如何!

下載:CrystalDiskInfo 2.1.0

七月 16

Locate32 超強本地端檔案搜尋軟體

軟體 2 個回應 »   瀏覽人數:[ 2,807user+1,934bot ]

如果你有使用過 Linux 上的 Locate 搜尋功能,一定對此超快的檔案搜尋感到記憶深刻,Locate 的運作原理是在本機上建立一個索引檔,在找檔案的時候,參考此索引檔,所以才會很快,不過也有一個缺點,索引檔必須常更新,已確保找出來的檔案是正確的,在 Linux 上我們必須藉助 Script 、或排程來達成自動更新的效果。

現在Win32上也有類似的搜尋軟體,Locate32 它的原理,也是建立索引檔來搜尋,內見排程功能,可以設定自動更新。建議每天至少更新一次。

我們可以丟掉 Windows 內建的搜尋了。

官方下載:http://locate32.net/index.php

中文化下載:http://portable.easylife.tw/397

七月 16

Virtual Floppy Drive(虛擬軟碟機)

軟體 3 個回應 »   瀏覽人數:[ 9,620user+4,455bot ]

雖然軟碟機已經逐漸在PC上消失,但是在某些場合還是必須要用到,例如我最近遇到的問題,我報名丙級軟體設計,簡章附的資料必須在軟碟機中執行,搞的我一個頭兩個大,去買一個也不是,不用軟碟練習也不是。

幸好找到這一個 Virtual Floppy Drive(VFD虛擬軟碟機),可以在電腦上模擬一個A:磁碟機,可讀可寫,方便的很。

官方下載:http://chitchat.at.infoseek.co.jp/vmware/vfd.html

一、解開壓縮後執行,先切換到 Driver 頁面,在 Driver File 選擇目錄下的 vfd.sys,然後選擇 Install 安裝,接著點選 Start,虛擬裝置就開始運行了。

 

 

二、接著切換到 Driver0 頁面,點選上方的 Driver Letter 的 Change 按鈕,選擇裝置的代號,一般預設為 A 槽,按下 OK 選擇完成後,就可以在「我的電腦」裡,看見 3.5軟碟機(A:) 出現了。

  

 

三、建立磁碟機的映像檔,同樣在 Driver0 頁面,點選下方 Open/Create 按鈕,在開啟的新視窗中,點選 Create 按鈕,建立映像檔,這時候進入「3.5軟碟機(A:)」中,就可以存取檔案了。

六月 22

其實 WinForm 跟 WebForm 在連結資料庫方面其實差不了太多。

C#:
  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3.     //第一:連結SQL資料庫
  4.     string connstr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\test_Data.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True";
  5.     SqlConnection conn = new SqlConnection(connstr);
  6.     conn.Open();
  7.  
  8.     //第二:執行SQL指令
  9.     string sqlstr = "select * from test";
  10.     SqlCommand cmd = new SqlCommand(sqlstr,conn);
  11.  
  12.     SqlDataReader dr = cmd.ExecuteReader();
  13.  
  14.     //第三:印出資料
  15.     while (dr.Read())
  16.     {
  17.         Response.Write("文章編號:" + dr["id"] + "<br>");
  18.         Response.Write("日  期:" + dr["test_time"] + "<br>");
  19.         Response.Write("文章標題:" + dr["title"]);
  20.         Response.Write("<hr>");
  21.     }
  22.  
  23.     //第四:關閉連線
  24.     cmd.Cancel();
  25.     dr.Close();
  26.     conn.Close();
  27.     conn.Dispose();
  28. }

文章參考於:ASP.NET專題實務-適用C# 作者:周棟祥

六月 22

驗證 ASP.NET Web 網頁中的使用者輸入

程式 沒有回應 »   瀏覽人數:[ 1,541user+1,736bot ]

工具:RequiredFieldValidator
驗證:必要輸入項
說明:確保使用者不會略過輸入項目。如需詳細資訊,請參閱 HOW TO:驗證 ASP.NET 伺服器控制項的必要項目。

工具:CompareValidator
驗證:與某個值的比較
說明:使用比較運算子 (例如小於、等於、大於),將使用者輸入的值與常數值、另一個控制項的值,或特定資料型別做比較。如需詳細資訊,請參閱 HOW TO:比對特定值驗證 ASP.NET 伺服器控制項和 HOW TO:比對資料型別驗證 ASP.NET 伺服器控制項。

工具:RangeValidator
驗證:範圍檢查
說明:檢查使用者的輸入是否介於指定的上下限之間。您可以檢查成對的數字、英文字母字元和日期內的範圍。如需詳細資訊,請參閱 HOW TO:比對範圍值驗證 ASP.NET 伺服器控制項。

工具:RegularExpressionValidator
驗證:樣式比對
說明:檢查輸入是否符合規則運算式 (Regular Expression) 所定義的樣式。這類的驗證可讓您檢查字元 (例如電子郵件地址、電話號碼、郵遞區號等項目中的字元) 的預期順序。如需詳細資訊,請參閱 HOW TO:比對模式驗證 ASP.NET 伺服器控制項。

工具:CustomValidator
驗證:使用者定義
說明:使用您自己撰寫的邏輯驗證使用者的輸入。這類驗證可讓您檢查執行階段時衍生的值。如需詳細資訊,請參閱 HOW TO:使用 ASP.NET 伺服器控制項的自訂函式驗證HOW TO:比對資料庫值驗證 ASP.NET 伺服器控制項。


MSDN

六月 21

在 VS2005 工具列中增加 AJAX 擴充功能

程式 沒有回應 »   瀏覽人數:[ 1,138user+1,485bot ]

  在 VS20085 工具列中,AJAX 擴充功能這個選項是內建的,不過在 VS2005 中並沒有,現在坊間的書籍大多以 VS2008 為主,會常用到 AJAX 功能,不過如果不更換版本,在 VS2005 中也可以安裝 AJAX 擴充功能。你必須下載以下檔案(約1MB多)安裝完成後,AJAX 擴充功能就會出現了。

下載檔案:
ASP.NET AJAX 1.0

六月 20

[寫程式] 藝術?還是快速開發?

程式 2 個回應 »   瀏覽人數:[ 4,584user+1,786bot ]

  用 Visual Studio 久了會發現一個問題,就是會越來越依賴這個開發工具,因為它什麼都幫你處理好了,程式指令永遠只記得前面三個字母,因為VS有指令自動補齊,連接資料庫有精靈幫忙,管你是 MSSQL 還是 Access,全部按一按搞定,還順便幫你把 Insert、Update、Select、Delete…等 SQL 四大溝通指令寫好了,程式就這麼在拖拉、設定之間開發完成,有的甚至不用寫任何一行指令。

  以前我很排斥用精靈方式來寫程式,堅持一字一句 Key 出來,不過我發現這會花費很多時間,舉個例子來說好了,寫一個簡單的通訊錄,不包括建資料庫的時間,用傳統手 Key 方式,我大概要花上半天的時間,因為我要拉控制項、設定控制項名稱、寫資料庫連接、資料繫結、資料配接器的 Insert、Update、Select、Delete 四個屬性質、設定 BindSource 導覽列…等,寫完天都黑了。

  不過如果換成精靈模式寫,大概只要30分鐘就可以搞定,在產出力方面,精靈模式大勝,不過在程式靈活度、和可讀性來說,還是傳統手 Key 方式略勝一籌。

  站在公司的立場,當然希望程式設計師的產出力越多越好,有些小地方還是用拖拉的就好,藝術這種東西不能當飯吃,VS是一個很邪惡的東西,因為他讓新手認為寫程式是一件很簡單的東西,讓老手離不開它。

六月 19

C# string.Format輸出格式

程式 1 個回應 »   瀏覽人數:[ 23,305user+4,996bot ]
C#:
  1. 前面補0的數字字串
  2. String.Format("{0:0000}", 157); // 輸出 0157
  3.  
  4. 前後都補0的數字字串
  5. String.Format("{0:0000.0000}", 157.42); // 輸出 0157.4200
  6.  
  7. 3位數()加逗號
  8. (String.Format("{0:0,0}", 38560); // 輸出 38,560
  9.  
  10. 格式化電話號碼
  11. (String.Format("{0:(###) ###-####}", 8005551212); // 輸出 (800) 555-1212
  12.  
  13. 金額的表示
  14. (String.Format("{0:$#,##0.00;($#,##0.00);Zero}", 0); // 這個會顯示 Zero
  15. (String.Format("{0:$#,##0.00;($#,##0.00);Zero}", 1243.50); // 這個會顯示 $1,243.50

依照上面格式範例 ~ 套用到我的報表要呈現的欄位 ~ 如以下 ~

C#:
  1. private void DataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
  2.   {
  3.    if (e.Item.ItemIndex.ToString() != "-1")
  4.    {
  5.     e.Item.Cells[0].Text = string.Format("{0:#,0.0}",double.Parse(e.Item.Cells[3].Text.ToString()));
  6.    }
  7.   }

參考資料來源:
http://blog.stevex.net/index.php/string-formatting-in-csharp/

六月 18

伺服器應用程式無法使用
您嘗試在此 Web 伺服器上存取的 Web 應用程式目前無法使用。
請按 Web 瀏覽器中的 [重新整理] 按鈕,再試一次。

系統管理員注意:
Web 伺服器的應用程式事件記錄檔中的
錯誤訊息詳細說明了這項特定要求失敗原因。
請檢閱這個記錄項目,查看造成錯誤的原因為何。

終於找到
方法解決了~"~

http://blog.xuite.net/giin/blog/13640747

請直接到
[開始]→[執行]→輸入
[ C:\WINDOWS\Microsoft.Net\Framework\v2.0.50727\aspnet_regiis.exe -i ] 就行了

最後確認一下預設的IIS執行環境

IIS→預設網站→內容→ASP.NET→確認 版本2.0.50727

應該就OK了!!