線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:861
推到 Plurk!
推到 Facebook!

資料庫收集滑鼠移動的座標?

尚未結案
enu
中階會員


發表:36
回覆:93
積分:55
註冊:2003-10-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-04 09:47:26 IP:163.27.xxx.xxx 未訂閱
請教各位先進,小弟利用資料庫收集滑鼠移動的座標,可是好像沒辦法將每一個移動座標都收進來,如果小弟想要將每一個座標都收進來,不知道可以如何修正?或利用什麼樣的方式來記錄呢? 小弟的code如下,懇請先進們指導一下,謝謝!
 
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,int X, int Y)
{
ADODataSet1->Active = true;
ADODataSet1->Insert() ;
ADODataSet1->FieldByName("move_x")->Value=X;
ADODataSet1->FieldByName("move_y")->Value=Y;
ADODataSet1->Post(); 
}
bestlong
站務副站長


發表:126
回覆:734
積分:512
註冊:2002-10-19

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-04 13:41:11 IP:211.22.xxx.xxx 未訂閱
站內就有很多相關的討論,可以多加利用 這樣被動的讀取是無法控制取樣的密度,要改用主動讀取的方式處理 可參考 http://delphi.ktop.com.tw/topic.php?topic_id=65340 http://delphi.ktop.com.tw/topic.php?topic_id=64630 我是雪龍 發表人 - bestlong 於 2005/03/04 14:48:02
------
http://blog.bestlong.idv.tw/
http://www.bestlong.idv.tw/
http://delphi-ktop.bestlong.idv.tw/
enu
中階會員


發表:36
回覆:93
積分:55
註冊:2003-10-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-05 11:01:40 IP:218.165.xxx.xxx 未訂閱
先謝謝bestlong先生,不過好像不是小弟要的,不好意思; 小弟也可以利用下列的code跑出mouse的移動座標,問題是雖然移動的每一點都看到了,可是要把這些座標統統收到資料庫中,卻又沒辦法每一點都收進來;不知道如何解決?懇請各位先進指導,謝謝!    
 
String str1="";
str1=str1 "X=" IntToStr(X) " ";
str1=str1 "Y=" IntToStr(Y);
Label1->Caption=str1;
bestlong
站務副站長


發表:126
回覆:734
積分:512
註冊:2002-10-19

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-06 18:07:02 IP:211.20.xxx.xxx 未訂閱
你所謂的沒有辦法是指哪一個部份最好再說明清楚 ? 你的狀況看起來會先有取樣的精度控制問題。若是你所需要的取樣精度很高就會面臨儲存所取樣到的效率問題 ?    
引言: 小弟也可以利用下列的code跑出mouse的移動座標,問題是雖然移動的每一點都看到了,可是要把這些座標統統收到資料庫中,卻又沒辦法每一點都收進來;不知道如何解決?懇請各位先進指導,謝謝!
我是雪龍 學海無涯覺無盡,勤做筆記防失憶
------
http://blog.bestlong.idv.tw/
http://www.bestlong.idv.tw/
http://delphi-ktop.bestlong.idv.tw/
enu
中階會員


發表:36
回覆:93
積分:55
註冊:2003-10-22

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-07 01:28:35 IP:218.165.xxx.xxx 未訂閱
引言: 你所謂的沒有辦法是指哪一個部份最好再說明清楚 ? 你的狀況看起來會先有取樣的精度控制問題。若是你所需要的取樣精度很高就會面臨儲存所取樣到的效率問題 ?
再次謝謝bestlong先生,您說到重點了!希望可以和您討論出個結果來。 小弟需要取樣精度很高,也就是最好能將每一個滑鼠移動的座標點都記錄下來;如同之前提到,當然可以利用一些code跑出mouse的移動座標(每一點),可是當要記錄到資料庫時,可能就面臨您所提到的取樣的效率問題?不知道是資料庫來不及記錄所有座標?還是資料庫依時間取樣的問題?這可以解決嗎?懇請賜教了,感恩!
bestlong
站務副站長


發表:126
回覆:734
積分:512
註冊:2002-10-19

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-07 09:14:38 IP:211.22.xxx.xxx 未訂閱
你最好要先明確規範資料來源(在此指的是 Mouse 的座標值)的量,你是期望 500ms or 100ms or 50ms 還是更快?這會產生不同的結果與設備資源的需求。    試想,一秒鐘新增 10 筆紀錄與新增 500 筆紀錄,這兩者所需的設備等級特別是在儲存裝置上就有很大的差異。    所以是否一定要直接儲存在資料庫?可否考慮採用自訂的格式來儲存在檔案內。    不管怎麼說,太高的取樣率只是徒增成本,因為你需要更快的機器來處理大量的資料。    
引言: 再次謝謝bestlong先生,您說到重點了!希望可以和您討論出個結果來。 小弟需要取樣精度很高,也就是最好能將每一個滑鼠移動的座標點都記錄下來;如同之前提到,當然可以利用一些code跑出mouse的移動座標(每一點),可是當要記錄到資料庫時,可能就面臨您所提到的取樣的效率問題?不知道是資料庫來不及記錄所有座標?還是資料庫依時間取樣的問題?這可以解決嗎?懇請賜教了,感恩!
雪龍 http://bestlong.no-ip.com/ 學海無涯覺無盡,勤做筆記防失憶
------
http://blog.bestlong.idv.tw/
http://www.bestlong.idv.tw/
http://delphi-ktop.bestlong.idv.tw/
enu
中階會員


發表:36
回覆:93
積分:55
註冊:2003-10-22

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-03-07 13:10:58 IP:163.27.xxx.xxx 未訂閱
引言: 你最好要先明確規範資料來源(在此指的是 Mouse 的座標值)的量,你是期望 500ms or 100ms or 50ms 還是更快?這會產生不同的結果與設備資源的需求。 試想,一秒鐘新增 10 筆紀錄與新增 500 筆紀錄,這兩者所需的設備等級特別是在儲存裝置上就有很大的差異。 所以是否一定要直接儲存在資料庫?可否考慮採用自訂的格式來儲存在檔案內。 不管怎麼說,太高的取樣率只是徒增成本,因為你需要更快的機器來處理大量的資料。
謝謝bestlong先生!因為小弟有這樣的需求,所以必需想辦法解決!不好意思! 可否請教,若資料庫一秒鐘要調整記錄10筆或50筆資料,不知道該如何設定? 另一個問題是,所謂「自訂的格式來儲存在檔案內」又該如何做呢? 懇請bestlong先生不厭其煩的指導!再次感謝!
bestlong
站務副站長


發表:126
回覆:734
積分:512
註冊:2002-10-19

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-03-07 13:26:34 IP:211.22.xxx.xxx 未訂閱
引言: 謝謝bestlong先生!因為小弟有這樣的需求,所以必需想辦法解決!不好意思! 可否請教,若資料庫一秒鐘要調整記錄10筆或50筆資料,不知道該如何設定? 另一個問題是,所謂「自訂的格式來儲存在檔案內」又該如何做呢? 懇請bestlong先生不厭其煩的指導!再次感謝!
最簡單粗糙的方式就是使用 Timer 來讀取資料,設定 Interval 屬性 1000 就是一秒執行一次,設定 500 就是 0.5 秒執行一次。不過此種方法可能會因為系統資源競爭的問題而會有超出預期時間的狀況。 而存在檔案中最簡單的自訂格式就是一行一筆紀錄,簡單又好用。不過資料量超多時最好會自動分割檔案處理以增進效率。 雪龍 http://bestlong.no-ip.com/ 學海無涯覺無盡,勤做筆記防失憶
------
http://blog.bestlong.idv.tw/
http://www.bestlong.idv.tw/
http://delphi-ktop.bestlong.idv.tw/
bestlong
站務副站長


發表:126
回覆:734
積分:512
註冊:2002-10-19

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-03-07 13:29:37 IP:211.22.xxx.xxx 未訂閱
另外一個建議就是如果技術能力夠的話,建議採用多執行緒的程式架構。 雪龍 http://bestlong.no-ip.com/ 學海無涯覺無盡,勤做筆記防失憶 發表人 - bestlong 於 2005/03/07 13:31:26
------
http://blog.bestlong.idv.tw/
http://www.bestlong.idv.tw/
http://delphi-ktop.bestlong.idv.tw/
系統時間:2024-05-03 12:57:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!