Sean's Note

2010年8月3日 星期二

[BCB] 設定 OpenDialog 開啟資料夾的起始位置

只透過設定 InitialDir ,每次開啟時還是會回到上次開啟檔案的目錄下,

還必須將 Options 下的 ofNoChangeDir 設成 true 才會每次都開啟設定好的位置。


2010年6月29日 星期二

[BCB] 定義自己的鼠標圖示

到 Tools -> Image Editor 就可以直接修改 res 檔的鼠標圖案,

更改完後存檔就可以使用,如果沒有更新,就把 res 檔從 project 從移除,

再 add 一次就行了。(不 add,也可以使用 )

0xfffffff0 ~ 0xffffffff 的位址已有內建的滑鼠圖示,

所以可以從 0x1 開始定義自己要對應的滑鼠圖示,

如下的範例 :

#pragma resource "Project1.res" //使用前要先引入 res

const int crDraw = 6;
HINSTANCE HInst;
HInst = reinterpret_cast<HINSTANCE>(HInstance);
// Load custom cursors for tools from extrares.res
// ABC 是 cusor 的名稱
Screen->Cursors[crDraw] = LoadCursor(HInst, "ABC"); 
Cursor = TCursor(crDraw);

2010年5月28日 星期五

[BCB] TStringList 的排序

TStringList *list = new TStringList();

// 原始內容 {"22", "211", "222", "33"};

list->Sort();


// Sort() 後的結果, 是依序比較字串開頭的大小 {211, 22, 222, 33};


// 想按數字大小排序 {22, 33, 211, 222};, 需用 CustomSort()
list->CustomSort(compare);


// 並自訂 compare function


int __fastcall compare(TStringList* List, int Index1, int Index2)
{
    if (StrToInt(List->Strings[Index1]) > StrToInt(List->Strings[Index2]))
      return 1;


    else if (StrToInt(List->Strings[Index1]) == StrToInt(List->Strings[Index2]))
      return 0;


    else
        return -1;
}

2010年4月24日 星期六

[BCB] 連結 MySQL 資料庫


想用 BCB 連結 MySQL 資料庫,可以到網路下載 SQLAPI++ 試用版,

藉由 SQLAPI++ 就不需要透過 ODBC 來連接,方便很多。

官網現在最新的版本是 2010/3/24 發佈的 3.7.31 版,

網路上有比較舊 2007/12/11 發佈的 3.7.23 破解版,

不過舊的版本要先執行 "SET NAMES big5" 指令,不然中文印出來會是亂碼。


另外,若要連線到遠端的 MySQL 資料庫,要注意兩點 :

1. 必須在 Server 端的防火牆,新增 MySQL 的連接埠 (MySQL 的預設值為 3306)。

2. 無法用帳號 root 遠端連線,必須另開帳號給予權限。  

2010年4月17日 星期六

[PHP] session: Cannot send session cache limiter - headers already sent...

用了 session_start();

Cannot send session cache limiter - headers already sent...

卻出現這樣的訊息,是因為在 session_start() 之前,

就已經有 ouput 東西到前端了, 有兩種方法可以解決.

1. 到 php.ini 裡把 output_buffer 設成 on,這樣 server 端

就會把所有的 output 放到 buffer 裡,在一次送到前端。

2.

ob_start(); // 加上這行

session_start();

2010年4月16日 星期五

[PHP] 上傳中文檔案的問題

如果用 notepad++ 編輯,注意要存成 utf-8 的格式,

另外要將上傳的完整路徑轉換成 big5,

<?

$upload_file = "../file/檔案.txt";

$upload_file = iconv("utf-8", "big5", $upload_file);

move_uploaded_file($_FILES["file"]["tmp_name"][$i], $upload_file);

?>

2010年4月15日 星期四

[PHP] 在網頁間傳遞參數

1. 不管是數字或字串直接加在變數後面,
  
     page.php?number=2
     page.php?name=Sean


2. 利用 form + hidden + POST