in

Darkthread

黑暗執行緒
All Tags » CODE (RSS)

Browse by Tags

  • CODE-使用 C# 批次列印 PDF 檔案

    專案遇到批次列印 PDF 檔需求。 Acrobat Reader 或 Foxit Reader 等常用 PDF 軟體本身就具備傳參數直接列印功能,例如 Acrobat Reader 直接列印 PDF 之語法為:AcroRd32.exe /p /h "pdf路徑" "印表機名稱"(印表機名稱省略時由預設印表機輸出) 基於以上資訊,最直覺的做法是找出 Acrobat Reader EXE 檔(AcroRd32.exe)路徑,在 .NET 程式透過 Process.Start() 傳入 PDF 路徑及 /p /h 參數呼叫 Acrobat Reader 列印檔案...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 07-14-2017
  • 關於 Shared Memory 的兩三事

    參與古老系統的搬遷工程,其中使用 Shared Memory 實現跨 Process 溝通(例如:ASP.NET 呼叫 Window Service),也因而被迫了解這門對 .NET 開發者偏冷門的技術,特筆記備忘。 【Shared Memory 是什麼?】 跨 Process 溝通有個術語,Interprocess Communictaion(IPC),在 Windows 平台有以下選擇: 參考 Clipboard 程式 A 將内容貼進剪貼簿,程式 B 自剪貼簿取出内容。 COM OLE 複合文件(Compound Document)讓 Word 文件可以內嵌 Excel 工作表,點兩下還能叫出...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 07-05-2017
  • CODE - 數字轉英文 C# 函式庫

    專案遇上數字轉成英文的需求,例如:1234 需轉為 one thousand two hundred thirty four。 網路上有許多解決方案,程式範例、現成函式庫都有,選擇眾多之下,透過 NuGet 即裝即用才是王道。我找到一個,在 NuGet 搜尋 NUT,第一筆 Nut, Number To Text Converter & Money To Text Converter: 程式為 Open Source, 使用說明與原始碼在 Github 上: https://github.com/emrahyumuk/NUT-number-to-text 。使用說明略嫌簡略,「Use the...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 06-30-2017
  • 程式範例-使用 C# 查詢 CPU 與記憶體使用狀況

    有個小需求想透過程式取得 CPU 與記憶體使用率,爬文發現用 C# 寫簡單到不行:建一個 PerformanceCounter 物件,指定分類、計數器名稱、執行個體,接著用 NextValue() 取值,輕鬆搞定。 using System; using System.Diagnostics; using System.Threading; namespace JetEngine { class Program { static PerformanceCounter cpu = new PerformanceCounter( "Processor" , "% Processor...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 10-21-2016
  • 自製Wake On LAN Magic封包

    前文 提到計劃將辦公室的電腦改為下班休眠,需VPN連線時再透過網路喚醒,但遇到一點困難:WOL封包必須透過廣播方式送到休眠主機,最簡便的做法是在同一網段內(Subnet)發送IP末碼為255(例如:192.168.1.255)的封包,電腦會以MAC地址ff-ff-ff-ff-ff-ff發送,所有網卡都會收到。而問題出在使用VPN連線時,家中電腦取得的公司IP與休眠主機分屬不同網段,無法透過IP 255廣播,前文提過一種在Switch/NAT設定靜態IP對應MAC ff-ff-ff-ff-ff-ff的解法,但公司網路設備非掌控範圍,無法在上面動手腳,想到最直覺的做法-在同網段內找一台機器跑一個內應程式...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 11-11-2014
  • Json.NET技巧-反序列化還原為不同型別的集合

    情境如下,我們定義一個抽象型別Notification保存排程發送通知的資料(包含JobType、ScheduleTime及Message),依發送管道分為電子郵件通知及簡訊通知,故實作成EmailNotification及SMSNotification兩個類別,並各自增加Email及PhoneNo屬性。 using Newtonsoft.Json; using Newtonsoft.Json.Converters; using System; namespace CustCreate { public enum Channels { Email, SMS } //通知作業 public abstract...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 12-14-2013
  • ASP.NET MVC Filter練習-限定本機存取

    在ASP.NET MVC專案新增了開發偵錯專用的Controller,某些Action想限定從localhost存取,以免遭到誤用。逐一在Action加入檢查IP邏輯是種做法,但如此有點浪費ASP.NET MVC強大的擴充性,就好比提著子彈上膛的M16步槍上戰場,不扣板機卻拿槍托狂敲敵人的頭,不免有暴殄天物之憾。 ASP.NET MVC有個 Filter 機制(中文翻成篩選器),在Filter可自訂執行Action時要一併觸發的邏輯,為Action加上[FilterName] Attribute,便可在該Action之前或之後插入自訂邏輯。這種概念很適合用來實現Log記錄、權限控管、Exception處理...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 09-15-2013
  • 【答客問】Json.NET-動態決定屬性是否序列化

    昨天提到 Json.NET屬性序列化設定 ,接獲讀者森哥留言: 請問黑大, 針對不需要序列化的「屬性」是否可以透過程式「動態」設定或是過濾? 有預感遲早也會遇到這個 靠杯 火盃的考驗,決定打鐵趁熱,馬上來練習。所幸,Json.NET真的很強大,早就料想到此一需求,提供 ContractResolver 以實現神乎奇技的高度動態化。 我寫了一個範例,展示兩種動態決定應序列化屬性的情境: Serialize時傳入屬性名稱陣列作為參數,正向表列JSON應包含的屬性。 由物件屬性值決定屬性是否要序列化,例如: 如果是女生就不包含年齡。(這幾乎已彈性到極點,雖然實務上不常用到) 程式的做法是宣告兩個繼承自DefaultContractResolver的類別...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 09-04-2013
  • Json.NET技巧兩則: 忽略屬性及列舉轉字串

    開發主戰場漸漸移到前端,應用Json.NET的深度也逐步增加。今天學會Json.NET技巧兩則,筆記如下: 情境1: 待序列化物件的部分屬性純粹供.NET端應用,不需傳到前端,希望能予以排除以縮短JSON字串,減少頻寬浪費。 解決方案 方法1 - 在屬性加上[JsonIgnore],負向表列哪些屬性不要序列化。 方法2 - 在類別加上[DataContract],為需序列化屬性加上[DataMember],正向表列哪些屬性需要序列化。 參考: Efficient JSON with Json.NET – Reducing Serialized JSON Size 情境2 預設列舉(Enum)屬性會被序列化為對應數值...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 09-03-2013
  • CODE-封裝Office繁簡轉換服務

    手邊的專案涉及多國語系,之前研究過 使用Excel維護多國語系字串資源檔 ,意外發現Office的繁簡轉換功能威猛過人,不單只是置換字元編碼,還能做到 詞彙轉換 ,將字彙轉換成對應的說法,例如: 交易資料->事务数据、預設記憶體->默认内存... 等等,放著神兵利器不用,豈不暴殄天物? 於是,延續先前開發 Word套表服務 的概念,裝著Word當引擎的裝甲車登場囉~ 程式碼的重點在於Word Document物件的共用與資源確實回收(操作Office Interop的注意事項先前也 討論過 )。至於轉換核心,一行搞定 -- TCSCConverter 。 using System;...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 08-15-2013
第1頁,共11頁 (109個項目) 1 2 3 4 5 下一頁 > ... 最後一頁 »
Powered by Community Server (Non-Commercial Edition), by Telligent Systems