請教FileSetDate函數 |
尚未結案
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
請教各位前輩. FileSetDate函數宣告中FileSetDate(Handle:Integer, Age:Integer):Integer 的Age值有何限定? 如下程式碼中:
procedure TForm1.Button1Click(Sender: TObject); Var FileHandle : Integer; Str : String; begin FileHandle := FileOpen('D:\Xin.txt', fmOpenReadWrite); if FileHandle = -1 then ShowMessage('開啟檔案失敗') else begin Str := '檔案原來日期時間: ' DateTimeToStr(FileDateToDateTime( FileGetDate(FileHandle))) #10#13; if FileSetDate(FileHandle, FileGetDate(FileHandle) 100)=0 then Str := Str DateTimeToStr(FileDateToDateTime(FileGetDate(FileHandle))) else Str := Str '新的日期時間設定失敗'; ShowMessage(Str); end; FileClose(FileHandle); end;小弟將FileGetDate(FileHandle)的回傳值 100, 測試檔案的日期時間變動為順時針方向加3分零8秒, 但到了一定的值FileSetDate(FileHandle, FileGetDate(FileHandle) 100)=0時, 就會出現'新的時期時間設定失敗'的信息, 請問此處的限定是多少? 回傳值的單位又是什么? 0代表什么? 感謝! ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟 |
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
你應該是說錯了
FileSetDate = 0 時,代表設定成功,你的程式碼也是這樣寫的,不是嗎
若是有錯才不為 0 ,此時傳回的是錯誤代碼
至於 Age 的範圍,嗯,第一次聽到有人直接要用 Age 設定
Age 的範圍就是 Integer 的範圍,只是你要自己來做時間上的轉換,將時間直轉換成 OS TimeMap,不過一般都不這樣做,因為要是你有一堆時間,那你豈不累死,通常都用 Age := DataTimeToFileDate(時間),用人家已經寫好的 function 來轉換
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
引言: 你應該是說錯了 FileSetDate = 0 時,代表設定成功,你的程式碼也是這樣寫的,不是嗎 若是有錯才不為 0 ,此時傳回的是錯誤代碼您好! 感謝回复. 小弟問題中將此句寫錯了, 應該是: else if FileSetDate(FileHandle, FileGetDate(FileHandle) 100)=0時... 引言: 蠻奇怪的, 小弟也 new 一個文字檔來測試 有時候修改後的結果可以一直每 3 分鐘的增加, 有時候則是一兩次之後就無法再增加了 可是即使結果不會再增加, 但設定結果都回傳 0(表示成功) 不會出現 cashxin2002 兄所說的失敗訊息 --- 歡迎光臨 > >>< face="Verdana, Arial, Helvetica"> 謝謝hagar版主回复. 請您將: if FileSetDate(FileHandle, FileGetDate(FileHandle) 100)=0中的100設得大一些(如20000), 再連續触發此事件, 不需要幾次重复即可出現程式中的'新的時期時間設定失敗'信息. 更新問題如下: 但到了一定的值else if FileSetDate(FileHandle, FileGetDate(FileHandle) 100)=0時, 就會出現'新的時期時間設定失敗'的信息, 請問此處的限定是多少? 回傳值的單位又是什么? 謝謝! ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟 |
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
感謝回應﹒ 小弟將以下一句中的紅色值改為1000﹕
if FileSetDate(FileHandle, FileGetDate(FileHandle)+1000)=0 then...
檔案原始時間為﹕09/22/2003 上午12:07:04 ﹒執行程式后﹐正常更新日期時間的剪貼圖和更新日期時間的剪貼圖如下﹐在更新的檔案日期時間至﹕09/22/2003 上午04:42:20 后﹐再次執行触發事件﹐即會出現'新的日期時間設定失敗'信息﹒
謝謝﹗ =====================
努力,相信會獲得美麗!
忻晟
------
忻晟 |
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |