2008年12月15日 星期一

[BCB][WIN32] 檔案處理

這次終於把朋友請我客製化的軟體修改好

其中搞定了連接來電顯示裝置並得到來電號碼且跳至訂購單建立的功能以及自動建立一筆未存在資料庫的新客戶資料, 自動備份功能

而關於自動備份功能 就是當程式開啟以及關閉的時候, 將資料庫檔案拷貝到另外的資料夾而已

以下紀錄一下 我用的Win32API
資料夾建立API: CreateDir(填目錄名稱, ex: "\BKDB");
檔案拷貝API: CopyFile("來源檔名", "目的檔名", (FALSE: 強制覆蓋同檔名檔案, TRUE則否));

還有 在BCB去得到windows msg方法

1. 先於 header file 加入要聽取的號碼
#define WM_USBLINEMSG (WM_USER + 180)

2. 在 class definition的地方加入
void __fastcall RecvDeviceMsg(TMessage& Message);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_USBLINEMSG, TMessage, RecvDeviceMsg)
END_MESSAGE_MAP(TForm)
3. 將code implement到 cpp檔裡頭
void __fastcall TfmMain::RecvDeviceMsg(TMessage& Message)
{
int nMsg = LOWORD(Message.WParam);
int dwChannel = HIWORD(Message.WParam);
int intSearchRes=0;

pcMain->ActivePage = tsAddRecord;

switch(nMsg)
{
....
}
TForm::Dispatch(&Message);
}

這樣子就完成啦~

至於載入dll的方式 跟在vc上一樣 都是用 Win32 API, 就 LoadLibrary and FreeLibrary
在此紀錄一下

沒有留言: