Category: CODE

前天寫了一篇 非同步方法之同步化及逾時機制,與chicken大人討論程式碼中Polling的部分(指每隔一段時間檢查一次結果的輪詢寫法),固然邏輯簡單,但效率與精確度不優,但若被呼叫的元件本身不提供"完成後主動通知"的機制,Polling雖然討厭,卻也無法避免! 若被呼叫端...

今天遇到的小需求: 有個元件函數以非同步方式執行,透過旗標變數表示執行狀態,我想在Console Application中以同步方式呼叫該函數,等待其執行完畢程式就結束,但要有逾時中止的功能。 非同步函數的例子如以下範例中的AsyncJobClass.DoAsyncWork(),它會以另開執行緒方...

Excel/Word VBA寫過不少,頭一次寫PowerPoint VBA,拿出來分享一下。 同事跟我分享了多年來的收藏--一大堆精美華麗的投影片範例,需要對長官高層做簡報時,找相近的改一改,唬人效果十足。不過一百多個PPT檔案每個都只有一張投影片(因為背景、樣版不同,難以合併),瀏覽起來頗為麻煩...

上回提過因使用IE自動完成造成onchange事件不被觸發的問題,著實帶來一些困擾,不少User抱怨系統掛在onchange事件的欄位連動功能失效。雖然User漸漸都已學會在這些欄位使用手工輸入,不要依賴IE自動完成帶入結果就可以避開問題,抱怨日少。不過我想從網頁設定上去停用autocomplet...

對我來說,Javascript在處理CSS上一直有一個小困擾... 一般在習慣上,為了方便開發人員修改,多半會將Style設定獨立放在.css檔案裡,應用者可視需要覆寫或修改之。但有蠻多時候,應用者根本不打算更動CSS內容,只想直接沿用預設CSS設定,但部署時還是少不了要Copy相對應的.css檔...

專案有個需求,要在網頁上呈現多間會議室一天的使用登記狀況。'傳統思維"可能會傾向用Table <td>模擬出時段區塊,然後將預約起迄時間範圍內的<td>用colspan併成一塊。不過如果要做到登記時間以10分鐘為單位,意味著每個小時要切割成6個<td>,即便沒...

透過程式直接將Text內容轉換成PDF的程式範例,寫來給其他組同事做為系統整合模組開發參考,順便PO文備忘。 要在.NET轉PDF,當然少不了大家都說讚的iTextSharp,程式很簡單,我還順手加了一個遇到"\f" (0x0C) Form Feed符號就強制換新頁的功能。 <%@ Pa...

之前寫過將CSV檔案內容轉換成ADO.NET DataTable物件,今天的需求剛好反過來,要將DataTable的內容匯出成CSV,邏輯上簡單許多,但還是PO文一篇,下回需要時比較好找。 static string Quoted(string v) { return "\"" + v.R...

開發程式時偵錯的需求,想確認預期的事件函數是否已正確bind到元素上? 直覺想法是去查詢jQuery內部物件,列出已經掛載的事件函數。追了一下原始程式,發現jQuery會把各元素的事件保存在jQuery.data(elem, "events"),而events裡又會為不同事件(例如: click...

寫程式這麼多年,第一次遇到要在FTP Server搬檔案的需求,特此PO文一篇留念。 原本很擔心我大戰FTP的得力助手--FtpWebRequest不支援這個較少見的需求,看了一下WebRequestMethods.Ftp,還真沒看到Move、MoveFolder之類的項目。且慢,原來這裡有一個隱...

手上有個需求,要掌握網頁裡所有連結被點擊的狀況。 對jQuery來說這是小菜一碟,利用$("a").live("click", function() { ... });就可在使用者點擊連結時加入自訂邏輯。不過,有挑戰性的部分在於網頁中可能穿插IFrame內嵌其他網頁,原本這個手腳只想動在Maste...

前幾天同事討論到要將地址資料中的阿拉伯數字都轉成中文大寫(一二三四...),我想起了前些時候看到的Microsoft Visual Studio International Feature Pack 2.0就內建了數字轉中文大寫的功能,試作如下。 程式主要是用Regex去比對出數字(\d+)的...

小小的範例程式。 手上有個排程定期執行的程式(為了做到執行時不顯示Console視窗,我選擇做成Window Form專案,再讓Form1隱形[補充2009-12-04: 此處用Form1是因為我還是寫了一個方便開發測試Debbug專用的UI,事實上連Form1可以不用建立,直接執行必要的邏輯...

我恨透了XML的Namespace, 尤其是xmlns這種預設Namespace。 每次寫Code處理這段都要東查西抄才能搞定,最慘的是連怎麼弄出來自己也模模糊糊。再不然就是走偏門,抓到OuterXML Replace掉xmlns="..."後重新LoadXml,當作沒有Namespace這回事(...

91哥在留言裡出了個jQuery考題: 清單的項目有1,2,3,4,5,單選上下都沒問題了。 多選OK的情況: (A) 選了2,3,按上,清單會變成2,3,1,4,5。 (B) 選了1,3,按上,清單會變成1,3,2,4,5。 (C) 選了2,5,按上,清單會變成2,1,3,5,4。 ...