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

如何判斷資料夾裡是否有超過5分鐘的檔案

尚未結案
cindyliu
一般會員


發表:16
回覆:18
積分:6
註冊:2008-09-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-01-23 00:49:41 IP:118.166.xxx.xxx 訂閱
因為A程式轉出檔案到資料夾以後,會由另一支B程式定時抓到Ftp上,

想藉由檔案存在的時間的來判斷B程式是否有正常運作,於是我用了FILEAGE函數

showmessage(inttostr((fileage('c:\123.txt'))));

出來的結果是一串數字(1043792933),

想判斷資料夾裡是否有超過5分鐘的檔案,該怎麼寫呢?
sryang
尊榮會員


發表:38
回覆:741
積分:875
註冊:2002-06-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-01-23 12:15:12 IP:114.35.xxx.xxx 訂閱
FileAge 函數的 OnLine Help 裡面應該有寫要怎麼轉換成 DateTime
查一下吧
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/
cancer
高階會員


發表:58
回覆:319
積分:190
註冊:2004-07-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-01-26 16:41:28 IP:211.75.xxx.xxx 未訂閱
剛看一下 Help,說要用  FileDateToDateTime() 轉成 TDateTime,
另外可以
方法一:傳送後馬上把檔案移到另一個資料夾,下次再來,就是有甚麼傳甚麼。
方法二:傳送時記住當下的時間,下次再來,就只傳送這個時間以後建立的檔案。

===================引 用 cindyliu 文 章===================
因為A程式轉出檔案到資料夾以後,會由另一支B程式定時抓到Ftp上,

想藉由檔案存在的時間的來判斷B程式是否有正常運作,於是我用了FILEAGE函數

showmessage(inttostr((fileage('c:\123.txt'))));

出來的結果是一串數字(1043792933),

想判斷資料夾裡是否有超過5分鐘的檔案,該怎麼寫呢?
Victor4022
中階會員


發表:0
回覆:76
積分:90
註冊:2011-02-20

發送簡訊給我
#4 引用回覆 回覆 發表時間:2011-02-20 15:52:27 IP:122.126.xxx.xxx 訂閱
您好, 有幾個小提醒:

1. 如果B程式上傳後會保有原檔案: 建議 B程式可加入snapshot 機制, 上傳ftp前先FindFirst / FindNext一次完整目錄並計下每個檔案的建立時間(或修改時間, 視A產出的檔案是否覆蓋原檔)

2. A程式 與 B程式如果不同台機器執行(如A程式產出檔案至網芳share folder), 要小心兩台機器的時間同步不一致的情形, 尤其是需要透過判斷檔案新增時間/修改時間的情形,

3. 確認您進行取得檔案操作的時間只是為了決定是否上傳該檔的判斷, 如果還要產生記錄, 請小心UTC time與 Local time的議題.
系統時間:2017-10-22 3:33:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!