Browse by Tags
All Tags
»
CODE
(
RSS
)
.NET
AJAX
ASP.NET
Excel
IE
Javascript
jQuery
Linq
Open XML
ORACLE
Silverlight
SQL 2005
SQL 2008
Tips
VS2010
中文編碼
CODE-將匿名型別陣列匯成CSV
工作的專案有個小需求,使用者羅列了一堆報表匯出需求,基上都是從現存LINQ資料集合以不同條件取出不同欄位。 我想到最簡便的做法是套用Where()查詢,依需求產生匿名型別 Select(o => new { 欄位1 = o.PropA, 欄位2 = o.PropB, 欄位3 = o.PropC … }) 連欄位名稱都隨使用者指定,最後再將查詢結果轉為CSV,幾個步驟就搞定一項報表需求...
【答客問】耗時Stored Procedure的ASP.NET Postback進度回報寫法
【問題】 在 耗時ASP.NET Postback的傻瓜進度回報 一文,雖然示範了跑迴圈定期呼叫ReportProgress委派傳回進度的貼心做法,實務上卻難以實現,例如: 某個Stored Procedure要跑一分鐘,在IDbCommand.ExecuteNonQuery()執行結束前,根本什麼都不能做,又如何能定期丟進度給前端? les.Execute( sender as Button, (rp) => { //模擬執行很耗時的作業 for ( int i = 0; i < 5;...
【答客問】信件標題解碼範例
網友 提問 ,希望了解 中文編碼解析工具 關於信件標題(如=?x-gbk?q?=B5=C4=B7=AD=D2=EB?=)的解碼邏輯,特整理為程式範例並加註說明如下: using System; using System.Text; using System.Text.RegularExpressions; using System.Web; namespace ConsoleApplication1 { class Program { static void Main( string...
CODE-自動產生程式碼時將System.Int32轉為int
這是我在寫程式碼產生器常遇到的小困擾。例如: 當透過Reflection偵測型別轉成屬性型別宣告時,typeof(T).ToString()會產生如"System.String"的完整型別名稱,故不時會出現如下的產出結果: public class Player { public System.String Name { get; set; } public System.Int32 Score { get; set; } ....略.... 有沒有覺得程式碼裡充滿System...
CODE-縮短版GUID字串
頗特殊的需求: 一個跨平台整合在傳遞以GUID為Primary Key資料時,對方的參數欄位只接受最長30個字元,即使使用16進位數字表示法(例如: 4854c292c333480890f916d1a062b8e3),GUID字串也長達32字元,超出限制。另外想一種不會重複的識別編號法則是種解法,但要做到GUID等級的唯一性得付出不少代價。因此,另一個思考方向是如何用較短的字串長度表示GUID,評估是較省力的做法。 要比16進位表示法更簡短,最簡便的做法是將其GUID先轉為byte[],再用Base64編碼轉為字串...
防止程式同時執行多份,比檢查Process清單更好的方法
在某些情境下,我們需要限制同一支程式同時間只能執行一份,很直覺的想法是檢查Process清單,由程式名稱在清單中出現一次以上來判斷是否已有同名程式在執行。這個做法直覺有效,在大部分情境也適用,甚至在CodeProject上也不乏類似" 教學範例 ",很自然地,這也一度是我愛用過的解法(誰沒有過去呢?);但是,檢查Process清單並非是最簡潔嚴謹的做法。(前述CodeProject文章的評比只有一顆星,留言中不乏負評,這故事告訴我們,爬文時莫急莫慌,至少先看看鄉民怎麼說再決定要不要抄...
使用Open XML SDK保護工作表不被修改
在先前 測試 中,Open XML SDK是唯一挑戰ReportViewer匯出Excel檔修改成功的程式庫,手邊的下一步需求是要將工作表(Worksheet)設為不可修改。 在Open XML SDK中,有個 SheetProtection 類別,將其加入xlsx的XML結構,就可向應用程式宣告該工作表允許或禁止的操作,例如: 刪除欄(deleteColumns)、重設儲存格格式(formatCells)、插入列(insertRow)... 等等。在SheetProctection設定可以指定解除鎖定的密碼雜湊值...
CODE-呼叫命令列程式並即時接收輸出
之前 學過 透過RedirectStandardOutput設定,可在.NET呼叫其他命令列程式並接收其顯示內容的技巧。這回則有額外需求,由於某個命令列轉檔工具執行耗時(可能長達數分鐘),故進行期間會持續輸出進度資訊讓使用者安心,但依以前StandardOutput.ReadToEnd()的做法,.NET呼叫端只能在數分鐘後一次取得全部顯示結果,無法即時掌握處理進度,使用者體驗大大扣分。 研究之後,發現貼心的.NET BCL早有因應對策: OutputDataReceived ! 做法是先在Process...
5碼郵遞區號轉3碼JSON,一場LINQ花式操槍表演
一開始,我只是為了某個Knockout程式範例,打算花十分鐘把 3+2郵遞區號XML轉檔程式 稍做整理,改寫成輸出3碼資料JSON而已,沒想到魔鬼都在細節裡,資料裡幾則特殊案例,搞得我手忙腳亂汗水直滴,最後花了一個半小時才達成目的,驗證傳說中"工程師預估的時程 根本是放屁 只能純參考"所言不虛... 故事是這樣的,中華郵政網站可以 下載 3碼郵遞區號表(Text、Word及Excel格式)及3+2碼郵遞區號資料檔(Text, Excel, XML),要用程式處理,XML顯然是較佳的資料來源...
物件序列化之舉手之勞省空間
分享一下最近學會的序列化壓縮技巧。 情境如下,查詢資料庫後取得List<User>物件,打算透過序列化成檔案的方式保存,方便日後能快速還原回List<User>查詢比對,以達到離線使用的目標。 在.NET要玩序列化不過是小事一樁,只要針對類別建構出DataContractSerializer物件,再搭配FileStream,一個SerializeObject()指令就能將物件儲存成檔案,還原時也只要一個Read()指令就搞定,十分方便。 以下程式模擬了一個20萬筆資料的巨型集合物件...
比NPOI更討喜的Excel元件-EPPlus!
前陣子發表 【潛盾機】將檔案結構匯成Excel文件 ,從網友佑翔的留言(特此感謝),認識了一顆被我錯過的l好元件 -- EPPlus ! NPOI源於 POI ,在很多介面設計上,帶點Java的觀點與風格,雖然能實現各項Excel操作,但函數介面及呼叫步驟,總讓.NET老鳥感覺不順手,就像用筷子吃手扒雞一樣彆扭。例如: 要寫入文字到新的Cell,必須先CreateRow(),再CreateCell(),而不像在Excel VBA透過.Cells(rowIndex, colIndex)一次到位。 LinqToExcel...
CODE-顯示農曆日期
昨天提到 使用TaiwanLunisolarCalendar類別取得農曆日期 ,經網友風箏提醒,針對閏月要額外處理,於是一不做二不休整理成以下範例,順道把天干地支、生肖也一起加進去,還很 假掰 貼心地套用初一、初二等慣用語,程式碼分享給有需要的朋友參考。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Globalization; namespace...
TIPS-製作固定欄寬資料檔
昨天小談了 固定欄寬資料檔解析 程式的寫法,有人問到解析之餘要如何產生固定欄寬資料,並提了一些常見 但有點機車 的需求,例如: 針對數字欄位要能指定數值靠右左方補零(不知為什麼,某些"阿公"很愛用這種不補空白要補零的規格,每次要肉眼除錯時,十來個數字欄位夾雜零零相連到天邊,數位置數到眼睛都快出血了)、文字過長要能自動截切,還要避免切成半個中文字... 禁不住這團機車小需求的刺激,忽然一陣熱血衝腦... 待神智恢復時,發現自己端坐在電腦前,VS2010開啟中的專案有一段小程式....
TIPS-固定欄寬資料檔的解析
跟傳統系統打交道時,XML、JSON等格式多半無用武之地,往往得透過"固定欄寬資料格式"進行資料交換。 在撰寫程式解析固定欄寬資料時,有幾點注意事項: 欄位寬度計算與中文編碼有關,實務上使用BIG5編碼還是大宗(阿公級系統很少能支援Unicode)。 BIG5編碼中,半形英數字佔一個Byte,全形符號及中文佔兩個Byte,欄寬規格書中CHAR(n),n多指Bytes,所以計算長度時,需把握中文算2或英數字算1的原則。 建議不要再用比對第一個Byte ASCII的方法自己判別全半形...
無尾差分贓法崩壞記
自從經前輩醍糊灌頂,學會"未分配數量 * (權重 / 尚未分配權重總和)"一次到位的 無尾差分贓演算法 後,開心地用了好幾年,後來更演化出 LINQ進化版 ,從此在.NET中要分贓算錢如虎添翼! 幾年下來,未曾得接獲於此演算法的缺點回饋,於是它在我心中一直維持完美無瑕的女神形象! 直到最近一個極端例子讓我的女神當場崩壞,猶如無意瞥見林志玲摳腳挖鼻孔般讓人心碎與震撼~~ 用一個例子重現問題: 巴菲特跟10個散戶合資買基金,散戶每人出100元,巴菲特出資100萬,基金單位淨值9.5元...
更多文章
下一頁 »
搜尋
Go
<
May 2013
>
Sun
Mon
Tue
Wed
Thu
Fri
Sat
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
【工商服務】
OrcsWeb: Windows Server Hosting
最新回應
2013-05-25 Double X
TIPS-Visual Studio在Windows 8無法使用【Ctrl+.】快捷鍵
請問黑暗大知道要如何強制中文輸入法輸入中文嗎? 在SQL Management或是IE的網址列...
2013-05-22 Jeffrey
jQuery ready vs load
to Jerry, 如果Code只能加在ready()中沒有第二種選擇,而<script>document...
2013-05-22 Jerry
jQuery ready vs load
拉到 ready() 外面確實是可以執行, 但是原本廠商提供的 code 使用介面很難用...
2013-05-22 Jeffrey
jQuery ready vs load
to jerry, .ready()發生在網頁載入完整後,其時機晚於你所提的document...
2013-05-22 Jeffrey
遠端桌面連線無法儲存帳號密碼
to chhuang, 恭喜找到本篇的防盜浮水印... orz 嗚~ 是typo沒錯...
2013-05-21 jerry
jQuery ready vs load
看到您的blog, 嚷我有一種溺水者抓到救生圈的感覺 想請教,在jQuery裡面設定的變數...
2013-05-21 chhuang
遠端桌面連線無法儲存帳號密碼
gpupdate.exe /force ^^^^^^ typo
2013-05-21 貓咪圓滾滾
我的JSDC 2013筆記
看到黑大提及大家熱情分享 雖然已經事隔很久 但我還是想說一些話 我第一位請教問題的mvp是Andy...
2013-05-20 vsy
王道歸來! 純jQuery版地址輸入輔助器
這個真是太好了,很期待
2013-05-20 貓咪圓滾滾
我的JSDC 2013筆記
something wrong? 是因為LC鍋正在煮東西嗎? 哈哈 我剛剛看了閃光洽的介紹...
Tags 分類檢視
.NET
AJAX
ASP.NET
ASP.NET MVC
ASP.NET保安
Autofac
Bicycle
C# 4.0
CODE
Coding4Fun
Collections
Community Server
CSS
Debug
EF
English
Entity Framework
Excel
Hiking
HTML5
IE
IIS
Javascript
jQuery
KB
Kendo UI
knockoutjs
Life
Linq
Live SDK
MCE
MCSE
Mobile
NuGet
Office 2013
Open XML
ORACLE
Performance
PowerShell
Reporting Service
RESTful Web Service
Security
Sharepoint
SignalR
Silverlight
Skype
SQL 2000
SQL 2005
SQL 2008
T4
TechEd
Telerik MVC
TFS
ThinkPad
Tips
Tools
Trouble-Shooting
Unobtrusive Validation
VBScript
Virus
Vista
Visual Studio
VS.NET 2003
VS11
VS2005
VS2008
VS2010
VS2012
Web
Windows 2008
Windows 7
Windows 8
Windows Phone
Work
WP7
WPF
XAML
中文編碼
慢跑
潛盾機
科學實驗
風花雪月
關於作者
一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"
有為的中年人
"自許。
文章典藏
May 2013 (18)
April 2013 (22)
March 2013 (15)
February 2013 (9)
January 2013 (10)
December 2012 (14)
November 2012 (11)
October 2012 (12)
September 2012 (30)
August 2012 (16)
July 2012 (17)
June 2012 (18)
May 2012 (9)
April 2012 (15)
March 2012 (12)
February 2012 (8)
January 2012 (6)
December 2011 (9)
November 2011 (11)
October 2011 (15)
September 2011 (15)
August 2011 (18)
July 2011 (24)
June 2011 (31)
May 2011 (16)
April 2011 (13)
March 2011 (13)
February 2011 (11)
January 2011 (15)
December 2010 (18)
November 2010 (12)
October 2010 (10)
September 2010 (18)
August 2010 (19)
July 2010 (22)
June 2010 (20)
May 2010 (19)
April 2010 (19)
March 2010 (24)
February 2010 (14)
January 2010 (24)
December 2009 (13)
November 2009 (14)
October 2009 (27)
September 2009 (20)
August 2009 (18)
July 2009 (18)
June 2009 (22)
May 2009 (14)
April 2009 (19)
March 2009 (17)
February 2009 (25)
January 2009 (16)
December 2008 (23)
November 2008 (20)
October 2008 (19)
September 2008 (21)
August 2008 (10)
July 2008 (16)
June 2008 (20)
May 2008 (20)
April 2008 (21)
March 2008 (18)
February 2008 (9)
January 2008 (18)
December 2007 (20)
November 2007 (22)
October 2007 (20)
September 2007 (23)
August 2007 (22)
July 2007 (19)
June 2007 (28)
May 2007 (21)
April 2007 (23)
March 2007 (23)
February 2007 (17)
January 2007 (9)
December 2006 (12)
November 2006 (15)
October 2006 (7)
September 2006 (9)
August 2006 (16)
July 2006 (14)
June 2006 (12)
May 2006 (12)
April 2006 (9)
March 2006 (4)
February 2006 (7)
January 2006 (8)
October 2005 (1)
August 2005 (1)
July 2005 (1)
June 2005 (2)
February 2005 (2)
January 2005 (5)
February 2004 (2)
January 2004 (13)
其他功能
這個部落格
Home
Feedjit live traffic feed
Syndication
Comments RSS