在下正在幫單位搞一個文件管理系統.管理的文件都是OFFICE文件.今天遇到一個很頭疼的問題.就是我就保存文件入庫的時候有FindFirst函數來取的文件的相關屬性:
findfirst(file_path,faAnyfile,F);
  try
   ADOQ_YXWJ.FieldByName('文件名稱').AsString:=F.Name;
   ADOQ_YXWJ.FieldByName('文件大小').Value:=(F.Size/1024);
   ADOQ_YXWJ.FieldByName('最后修改日期').Value:=F.Time;
   ADOQ_YXWJ.FieldByName('最后修改人').AsString:=getusername;
這里的F是我定義的TsearchRec類.現在遇到的問題說是我最后出來的'最后修改日期'不是它的修改時間
比如說我的一個word文檔的修改時間是:'2006年3月1日, 下午 08:50'而在數據庫里顯示卻是'48717/03/24'這是怎麼回事啊?數據庫的'最后修改時間'的數據類型是Datetime類型.有沒有人能幫幫我.F.time 中的Time 是Integer類型.

解决方案 »

  1.   

    昨天就有人问过,用FileDateToDateTime函数来转换
      

  2.   

    要使用FileDateToDateTime函数,FileDateToDateTime应用举例:procedure TForm1.Button1Click(Sender: TObject);
    var
      iHandle: Integer;
      FD: TDateTime;
    begin
      iHandle := FileOpen(Application.ExeName, fmShareDenyNone);
      if iHandle <= 0 then Exit;
      Try
        FD := FileDateToDateTime(FileGetDate(iHandle));
        ShowMessage(FormatDateTime('YYYY-MM-DD HH:MM:SS', FD));
      Except
      End;
    end;