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

請問如何用程式更改檔案建立時間

尚未結案
csm825050
一般會員


發表:49
回覆:29
積分:15
註冊:2003-08-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-17 16:41:55 IP:61.221.xxx.xxx 未訂閱
請問如何用程式更改檔案建立時間
g6101
高階會員


發表:22
回覆:129
積分:110
註冊:2002-06-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-17 21:45:40 IP:163.29.xxx.xxx 未訂閱
引言: 請問如何用程式更改檔案建立時間
csm825050您好: 以下的範例是將檔案創建時間設定為現在時間
  char filename[]="D:\\test\\test1.txt";
  HANDLE he;
  FILETIME fileTime,localTime;//檔案時間結構
  SYSTEMTIME sysTime;//系統時間結構
  TDateTime dtTime = Now();  //取得現在時間      //檔案開啟並取得HANDLE
  if ((he = CreateFile(filename,GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL)) != NULL)
  {
     DateTimeToSystemTime(dtTime,sysTime);          //現在時間轉成系統時間
     SystemTimeToFileTime(&sysTime,&localTime);     //系統時間轉成本地檔案時間
     LocalFileTimeToFileTime(&localTime,&fileTime); //本地檔案時間轉成檔案時間
     SetFileTime(he,&fileTime,NULL,NULL);           //設定檔案創建時間         CloseHandle(he);  //關閉檔案HANDLE
  } 
希望對你有幫助.
csm825050
一般會員


發表:49
回覆:29
積分:15
註冊:2003-08-20

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-19 11:14:45 IP:61.221.xxx.xxx 未訂閱
g6101你好: 那要如何設定時間呢? 我的檔案時間不一定是目前時間 請不吝指教
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-04-19 15:52:10 IP:211.76.xxx.xxx 未訂閱
引言: g6101你好: 那要如何設定時間呢? 我的檔案時間不一定是目前時間 請不吝指教
 
#include 
//-----------------------
FileSetDate(int Handle, int Age);
FileSetDate(const AnsiString FileName, int Age);
//-----------------------    
Handle is the Windows file handle of the file to alter. FileName is the name of the file to alter. Age is the timestamp to apply to the specified file. 還可以參考一下TDateTime
g6101
高階會員


發表:22
回覆:129
積分:110
註冊:2002-06-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-04-19 19:26:01 IP:61.226.xxx.xxx 未訂閱
引言: g6101你好: 那要如何設定時間呢? 我的檔案時間不一定是目前時間 請不吝指教
請參考下面的程式碼,視需求自行修改
  AnsiString str = "2001/10/12 23:30:25";
  TDateTime dt;
  //這是直接把字串轉成時間格式
  //dt = StrToDateTime(str);  <-不建議你用這種方法
  //這是比較正確的作法,先try一下輸入的時間是否存在或正確.
  if (TryStrToDateTime(str,dt))
  {
     //加入你要處理的動作
  }
順帶一提的是 pwipwi 兄所提供方法 //----------------------- FileSetDate(int Handle, int Age); FileSetDate(const AnsiString FileName, int Age); //----------------------- 它只能設定檔案最後修改時間,而無法設定創建時間 天長地久有時盡,追求知識無絕期!
系統時間:2024-04-29 10:31:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!