Delphi - 从给定路径获取最后创建的文件夹名称

use*_*981 3 delphi

是否有函数可以从给定路径获取最后创建的文件夹?我想查看最后创建的文件夹,以检查我的相机今天是否拍摄了照片。我想到的另一种方法是获取系统日期,然后开始搜索包含当前日期的文件夹。但是,如果相机日期错误,那么这种方法将不起作用!谢谢。还有其他想法吗?

前任:

if lastcreatedfolder(dir_path):='05012016' then 
showmessage('TODAY A FOLDER WAS CREATED') 
else 
showmessage('NO FOLDER WAS CREATED TODAY!');
Run Code Online (Sandbox Code Playgroud)

Chr*_*sen 5

Delphi 2010也有这个IOUtils.pas单元。

使用本机,可以找到最后创建的文件夹,如下所示:

uses
  IOUtils, Types, DateUtils;

function FindLastCreatedDirectory(const APath: string): string;
var
  LastCreateTime : TDateTime;
  PathsInQuestion: TStringDynArray;
  n : Integer;
begin
  LastCreateTime := MinDateTime;
  Result := '';

  PathsInQuestion := TDirectory.GetDirectories(APath);
  for n := Low(PathsInQuestion) to High(PathsInQuestion) do
  begin
    if CompareDateTime(TDirectory.GetCreationTime(PathsInQuestion[n]), LastCreateTime) = GreaterThanValue then
    begin
      LastCreateTime := TDirectory.GetCreationTime(PathsInQuestion[n]);
      Result := PathsInQuestion[n];
    end;
  end;
end;
Run Code Online (Sandbox Code Playgroud)