還必須將 Options 下的 ofNoChangeDir 設成 true 才會每次都開啟設定好的位置。
2010年8月3日 星期二
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);
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;
}
// 原始內容 {"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();
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);
?>
另外要將上傳的完整路徑轉換成 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日 星期四
訂閱:
文章 (Atom)