星期二, 4月 08, 2008

讓windows一安裝好即包含了最新的補丁(windows update)

好久以前使用純手工做了一張windows server 2003 自動安裝光盤,當時是使用純手工製作,自己寫inf,自己上到了微軟捉取每一份更新檔,進到cmd自己下更新整合指令。

最近因為要安裝簡體版的xp,因為安裝光盤裡並不包含sp2,所以下載的時間拉的很長,本想再使用純手工的方式更新.但發覺更新檔實在太多了,在查看了相關資料後,發覺其實可以使用工具協助製作光盤,簡化流程
1.自動下載windows update的程式 http://wud.jcarle.com/ , 透過該程式可以從網站上自動下載更新程式
2.整合光盤製作程式 nlite http://www.nliteos.com/ ,可以將更新程式整合到安裝source中
即可以輕易做好一張光盤

星期四, 4月 03, 2008

解決Visual Studio 2005 IDE 變的緩慢的問題

最近在逛connect時.發現一個項目 http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=105177

裡頭寫明了在VS2005 BETA版時,修正了一個進入DEBUG或是IDE操作變慢的狀況,雖然微軟已經回報了已解決,但這個問題從我接觸VS2005以來.一直困擾著我,看了幾個相關的提報,有提到當 C:\Documents and Settings\Administrator\Application Data\Microsoft\VisualStudio\8.0\windows.prf 這個檔案變大時,會造成IDE變慢

當我試著刪除此檔後,IDE果然變順了,不過另一位同事ALAN在他的電腦上刪除該檔,卻沒很明顯的加快.我猜想可能是他手沒洗.或是他的是桌機本身就比較快

若你有試了此方法.記得留言告知嚐試後的感覺~

星期一, 3月 03, 2008

使用微軟提供的免費工具,讓你可以清楚的明白電腦在忙什麼(svchost.exe)

在日常使用電腦中,常常會發生電腦的cpu使用率100%,但打開一看傻眼了,只看到svchost.exe使用率100%,根本無法得知是那一個程序在使用中。
使用Microsoft併購了Sysinternals提供的的免費軟體 Process Explorer即可以解決此一困擾,可以將所有資訊列的一清二楚

若需要更多好用的免費軟體,可以上到微軟依分類自行尋找使用。

星期三, 1月 23, 2008

資策會的學習課程

最近有朋友想到資策會進修,就詢問我之前在資策會進修時的一些課程規劃,跟他聊完後他覺得對於去上課是更有信心。
之前自己到資料會學習時,是選擇了中壢中心全日制,從一些基礎課程的上起,雖然有些課程在當時覺得並不是非常必要,但對於自己觀念的養成卻是無形的點積,到現在自己幫著同事上課培訓,發覺最難教的就是觀念,而在企業中常又沒有那麼多時間讓你去累積這些觀念,所以程式設計人才選用才會以本科生,或是有經驗的為主。

在逛資策會網站竟然發現自己結業進到企業後,老師要我寫的一篇感言"企業e化電子商務多階式技術養成班結訓學員感言"

星期一, 11月 19, 2007

安裝完AppLocale後Windows install(msiexec)變亂碼的解決方式

原來安裝AppLocale是為了解決簡繁軟體顯示的問題,但隨之而來的卻是之後新安裝的程式全都變成了亂碼,功能表、登錄檔等等‧此時重新安裝Windows Installer 也無法改變,最後試了網路上的一篇文章解救了熊
1.刪除 C:\WINDOWS\AppPatch\AppLoc.tmp
2.用notepad建立一個無內容檔案,將他存成 C:\WINDOWS\AppPatch\AppLoc.tmp
3.將此檔案設成唯讀

2009/03/16 有更新做法.請參考 安裝完AppLocale後Windows install Shield變亂碼的完美解決方法

星期三, 11月 07, 2007

Foreach Enum AND Localization Devexpress Controls

要將devexpress中文化其實並不難,只要透過指定一個對照表的類別給系統即可
例如 要將Grid中文化可以透過如下的做法
GridLocalizer.Active = new XtraGridLocalizationCHT();

class XtraGridLocalizationCHT : GridLocalizer {
public override string GetLocalizedString(GridStringId id) {
switch (id) {
case GridStringId.FileIsNotFoundError: return "檔案{0}沒有找到";
...
}}}

中文化產品的對照表如下
Product / access objectname
XtraEditors / StringId
XtraGrid / GridStringId
XtraNavBar / NavBarStringId
XtraPivotGrid / PivotGridStringId
XtraPrinting / PreviewStringId
XtraReports / ReportStringId
XtraScheduler / SchedulerStringId
XtraTreeList / TreeListStringId
XtraVerticalGrid /VGridStringId

而類別的定義若你的購買的devexpress是有包含source那可以由source中找.要不然你可以用程式自行來產生! 例如如下的語法可以產生id與顯示英文名稱的對照表,當你有有對照表後,你可以自行翻譯或是寫成程式產生器,不管日後版本怎麼變都可以保持在最新的狀態
foreach (int i in Enum.GetValues(typeof(GridStringId)))
{
MessageBox.Show(
Enum.Parse(typeof(GridStringId), i.ToString(), true).ToString()+" : "+
GridLocalizer.Active.GetLocalizedString((GridStringId)Enum.Parse(typeof(GridStringId), i.ToString(), true)).ToString() );
}

星期一, 8月 06, 2007

由SQL SERVER取資料時,去除某一日期欄位的時間

在處理部份報表時,常會希望把DateTime型態的時間去除,可用於下條件或群組,因為此一欄位可能要使用Sql語法過濾,所以最佳的情況是在語法端就處理掉

依照微軟知識庫的建議,在下sql語法時使用Convert語法,如 CONVERT(char(10), datetimefield, 111) ,但這樣子的做法很不好,因為變成了字串型來處理

較好的處理方式應是保留DateTime格式,此時可以考慮如下的語法 DATEADD(dd, 0, DATEDIFF(dd, 0, datetimefield))

那程式中即可輕易的應用此一欄位
...WHERE DATEADD(dd, 0, DATEDIFF(dd, 0, datetimefield)) = @PARAM ...

星期二, 6月 19, 2007

Today is my birthday..

端午節,台灣連休四天我也好想放假啊,無奈大陸不流行民俗節日放假。

今天是我農歷生日,讓我想起一段史記中的記事

「端午時值農曆五月,正是仲夏疫厲流行的季節,俗稱「惡月」而五月五日更是惡日之尤,除了忌「曝床薦席」外,甚至有「不舉五月子」的諺語。《史記》「孟嘗君列傳」就記載:"田嬰怒其母曰:「吾令若去此子,而敢生之,何也?」文頓首,因曰:「君所以不舉五月子者,何故?」嬰曰:「五月子者,長與戶齊,將不利其父母。」文曰:「人生受命於天乎?將受命於戶邪?」嬰默然。文曰:「必受命於天,君何憂焉。必受命於戶,則可高其戶耳,誰能至者!」嬰曰:「子休矣。」"

從小我就知道這個故事,當時對孟嘗君的機智很配服,也立志要當個聰明又出色的人@@.當然也謝謝爸媽.他們把家門弄得很高很高。

弄blog應也有1年多了,不知道大家對這個blog有什麼想法、建議?是否有文章幫了你的忙? 若有的話請跟我說吧..當成是我的生日禮物

星期五, 5月 25, 2007

DEBUG 模式下,中斷點失效,提示訊息 "The breakpoint will not currently be hit. No symbols have been loaded for this document"

我常使用的debug模式為,把程式執行起來,再用選單上的 debug/attatch to process,選擇自己要debug的應用程式,這樣子雖然無法享受所有vs2005 提供的所有debug功能,但反應速度是最快的!

有天,有支應用程式突然無法停在中斷點,斷點一直提示The breakpoint will not currently be hit. No symbols have been loaded for this document,明明以前都可以的,苦惱啊!!檢查了好久整個設定都對,最後發現是他attatch時的程式類型別別錯誤,一共有二種排除方式,在這提供其中一項

attatch to process時,點select選擇到對的應用程式類型,因為我的應用程式有使用到資料庫連結,所以我選擇了 managed code 跟 T-SQL Code,即排除了一定要由ide中點run 慢到讓人吐血的debug方式

星期三, 5月 23, 2007

學習.Net 最佳助手 .NET Framework SDK

.NET Framework SDK 是我認為接觸.Net必裝的一個套件,他不止包含了例子,也有一些文檔是學習.NET最佳參考手冊。

2.0 http://www.microsoft.com/downloads/details.aspx?FamilyID=fe6f2099-b7b4-4f47-a244-c96d69c35dec&displaylang=en

1.1 http://www.microsoft.com/downloads/details.aspx?FamilyID=9b3a2ca6-3647-4070-9f41-a333c6b9181d&displaylang=zh-tw

星期二, 5月 22, 2007

SQL2000 錯訊"訊息層級 16, 3628, 狀態 1: 使用者處理序中發生浮點例外。已取消目前的交易。"

最近在查閱一張表時,出現了異常的資料,該欄位明明是浮點數,但他出現的資料卻是"-1#xxx",若是使用該欄位排序,則會出現錯訊

查閱了文檔,說升級到了sp4即可以解決,但我的機器己經是sp4了,最後排除的方式為把資料匯出,再重新匯入即解決