2010-08-14 09:23 AM 19 56,190
有個點子,想在WinForm上跑程式模擬出Web Server功能,讓Browser或程式可以透過HTTP協定與其溝通。既然想到,就動手做看看囉! HTTP Server絕大部分的核心功能,其實都可用.NET搞定: 用TcpListener接受特定Port連入的TCP連線,取得NetworkS...
2010-06-29 09:01 AM 2 11,228
網友山姆先生問了一個有趣問題: 如何在Excel插入(或複製貼上)時將圖片反黑,因為經常會複製一些類似Dos的黑底白字畫面,列印時相當浪費印表機碳粉,很不環保... 這個需求其實不少螢幕擷取工具已內建了現成功能,例如: SnagIt 雖然已有工具,但畢竟還是要幾個操作步驟才能搞定。想了一...
2010-06-19 01:30 PM 6 29,219
想當年在初學C#時,知道C#有unsafe這種東西,可以解開.NET對指標(Pointer)的封印,允許像C語言一樣透過指標直接存取記憶體。對C語言沒有深厚基礎的我,模糊地知道直接存取記憶體效能較佳,卻不很是清楚它的應用時機。最近胡亂玩了一些視覺元素識別的題目,參考一些圖形運算前輩的範例程式,才...
2010-06-17 04:00 PM 1 7,978
試著用以下程式將一個有實作INotifyPropertyChanged介面的物件序列化: BinaryFormatter bf = new BinaryFormatter();MemoryStream ms = new MemoryStream();bf.Serialize(ms, s); ...
2010-05-14 09:49 AM 2 40,303
印象中有看過微軟未來將不再建議使用System.Data.OracleClient,昨天無意翻到正式宣告文,特別PO文整理一下。 主要考量是有很大比例的使用者,實務上用的都是夥伴廠商提供的ADO.NET Provider,一方面是配合Oracle改版的更新腳步較快,能較快用到資料庫的新功能,另...
2010-04-23 10:01 PM 2 9,142
最近因為伺服器時間不同步,造成資料庫記錄時間基準不一,形成困擾。 理論上同一Domain下的主機都應會自動同步時間,但實務上偶爾就是會有出鎚的狀況。為了能快速掌握時間誤,我寫了以下的工具,可自動比對多台主機時間,將之整理成一張網頁報告,以便能快速找出伺服器時間不同步的問題。最終產出如下: 程式的...
2010-04-16 03:56 PM 1 28,962
最近寫程式遇到的C#基本觀念問題--物件比對,原本信仰不夠堅定,就被唬住了。 特別整理一份隨堂考題給大家溫故知新,也順便確認自己信仰正確,意志堅定。 請使用大腦編譯並執行以下程式碼,回答其中10題比對測試的結果: using System; namespace ConsoleAppli...
2010-03-25 09:00 PM 0 10,863
今天意外發現,LINQ to SQL在轉譯CHAR(1)欄位比對時,可能因寫法不同而產生極無效率的SQL指令! 當資料表的欄位為CHAR(1)時,在DataContext裡產生的對應物件型別是char,而我們直覺上可能寫成CharCol == 'A'的比對條件。但今天發現一件可怕的事... Ch...
2010-03-24 09:44 AM 1 8,554
前天寫了一篇 非同步方法之同步化及逾時機制,與chicken大人討論程式碼中Polling的部分(指每隔一段時間檢查一次結果的輪詢寫法),固然邏輯簡單,但效率與精確度不優,但若被呼叫的元件本身不提供"完成後主動通知"的機制,Polling雖然討厭,卻也無法避免! 若被呼叫端...
2010-03-22 09:24 PM 4 9,377
今天遇到的小需求: 有個元件函數以非同步方式執行,透過旗標變數表示執行狀態,我想在Console Application中以同步方式呼叫該函數,等待其執行完畢程式就結束,但要有逾時中止的功能。 非同步函數的例子如以下範例中的AsyncJobClass.DoAsyncWork(),它會以另開執行緒方...
2010-03-11 11:11 PM 1 7,548
今天有個需求,要將某目錄下的圖檔清單轉成Javascript字串陣列,以方便網頁處理。例如: B:\100311\目錄下有F1.gif, F2.gif, F3.gif三個圖檔,便要產出var data = ["F1.gif","F2.gif","F3.gif"];,心血來潮,分別列出傳統組字串寫法...
2010-03-05 09:30 PM 6 12,883
The primary new feature of Ver 1.4 is batch mode! Now you can run Mini C# Lab program as a scheduled task, no UI interactivity is needed. Here are so...
2010-03-02 01:39 AM 17 21,841
在設計查詢介面時,下拉式選單是很常見的條件選取方式,而往往我們都會再加上一個"不限條件"選項,允許使用者不限制條件,列出所有項頁。舉例來說: 在設定查詢地區的下拉選單(例如: ddlArea),除了列出基隆市、台北市、台北縣、桃園縣...等各縣市Option外,常會再多一個"所有地區"選項,將Op...
2010-02-17 01:20 PM 3 16,498
找資料時發現GC.GetTotalMemory()這個方法,看到有些人用它來測量記憶體使用狀況,我也好奇玩了一下,包成一個MemWatch Class(比照Stopwatch的概念): //簡易版的記憶體用量觀察工具 // 透過觀察Managed Heap的總使...
2010-02-09 05:12 PM 5 21,607
透過程式直接將Text內容轉換成PDF的程式範例,寫來給其他組同事做為系統整合模組開發參考,順便PO文備忘。 要在.NET轉PDF,當然少不了大家都說讚的iTextSharp,程式很簡單,我還順手加了一個遇到"\f" (0x0C) Form Feed符號就強制換新頁的功能。 <%@ Pa...
2010-02-07 11:44 AM 3 23,961
正在從事以休閒為目的Coding活動時,忽然有個衝動想在C#中也用一下Javascript裡常用的setTimeout/clearTimeout。 setTimeout說穿了就是透過另一條Thread執行程式產生非同步效果,用.NET實作是小菜一碟,而我想挑戰的是如何用最簡潔的方法實作出來。 ...