-
透過程式直接將Text內容轉換成PDF的程式範例,寫來給其他組同事做為系統整合模組開發參考,順便PO文備忘。 要在.NET轉PDF,當然少不了大家都說讚的 iTextSharp ,程式很簡單,我還順手加了一個遇到"\f" (0x0C) Form Feed符號就強制換新頁的功能。 <%@ Page Language="C#" %> <%@ Import Namespace="iTextSharp.text" %> <...
-
正在從事 以休閒為目的Coding活動 時,忽然有個衝動想在C#中也用一下Javascript裡常用的setTimeout/clearTimeout。 setTimeout說穿了就是透過另一條Thread執行程式產生非同步效果,用.NET實作是小菜一碟,而我想挑戰的是如何用最簡潔的方法實作出來。 剛好這陣子陸續玩過 Action<T> and Func<T> 、 Closure in C# ,加上 研究Parallel.For() 時被迫反覆寫了十來次,現在已經練就信手就可掰出一段Thread配Lambda範例的境界...
-
每次都記不太住Javascript RegExp要怎麼做複雜的Replace(例如: 將比對相符的字串內容變成新置換文字的一部分,標題說的"將<x>換成<span class='x'>"就是典型案例),特別記錄一下供未來年老回憶之用。 我遇到的實際需求是想將Sharepoint查詢結果中的高亮註記<c1>, <c2>分別轉成<span class='hl1">, <span class...
-
網友 KENCHAO 問到" 好威的Parallel.For 可以用在.NET 3.5上"嗎? 微軟在Task Parallel Library CTP版本時代 ,曾提供過相容於.NET 3.5的Microsoft Parallel Extensions for .NET Framework 3.5。但找了一下,官方似乎已不再提供該版本的下載... 但是別氣餒,依據MS Parallel Programming RD小組在2009年11月的PO文,有一個來自個 DevLabs...
-
在Windows 7使用Virtual PC VM時發現一個嚴重問題,當透過網路分享方式存取VM分享資料夾時,傳輸速度慢到嚇人! 例如: 我的Windows 7上有台Virtual PC VM(IP = 192.168.1.15),當從Windows 7的C:\Softeware Copy檔案到\ \192.168.1.15\Downloads 時,速度暴慢,始終維持在16KB/s以下... Windows 7與Virtual PC分明共用一張100M Ehternet網卡,卻只能用到128k,會不會太扯了一點...
-
最近在整合Sharepoint的 Search.asmx 做客製化,一路上波折不斷。 很幸運地,找到一個好用的Open Source查詢工具-- Sharepoint Search Sevice Tool ,可以提供Scope、欄位資訊,用勾選就可以自動組出Query XML,按鈕後馬上看結果。複雜的Sharepoint Search瞬間被簡化,讓我這個新手在最短的時間可以進入狀況,真是勝造七級浮屠的聖品! (面對全然陌生的技術議題,當你手上有一個可以RUN的Sample,那種安全感無可言喻啊!...
-
之前寫過 將CSV檔案內容轉換成ADO.NET DataTable物件 ,今天的需求剛好反過來,要將DataTable的內容匯出成CSV,邏輯上簡單許多,但還是PO文一篇,下回需要時比較好找。 static string Quoted( string v) { return "\"" + v.Replace( @"" "" , @"" "" "" ) + "...
-
上回有討論過 Excel開啟CSV時的中文編碼問題 ,今天發現關於.NET處理 BOM 的幾個特性,再補充三則筆記: 雖然預設UTF8Encoding的 encoderShouldEmitUTF8Identifier 參數預設為true,但GetBytes()的結果不會包含BOM File.WriteAllText與StreamWriter在沒有指定Encoding.UTF8時,會產出UTF-8編碼但沒有BOM的檔案 以下的範例中,只有F2.csv、F4.csv可以正確被Excel開啟,原因請見...
-
這問題之前曾遇過幾次,但處理得有些含糊,這回特別做了測試釐清。 【疑問】 要用NetworkCredential設定存取身份時,網域帳號可否寫成"domainName\userName",例如: new NetworkCredential("domainName\\userName", "password") ? 不知為什麼,我一直記得這樣寫是可行的(也許因為Windows的登入視窗,可以選擇domainName\userName或將domainName寫到第三個欄位吧...
-
有個網頁在某欄位的change事件掛了一段邏輯,依輸入內容連動其他欄位值。使用者抱怨上個月第一次使用完全正常,這個月再用時,在該欄位中輸入資料,其他欄位卻未跟著連動... 我用自己的Client連到同一網頁,跟User輸入同樣的值,一切正常。移駕到使用者座位,使用"肇事"機器實地操作,連動功能也完全正常! 莫非,這程式會認主人,只要遇到拎杯親自操作就不敢造次? 世界上有很多無法解釋的玄妙事件,但本案例並不包含在內。依茶包射手實戰手冊第748頁的記載,此種靈異現象 通常是User與Developer在操作上有細微差異才造成不同結果...
-
自從有了DSLR胡亂玩了好些年,也不乏曾為追逐天晴大景背著沈重相機搶登山巔, 總以為要有好照片少不了景好技術佳加上老天賞臉, 直到前幾天,用老爺CASIO相機拍下這張半糊的照片, 我才驀然發現, 其實,照片是否引起悸動挑動心絃,無關乎構圖快門或光圈... 幫兒子洗澡時,他好奇地摸著自己的"蛋蛋"誠心發問: 這個是做什麼用的呀? 鄉親吶~~~ 在黑暗浴室臨時舉辦的【 百萬小學堂 】,關於這道【 大班 自然與生活科技】問題,你會怎麼回答呢? (計分標準: 需以五歲小朋友可以理解的語言傳達正確知識...
-
開發程式時偵錯的需求,想確認預期的事件函數是否已正確bind到元素上? 直覺想法是去查詢jQuery內部物件,列出已經掛載的事件函數。追了一下原始程式,發現jQuery會把各元素的事件保存在jQuery.data(elem, "events"),而events裡又會為不同事件(例如: click, dblclick, load)各宣告一個handlers,放入events[eventType];由於我們可以對同一事件宣告多個事件函數,因此handlers中會以handlers...
-
在 前一篇文章 裡,我們驗證了為每個CPU Core開一條獨立Thread並事先分攤好計算工作,可以讓巨量Log10計算程式飆出最高效能! 但是,仔細看看程式碼: int WORKER_COUNT = 2; Thread[] workers = new Thread[WORKER_COUNT]; int jobsCountPerWorker = MAX_COUNT / WORKER_COUNT; for ( int i = 0; i < WORKER_COUNT; i++) { int st...
-
最近工作上遇到需要客製Sharepoint查詢的需求,這篇主要是研究過程的隨手筆記,避免明天一覺醒來忘到一乾二淨。由於內容較雜亂無章,請讀者自行斟酌是否要直接略過。 文件: MOSS 2007 Custom Search 先考慮用現成Search,可以節省大把時間。SPS2007已經比SPS2003先進方便很多--Business Data Content(BDC)。 真需客製時可用 Microsoft.Office.Server.Search.Query 建立WebPart 跨系統搜索(例如:...
-
在 前一篇多核研討文章 中,用了一個計算1000萬次Log10運算的範例驗證Thread數與Core相同時可以達到最佳效能,網友Google質疑以Log10計算當範例是否用能代表"以運算為主的大量作業",在此做點補充說明。 我想若以茶包射手實事求是的精神,"以運算為主的大量作業"這個命題是有問題的,應該要修正成"不涉及非CPU資源競爭的大量純運算作業"更貼近原意。用白話來解釋,這裡假設的前題是---有一大堆運算工作要處理,每件運算工作彼此獨立可以同時進行...