Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 为什么不推荐使用警告文件_Delphi - Fatal编程技术网

Delphi 为什么不推荐使用警告文件

Delphi 为什么不推荐使用警告文件,delphi,Delphi,我试图使用函数FileAge获取文件日期和时间,但在Delphi 10.3中收到警告,该函数已被弃用,因此我应该使用什么?我将同时使用Windows和OS X。我使用它的方式如下: var fileDate: Integer; Begin fileDate := FileAge(path + fileName); end; var FileDateTime: TDateTime; Begin FileAge(path + fileName, FileDateTime); 注意

我试图使用函数
FileAge
获取文件日期和时间,但在Delphi 10.3中收到警告,该函数已被弃用,因此我应该使用什么?我将同时使用Windows和OS X。我使用它的方式如下:

var
fileDate: Integer;
Begin

  fileDate := FileAge(path + fileName);

end;
var
  FileDateTime: TDateTime;
Begin
  FileAge(path + fileName, FileDateTime);
注意:不推荐使用FileAge的第一个重载版本。改用第二个版本的FileAge

第二个版本(也读取同一页)是在out参数中返回TDateTime的版本,因此您可以这样使用它:

var
fileDate: Integer;
Begin

  fileDate := FileAge(path + fileName);

end;
var
  FileDateTime: TDateTime;
Begin
  FileAge(path + fileName, FileDateTime);
不过,函数的名称有点奇怪。建议的重载返回文件的日期时间,您必须从当前日期时间中减去该日期时间才能获得实际年龄,因此我个人会选择不推荐该函数,而选择使用不同名称的函数。。然后,原来的函数也有同样的问题


您可以查看和相关的函数。我觉得这个名字更清楚一点。当然,这取决于您。

谢谢,因此在新函数中,我必须从当前日期时间中减去,以获得实际年龄?Jup。TDateTime实际上是一个表示天数的双精度数,包括时间的分数。所以你可以简单地减去其中的两个,得到几天内的年龄。您还可以使用
System.DateUtils
中的一个函数来实现此目的。例如,如果在之间使用
seconds,则以秒为单位获得年龄,这也是您也可以从旧函数中获得的年龄。请注意,旧函数还提供了文件日期(就像时间戳一样),而不是实际的文件期限。