coding

A collection of 8 posts

coding

Android 獲得網路連線狀態

網路連線狀態改變時接收通知 BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if(ConnectivityManager.CONNECTIVITY_ACTION.equals(action)) { boolean noConnectivity = intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false); NetworkInfo networkInfo = (NetworkInfo)intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO); boolean mobileNetwork = (networkInfo.

coding

製作僅有 NotifyIcon 的應用程式

如果程式不需要視窗,只要一個 NotifyIcon 出現在 System Tray 內,利用滑鼠右鍵選單做一些簡單的設定的話,首先: 開啟一個新的專案,選擇 Windows Application NotifyIcon 要放在一個 Container 物件內,通常這個物件是 Form。但是因為我們不想要有一個 Form ,所以要自行用一個 Container 把 NotifyIcon 放進去: class NotifyIconUI { private System.ComponentModel.Container container1; private System.Windows.Forms.NotifyIcon notifyIcon1; public NotifyIconUI() { container1 = new System.

coding

Slipstreaming Visual Studio 2005 w/SP1

微軟的 Windows 與 Office 都是可以把 service packs 及 hot-fixes 整合進安裝光碟的,Visual Studio 當然也是可以的。整合(Slipstreaming)的過程與整合 Microsoft Office 與 service packs 非常類似。 整合與燒錄光碟過程大約需要 10GB 的硬碟空間,以及至少兩個小時以上的執行時間 製作 VS 2005 的 administrative installation 首先必須先製作一份 Visual Studio 2005 的 administrative installation。假設你的光碟機代號是 F ,而欲將 administrative installation

coding

Matlab 連結 C Library

決定寫 C library 之前,建議是先用 profile reporter 確認程式的效能瓶頸。針對造成瓶頸的函式再花時間去打造其 C library 比較有經濟效益。 供 Matlab 連結使用之 C DLL 程式碼可分為兩個部分:第一部分為介面程式,用來處理 Matlab 與 C 之間的變數型態轉換;另一部分為功能主體,用來做函數所需要的運算。該 DLL 必須遵循 mexFunction 架構,並適當轉換輸入及輸出變數型態。 mexFunction 架構 典型的 mexFunction 程式碼的架構為 #include "mex.h" void mexFunction(int nlhs,

coding

Matlab 字串與 Unicode

先說結論:編碼是 UTF-16BE。 Matlab R14 開始將字串編碼方式由作業系統預設值改成了 Unicode。為了確定正確的編碼,寫了幾行小程式來判斷。 利用 dex2hex 把字元轉換為 HEX 值,可確認「喵」字在 Matlab 的編碼是 55B5: dec2hex(uint32('喵')) ans = 55B5 接著確認各種 Unicode 編碼下「喵」這個字的實際值,首先是 UTF-8,利用 unicode2native 函數來確認: dec2hex(unicode2native('喵','utf8')) ans = E5 96 B5 接下來試試看