怎樣才能知道一個檔案已經create完畢? |
尚未結案
|
121412
一般會員 發表:6 回覆:17 積分:4 註冊:2005-03-09 發送簡訊給我 |
我的相機與電腦相連接, 當拍照時相機會將檔案傳送到硬碟中指定的目錄,
我用findfirst 去檢查該目錄, 當發現有新增進來的檔案時即進行處理.
但發現一個問題, 即相機在硬碟create file 還沒完成時, findfirst 已經
取得了檔名, 日期, 大小. 然後我去對這個檔案處理時, 就會產生錯誤. 所
以我只好設定一個delay time, 去等相機create完畢, 但這個辦法實在是有
點笨, 不同的解析度要設定不同的延遲時間. 請教各位先進, 這個例子要用什麼方法來處理比較好? 謝謝!
|
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
您好:
以下連結給您參考參考:
http://delphi.ktop.com.tw/topic.php?topic_id=45245
http://delphi.ktop.com.tw/topic.php?topic_id=26986
http://delphi.ktop.com.tw/topic.php?topic_id=26986
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=40148
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=40148
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
使用檔案系統更改監視的WINAPI,試試看!
< class="code">
var
aHandle:THandle;
aHandle := FindFirstChangeNotification('被監視的目錄',true,FILE_NOTIFY_CHANGE_LAST_WRITE); //第三個參數notify filter請參看winapi
if ( WaitForSingleObject(aHandle,0) = WAIT_OBJECT_0 ) then
begin
//開始處理相片程序
end;
FindCloseChangeNotification(aHandle);
-----------------------------------------------
Creation is the fundation of promotion.
|
121412
一般會員 發表:6 回覆:17 積分:4 註冊:2005-03-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |