Category: code

之前學過透過RedirectStandardOutput設定,可在.NET呼叫其他命令列程式並接收其顯示內容的技巧。這回則有額外需求,由於某個命令列轉檔工具執行耗時(可能長達數分鐘),故進行期間會持續輸出進度資訊讓使用者安心,但依以前StandardOutput.ReadToEnd()的做法,....

一開始,我只是為了某個Knockout程式範例,打算花十分鐘把3+2郵遞區號XML轉檔程式稍做整理,改寫成輸出3碼資料JSON而已,沒想到魔鬼都在細節裡,資料裡幾則特殊案例,搞得我手忙腳亂汗水直滴,最後花了一個半小時才達成目的,驗證傳說中"工程師預估的時程根本是放屁只能純參考"所言不虛... ...

分享一下最近學會的序列化壓縮技巧。 情境如下,查詢資料庫後取得List<User>物件,打算透過序列化成檔案的方式保存,方便日後能快速還原回List<User>查詢比對,以達到離線使用的目標。 在.NET要玩序列化不過是小事一樁,只要針對類別建構出DataContra...

前陣子發表 【潛盾機】將檔案結構匯成Excel文件,從網友佑翔的留言(特此感謝),認識了一顆被我錯過的l好元件 -- EPPlus! NPOI源於POI,在很多介面設計上,帶點Java的觀點與風格,雖然能實現各項Excel操作,但函數介面及呼叫步驟,總讓.NET老鳥感覺不順手,就像用筷子吃手扒...

昨天提到使用TaiwanLunisolarCalendar類別取得農曆日期,經網友風箏提醒,針對閏月要額外處理,於是一不做二不休整理成以下範例,順道把天干地支、生肖也一起加進去,還很假掰貼心地套用初一、初二等慣用語,程式碼分享給有需要的朋友參考。 using System; ...

昨天小談了固定欄寬資料檔解析程式的寫法,有人問到解析之餘要如何產生固定欄寬資料,並提了一些常見但有點機車的需求,例如: 針對數字欄位要能指定數值靠右左方補零(不知為什麼,某些"阿公"很愛用這種不補空白要補零的規格,每次要肉眼除錯時,十來個數字欄位夾雜零零相連到天邊,數位置數到...

跟傳統系統打交道時,XML、JSON等格式多半無用武之地,往往得透過"固定欄寬資料格式"進行資料交換。 在撰寫程式解析固定欄寬資料時,有幾點注意事項: 欄位寬度計算與中文編碼有關,實務上使用BIG5編碼還是大宗(阿公級系統很少能支援Unicode)。 BIG...

自從經前輩醍糊灌頂,學會"未分配數量 * (權重 / 尚未分配權重總和)"一次到位的無尾差分贓演算法後,開心地用了好幾年,後來更演化出LINQ進化版,從此在.NET中要分贓算錢如虎添翼! 幾年下來,未曾得接獲於此演算法的缺點回饋,於是它在我心中一直維持完美無瑕的女神形象! 直到最近一個極端例子讓我...

TextWriterTraceListener可將Trace機制輸出內容保存於檔案,便於存證、追蹤及偵錯,而Trace機制普遍應用於不少微軟產品或平台中,像是WCF Tracing,即可透過config設定將執行過程的追蹤資訊寫成檔案。 例如: 在WCF所在的web.config加入以下設定後...

RadControls for ASP.NET AJAX是一套挺優秀的ASP.NET元件庫,包辦了開發ASP.NET專案時需要用到的大小控制項(如: Grid、日期選擇器、數字輸入欄位、頁籤... 等等),手上有幾個專案裡就是利用RadGrid的Client-Side Data-Binding實...

兩年前曾在一個小專案實作過"利用方向鍵切換<INPUT>輸入焦點",當時留了一個小尾巴: 若直接攔截左、右鍵切換焦點,輸入文字時會喪失用左右鍵移動游標的功能,有違使用者的操作預期,因此實際上線時只保留了上下切換,左右移動部分仍得依賴Tab及Shift-Tab。 ...

收到需求: 針對大小寫有別的網頁密碼欄,因使用者無法看到其所輸入字元,希望操作介面能比照Windows,在使用者按下大寫鎖定鍵(Caps Lock)時發出提醒,減少誤按導致大小寫相反的狀況。 JavaScript的按鍵事件並未提供大寫鍵資訊,要判斷得繞點路,我想到的簡便做法是透過Shift鍵旗...

前幾天看到小閃光帶回只考30分的英文聽寫測驗卷,大驚! 才發現這小妮子從來不記單字,就算英文字有聽懂,卻只靠發音猜字母,有些胡亂湊出來的組合讓人好氣又好笑。再一次,這又讓做爹的無法再坐視不管,決定採取行動強行介入。 初步構想是寫一個網頁,配合字彙庫,動態出題(用克漏字或語音提示),讓小閃光在平...

寫了個類似Proxy功能的小程式,接受遠端過來的連線,從NetworkStream讀取指令,執行作業後將結果透過NetworkStream傳回去,達到Proxy的效果。 我用個簡化版範例示意,為了方便直接使用telnet測試,程式會接收NetworkStream傳來的內容解讀為文字,並以換行符...

前陣子開發系統時,常在抓OracleCommand的執行期錯誤,有時是SQL語法寫錯,有時是參數數目不符,有時則是參數值給錯... (列原因寫到自己都汗顏,寫程式明明就要心思細膩,我的心思... 應該粗如電線桿吧?) 雖然VS2010在偵錯階段提供了很強的物件檢視功能,能逐一檢視物件的每個屬性...

需要將URL中的某個QueryString參數移除的函數,例如: 原本是httq://www.com/a.aspx?a=1&b=2&c=3,將b移除後要變成httq://www.com/a.aspx?a=1&c=3,分別用Regex及ParseQueryString試寫,...