全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1085
推到 Plurk!
推到 Facebook!

怎樣才能知道一個檔案已經create完畢?

尚未結案
121412
一般會員


發表:6
回覆:17
積分:4
註冊:2005-03-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-20 23:33:05 IP:61.64.xxx.xxx 未訂閱
我的相機與電腦相連接, 當拍照時相機會將檔案傳送到硬碟中指定的目錄, 我用findfirst 去檢查該目錄, 當發現有新增進來的檔案時即進行處理. 但發現一個問題, 即相機在硬碟create file 還沒完成時, findfirst 已經 取得了檔名, 日期, 大小. 然後我去對這個檔案處理時, 就會產生錯誤. 所 以我只好設定一個delay time, 去等相機create完畢, 但這個辦法實在是有 點笨, 不同的解析度要設定不同的延遲時間. 請教各位先進, 這個例子要用什麼方法來處理比較好? 謝謝!
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-21 00:19:00 IP:219.68.xxx.xxx 未訂閱
您好: 以下連結給您參考參考: 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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-06-21 21:53:35 IP:211.22.xxx.xxx 未訂閱
使用檔案系統更改監視的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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-06-22 00:16:33 IP:61.64.xxx.xxx 未訂閱
謝謝 supman 及 Stallion 大大的幫忙, 我採用 supman 兄提供連結中的 IsFileInUse 方法, 已解決了問題. 所以這題分數給 supman, Stallion兄, 抱歉囉! 謝謝!!
系統時間:2024-06-01 23:03:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!