【笨問題】Windows 8升級專業版及企業版
不得不承認我又耍笨了... 新買的VAIO T13內附已裝好所有驅動程式及VAIO 附屬軟體的Windows 8,由於少了Hyper-V及遠端桌面功能,我決定將它升級到MSDN訂閱提供的Windows 8 Enterprise版本。依過去經驗,要升級OS只需執行Windows安裝程式,就能從現有作業系統升級的選項,像這樣:正期待安裝程式施展魔法把我的Windows...
View Article為網頁加入多點觸控功能(IE10版)
之前曾以iPad為對象寫過為網頁加入多點觸控功能範例,如今支援觸控的Windows 8筆電在手,不改寫成IE10版怎能止癢?經過簡單研究,大致整理IE10與Safari/Chrome觸控事件差異如下:事件名稱不同,IE使用的不是touchstart、touchmove、touchend等名稱,而是MSPointerDown, MSPointerMove, MSPointerUp,...
View ArticleVS2012將不再支援Web Deployment Project
原本使用VS2010維護的專案,改用VS2012開啟時出現Web Deployment Project不相容的警示,爬文後發現,該跟這位VS2005起一路相隨的老朋友說再見了。有篇MSDN Blog詳細解釋了此一決策的"心路歷程"(參考: Plans regarding Website projects and Web Deployment...
View Article再談鋰電池保養: 吃半飽活得老
四年多前寫過一篇關於電池保養的迷思,當時老同事Ryan提問: SONY VAIO的NB在哪裡設定電量低於某設定值才開始充電啊? 如果沒的更改設定, 到底是管他三七二十一只要用電腦就插著外接電源, 還是應該充飽電就因該關閉電源改用電池電力直到耗盡呢?沒想到五年後緣起一場"手滑意外",忽然間我會回答這個問題了! XD 雖然遲了五年,還是要認真:在"VAIO控制中心/電源和電池"有個"電池保養"選項:...
View Article筆記-YouTube影片轉MP3(批次作業版)
不久前才知道有個馬拉松迷專屬的網路廣播節目 -- 跑步吧! 人生,主持人飛小魚每週邀請馬拉松界的聞人漫談跑馬點滴,分享訓練成長心得,以及踏上慢跑不歸路的心路歷程... 等。節目表上的來賓,幾乎網羅了我在賽道見過的各大社團名稱及名人: 百信建材、土慢、警愛跑、愛跑部、康軒、拖鞋俠、紅衣女郎......
View ArticleCODE-呼叫命令列程式並即時接收輸出
之前學過透過RedirectStandardOutput設定,可在.NET呼叫其他命令列程式並接收其顯示內容的技巧。這回則有額外需求,由於某個命令列轉檔工具執行耗時(可能長達數分鐘),故進行期間會持續輸出進度資訊讓使用者安心,但依以前StandardOutput.ReadToEnd()的做法,.NET呼叫端只能在數分鐘後一次取得全部顯示結果,無法即時掌握處理進度,使用者體驗大大扣分。研究之後,發現貼...
View Article【茶包射手日記】EPPlus 3.1.2 Bug Fixing
發現EPPlus 3.1.2版Bug一枚。開啟現有xlsx後,不做任何修改就儲存,再使用Excel開啟會出錯。例如以下範例:using (ExcelPackage p = new ExcelPackage(new FileInfo("通訊錄.xlsx"))) { p.Save(); }程式執行後使用Excel開啟重新儲存的通訊錄.xlsx檔案,會出現以下錯誤:Excel 在...
View Article【茶包射手日記】EPPlus無法開啟ReportViewer匯出xlsx檔
使用EPPlus 3.1.2開啟RDLC匯出的xlsx檔,讀取ExcelPackage.Workbook.Worksheets時發生錯誤:System.ArgumentNullException: Value cannot be null. Parameter name: String既然EPPlus是Open Source,照慣例 -- "Use the Source,...
View ArticleCoding4Fun - 點陣中文字型顯示
因緣巧合,最近剛好需要處理中文點陣字型。在DOS+倚天中文的古早年代,曾經用BASICA寫過解析倚天中文字型檔的程式,沒想到二十多年後居然還有機會重新回味,只是這回手上的兵器已由當年的BASICA小開山刀,換成C#加農砲,語言特性已不可同日而言、自己的程式技巧也遠比當年成熟,對照起來格外有趣。時代演進大大地改變了寫程式的方法,當年要自己瞎摸亂湊好一陣子才能拼湊出檔案規格,現在稍稍爬文就能找到網友的熱...
View Article【冷知識】處理句點或空白結尾的檔案及目錄
依據MSDN文件,檔名或目錄名稱不應以句點"."或空白結尾:Do not end a file or directory name with a space or a period. Although the underlying file system may support such names, the Windows shell and user interface does not....
View Article2012富邦台北馬拉松~
吃館子上餐廳,有時我們是為了傳說中會在舌頭上開舞會的美味、有時是衝著花小錢吃通海的超值爽快、還有些時候,我們在乎的只是用餐環境燈光美氣氛佳,至於料理是否味如嚼蠟? 一點也沒差。在我心目中,富邦台北馬拉松就是一場純跑氣氛的慢跑嘉年華,沒有超值的紀念排汗T、沒有令人驚豔的補給、沒有壯闊的山景、沒有清新的空氣、沒有濃郁的人情,但要比熱鬧比盛大到感染你每一根神經,這場肯定是每位跑馬人都該親身體驗一次的盛事!...
View Article控制EF的Transaction範圍
被問到在EF環境要如何控制將某些DB操作包含在Transaction範圍內、將某些排除在外? 整理成簡單範例方便說明。範例程式碼共有三段DB操作,第一段是寫入追蹤資訊到ActLog資料表、第二、三段則是各寫入一筆Player資料,為了模擬交易Rollback情境,故意讓兩筆Player的Primary Key相同。using System;using...
View Article【茶包射手日記】只涉及單一資料表的Deadlock
在我原本狹隘的SQL知識裡,Deadlock發生情境需要兩個Process A與B跟兩個Table X與Y搭配演出: A鎖定住X想更新Y,B鎖定Y等著要更新X,產生無解的僵持,再由SQL二者擇一選為犠牲者,令其失敗來成立另一個Process。直到最近處理一起Deadlock案例,才又長了見識。一個處理流水序號的Stored...
View Article【茶包射手日記】jQuery自動完成在IE7無法點選提示項目
網友Barry提問,網站套用jQuery AutoComplete Plugin,在IE7下無法用滑鼠點選結果項目,只能透過上下鍵移動選取。看來得用IE7重現及分析錯誤,此時最痛苦的莫過於沒有IE Dev Tools可用,少了+9雙手劍,只能丟石頭打怪好悲情呀~ 幸好,IE7還有個IE Dev Toolbar可用,拿支小匕首聊勝於無。在IE7上重現無法點選提示項目的情境,再開啟IE Dev...
View ArticleReportViewer Excel檔的考驗: EPPlus、NPOI與Open XML SDK
前陣子曾排除過一枚EPPlus處理ReportViewer匯出xlsx的Bug,繼續深入才發現事情遠比想像複雜: 表格式報表經ReportViewer匯出成Excel檔,透過EPPlus處理存檔後,用Excel開啟又再次爆出xl/styles.xml及xl/worksheets/sheet1.xml損壞訊息,經修復可讀取,但已原本的格式、顏色設定盡失。圖1...
View Article使用Open XML SDK保護工作表不被修改
在先前測試中,Open XML SDK是唯一挑戰ReportViewer匯出Excel檔修改成功的程式庫,手邊的下一步需求是要將工作表(Worksheet)設為不可修改。在Open XML SDK中,有個SheetProtection類別,將其加入xlsx的XML結構,就可向應用程式宣告該工作表允許或禁止的操作,例如:...
View Article令人驚豔的Excel程式庫 - ClosedXML
處理ReportViewer匯出檔的比武大會上,NPOI與EPPlus都敗下陣來,Open XML SDK雖然勝出,但在應用呼叫上繁瑣難搞,用起來總覺礙手礙腳。在研究Open XML SDK設定工作表保護的過程,發現新大陸 - 另一套Open Source的Excel程式庫,ClosedXML。簡單整理ClosedXML特色如下:程式庫很俏皮地命名為ClosedXML,事實它高度依賴Open XML...
View ArticleHacking樂無窮-為ReportViewer匯出PDF檔加上浮水印
接到一個頗富挑戰性的需求,Reporting Service或RDLC報表可匯出成Excel、PDF等檔案格式,對一般麻瓜型使用者而言,PDF唯讀,Excel則可修改,業務單位希望在拿到報表紙本時加以區分;換句話說,如果能讓PDF與Excel檔的列印結果有別,即可做為報表結果是否唯讀,有無被修改可能的依據。(姑且排除使用者設法修改PDF檔或將Excel仿製成PDF樣式的情境)...
View Article在Report Server安裝HttpModule
先前完成ReportViewer匯出PDF檔加蓋浮水印的把戲,想套用到SSRS(SQL Server Reporting Service)上,二者原理相近,差別在於SSRS使用的是"/ReportServer/ReportServer?rs:Command=Render&rs:Format=IMAGE&..."...
View Article