2012年12月21日 星期五

2012年8月19日 星期日

CSmart_Ptr 智慧指標(計數器模式)

CSmart_Ptr 採用計數器技術,所以不能用於有循環參照的物件。

CSmart_Ptr 可放入任何種類的物件,包括 cxxlObject 物件,但已放入 Smart_Ptr、PSmart_Ptr 或 P2Smart_Ptr 的物件,不能再放入 CSmart_Ptr。而放入過 CSmart_Ptr 的物件也不能再放入其他智彗指標,包括 CSmart_Ptr。

下載點:

2012年8月15日 星期三

正修科技大學微積分影音教學網__開放式課程

我是在找向量內積分配律證明,意外發現的網站,這位老師很用心,不是只照本宣科而已,提供給大家:
https://sites.google.com/site/ecalculuscsu/Home

以下是老師對向量內積證明的圖片,簡單明瞭

2012年7月23日 星期一

類別成員指標

可分為 Pointer to member function 和 Pointer to member data,以下是簡單的整理

#include <iostream>

using namespace std;

struct Data{
  int v;
  Data( int _v)
  {
    v = _v;
  }

  void Fun(int _v)
  {
    v = _v;
  }
};

2012年7月19日 星期四

修改天空部落格的 banner slideshow 為文字跑馬燈

先進入後台管理介面,選擇 [自訂欄位],新增一個自由欄位,按這個新增欄位的 [設定],把以下 javaScript 貼入文本中:

2012年7月10日 星期二

dot.tk 應該也被列入 google apps 的黑名單了

今天用 dot.tk 這個免費轉址去申請 google apps,一開始填表還蠻順利的,以為應該沒問題,填完表就出現以下畫面:




我還真的笨笨的依他指示依依去排除可能的問題,結果真的被裝肖咧,事實上把要申請網域結尾 .tk 改掉就可過關了,堂堂的大企業也這樣搞 *$#@^

不過這也表示 dot.tk 不能再用了,這樣還有什麼免費的轉址可用?標準版的免費不會只是說說而已吧*&$%^&




2012年7月2日 星期一

2012年7月1日 星期日

MLEditor 多國語言編輯器

這是 ML (多國語言插件) 的輔助程式,可幫助程式設計師建立 ML 所用的語言轉換檔( .Lang 的檔案) 。下載點:

https://www.dropbox.com/s/plo4mjd4nsrko4u/MLEditor%201.0.0.7z

內含不須安裝的執行檔和原始程式,若要在未安裝 vs2008 的電腦上直接執行,可能還要再安裝 Microsoft Visual C++ 2008 SP1 可轉散發套件 (x86)

2012年6月19日 星期二

科學的足跡線上視訊

科學的足跡是由加州理工學院的戈斯甸(David Goodstein)教授利用講課方式結合動畫而製作,在20世紀80年代,耗資600萬美元製作完成的著名教學影集。

在台灣好像只有公播版可以買,而且很貴,不知大陸是管治較寛鬆還是對「公播」定義不同,竟然網路上就可以看:

2012年5月28日 星期一

BigInteger 超大整數 class for C++

無限長度的超大整數 class,提供 加、減、乘、除、餘數、負數、大小比較等基本功能,由於是為了個人使用上的須要而開發,原則上是不會再增加其他運算功能,因提供的是原始檔,若有其他須求請自行擴增吧。

下載 BigInteger_1.13(C++ 版).rar
https://www.dropbox.com/s/hvag2ppa1h1fyrl/BigInteger_1.13%28C%2B%2B%20%E7%89%88%29.rar
http://pan.baidu.com/s/1jGsoUuq

2012年5月16日 星期三

GDI 映射模式

GDI 映射公式

以 X 方向的視窗口邏輯單位(xWindow)轉換為視埠設備單位(xViewport)為例:
 
xViewport = (xWindow - xWimOrg) * (xViewExt / xWinExt) + xViewOrg

(xViewExt / xWinExt) 是用來做轉換的比值,兩數是可任意值,但依平台不同有其實際的數值來源,兩者可由設備物件的 CDC::GetViewportExt() 和 CDC::GetWindowExt() 取得。

多國語言插件

這是採用 CxxlMan 程式庫的機動化元件所做的插件,可以幫你寫的程式或其他插件可以有提供多國語言文字的處理功能,文字來源由語言轉換檔提供,依多國語言的需求編製相應的語言轉換檔,語言轉換檔只是一般的文字檔(但須是 Unicode 編碼)。

下載點:多國語言插件(7-01-2012 更新).7z

2012年4月23日 星期一

可讀取 Unicode 檔案的 wifstreambuf

因發現 wifstream 不能用 Unicode 檔名,覺得太不方便了,所以寫了以下這個 class,但後來發現 gcc 的 wifstream/wistream 也沒辦法處理 Unicode 文字為內容的檔案,wifstream/wistream 只是虛有其名,所以計畫放棄了。

改用 vs2008 來做,vs2008 的 wifstream 可以使用 Unicode 的檔名,但 wifstream 仍不能讀取 Unicode 的文字內容,不過用 wistream 配合以下的 class 卻成功了。

經網友 ice_emissary(燃燒的大地) 提醒是 Unicode BOM 檔頭的問題,修改後果然成功。

另外 wifstream 應該只是用來讀取 ansi 的檔案,只不過會自動轉型成 wchar_t 來使用


以下參考資料的連結
http://www.cplusplus.com/reference/iostream/streambuf/
http://oopweb.com/CPP/Documents/CPPAnnotations/Volume/cplusplus20.html
http://www.diybl.com/course/3_program/c++/cppjs/200822/98427.html
http://www.dreamincode.net/code/snippet2499.htm

以下是 wifstreambuf.h 的內容,只是一個 .h 檔

2012年4月20日 星期五

google+ 要砍我了

google+ 說我名字違反他們的命名政策,要停用我的 google+,但我的名字早在 google+ 出現之前就已經在使用了,命名政策不是有為此提供例外處理嗎?在 google 搜尋找 cxxlman 就找得到證據了,我找不到申訴連結,曾用過一次但忘了,麻煩 google+ 的管理大大看到請高抬貴手

2012年4月15日 星期日

WinXP+gcc 編譯 wxWidgets

網路上一堆秘笈,搞得我快吐血,結果正確的解答是要選對 gcc 的版本,太新的編譯不出來,不過舊版的也不易找到,我是用 Code::Blocks 8.02 內附的 gcc 3.4.5。

我採用的 wxWidgets 為 2.8.11 版,到 http://www.wxwidgets.org/downloads/ 抓 all wxWidgets ports 中的 zip 檔,將它解壓到 C:\,資料夾名稱為 wxWidgets-2.8.11


2012年4月14日 星期六

C++ 程式編譯之字串

當使用 C 的 printf() 或 C++ 的 cout 秀出文字運作原來相當簡單,就是直接把執行程式內存放的字串字碼丟給系統處理就是了,只要字碼正確就會看到正確的字形在 Console 視窗秀出來。

但這個正確的字碼是怎麼產生的?看看以下這個測試程式,請用記事本編寫比較方便,隨後會做不同的編碼存檔。

#include <iostream>
using namespace std;

int main()
{
  const char *ansi_str1 = "中文";

  cout << "ansi_str1 = " << ansi_str1 << endl;
  return 0;
}

將之存成 ANSI 編碼格式,檔名為 test.cpp,我用 gcc 4.6.2 進行

2012年4月13日 星期五

[轉貼]字元集

轉貼自 http://tw.group.knowledge.yahoo.com/m-c/listitem/view?iid=106
----------------------------------------------------------------------------
Multi-Byte Character

1990年代行銷全球的作業系統 Windows 必須面對混亂的問題。微軟的做法就是提供不同的內碼表(code page),到底一個碼要代表哪一個字符,就要看該環境採用哪一個內碼表。相信大家應該都有這樣的經驗:開啟了一份怪里怪氣的網頁、電子郵件,然後瘋狂的從十幾種內碼表當中猜測到底該用哪一個。