Skip to main content

自製工具程式:Time Machine Lite

自製工具程式:Time Machine Lite

程式名稱: Time Machine Lite 程式版本: 0.0, 2010/11/06 程式功能: 讀取 CSV 格式的時序資料,將特定欄位解析為時間及日期,並依照自訂的規則,對符合判定的各筆資料時間進行運算。時間與規則的自訂程度相當高喔 XD 這隻程式適合用來處理時區轉換、日光節約時間 (DST) 運算、做假帳。 使用語言: Microsoft .Net Framework 4.0 (C#) 安裝需求: Microsoft .Net Framework 4.0 (會自動帶出下載視窗)

兩件關於 Visual Studio .Net 使用 C# 的小事

兩件關於 Visual Studio .Net 使用 C# 的小事

在某些列表類的物件 (包含 TreeView, ListView 的 List 顯示),Coder 沒有辦法直接改變被選取物件的顯示方式。TreeView/ListView 只提供 ForeColor 與 BackColor 描述一般 (未選取) 物件的顏色,而透過 SelectedItem 或 SelectedNode 拿到的 Fore/Back Color,也是描述該節點在未被選擇時的顯示顏色。 要解決這個問題,只能自創 class XXXX : ListView,然後在自己的物件的 XXXX.BeforeSelection 取消選擇,另行記錄使用者點擊的子選項,然後把這個選項換成 Coder 想要的顏色;這樣看起來就像是使用者 “選擇” 了那個選項。 假設類別 (Class) C D E 都有 GetChild 這個方法,分別傳回 List <C>, List <D>, List <E>;那麼要如何建立適當的介面 (Interface),讓它能代表這三個類別的行為呢 ? 建立母類別讓這三個類別繼承 或者是利用萬物不離其宗的道理,直接在介面裡要求 List <Object> 再去自己 Cast 成想要的型態 […]

隨筆:在 Visual Studio 中,使用 Serializable 儲存物

隨筆:在 Visual Studio 中,使用 Serializable 儲存物件

既然現在 IDE / Framework 都把加速開發當作主要目標,Coder 再混也應該要學一學這些把戲 >///< 以往用 C/CPP 都可以把不含指標的 struct / class 直接 binary read/write,但在 Java / Visual Studio 裡,這樣的流程被稍微擴充,改以 Serialize / Deserialize 作為媒介 。簡單的說,Serialize 就是把一個物件(物件裡可以有指向其他物件的參考),弄成一個 Byte 陣列,可以拿去做其他壞事(傳到別的電腦上,或者存到硬碟裡);Deserialize 就是把這個 Byte 陣列弄回原本的物件,其中所有的變數都完全相同。 我是沒什麼興趣去查 Serialize / Deserialize 的使用限制在哪邊啦,不過碰到有交互參照繞圈圈,或者是變數含有資源(DB / File resources / Socket)的狀況,就算會爆炸也不意外啦。 使用 C# 時,需加上 using System.Runtime.Serialization ; using System.Runtime.Serialization.Formatters.Binary ; 並在需要 Serialize / Deserialize […]