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

如何更準確判斷檔案產生先後

尚未結案
apang
一般會員


發表:11
回覆:20
積分:6
註冊:2003-06-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-30 14:06:04 IP:211.23.xxx.xxx 未訂閱
各位好... 小弟使用GetFileTime相關function取得File create-time 無獨有偶, 檔案產生時間有相同(至milliseconds都相同)... 小弟的疑問是: 檔案產生先後是否只得依照Create time作判斷? 若Create time相同就表示"同時"產生囉?? 先謝謝各位的回覆^^
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-30 16:22:03 IP:203.73.xxx.xxx 未訂閱
引言: 各位好... 小弟使用GetFileTime相關function取得File create-time 無獨有偶, 檔案產生時間有相同(至milliseconds都相同)... 小弟的疑問是: 檔案產生先後是否只得依照Create time作判斷? 若Create time相同就表示"同時"產生囉?? 先謝謝各位的回覆^^
apang 你好: 理論上是這樣子沒有錯,但實際上這種機會不大,尤其是在同一台電腦裡面,只 是 FILETIME 裡面所記錄的 milliseconds 也會跟電腦的速度有關,現在的電腦 等級都已經很高了,你可以做一個小小的實驗,利用一個迴圈產生 10 個檔案, 你會發現有很多檔案的 CreationTime 都是相同的 < class="code"> TMemoryStream *ms=new TMemoryStream; ms->Size=1; for(int i=0; i<10; i ) { ms->SaveToFile(IntToStr(i) ".dat"); // Sleep(100); } delete ms; for(int j=0; j<10; j ) { SYSTEMTIME st; WIN32_FIND_DATA wfd; FindFirstFile((IntToStr(j) ".dat").c_str(), &wfd); FileTimeToSystemTime(&wfd.ftCreationTime, &st); Memo1->Lines->Add(IntToStr(j) ".dat CreationTime: " IntToStr(st.wYear) "/" IntToStr(st.wMonth) "/" IntToStr(st.wDay) " " IntToStr(st.wHour) ":" IntToStr(st.wMinute) ":" IntToStr(st.wSecond) ":" IntToStr(st.wMilliseconds)); } 所以,如果這些檔案是你自己產生的話,建議在每產生一個檔案以後就 Delay 一段時間 (把上面紅色那一行的 mark 拿掉),這樣方便以後判斷時間的先後 -- Enjoy Researching & Developing -- 發表人 - RaynorPao 於 2003/10/30 16:25:21
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
apang
一般會員


發表:11
回覆:20
積分:6
註冊:2003-06-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-30 16:47:44 IP:211.23.xxx.xxx 未訂閱
感謝RaynorPao 很不幸...檔案是由別隻AP產生^^" 也就是CreationTime也不能做為"可靠"依據囉.. 頭大唉~~ 再次謝謝回答^^
系統時間:2024-05-03 23:57:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!