Поиск файла в директории





Цель: найти последний созданный файл по времени и дате создания в определённой директории.

//Borland c++
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
// ---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

TForm1 *Form1;

// ---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) {
}
// ---------------------------------------------------------------------------

void FileSearch() {
    TSearchRec sr;
    String fn;
    _SYSTEMTIME st;
    TDateTime dt, ft;
    fn = "";
    dt = 0;
    try {
        if (FindFirst("C:\\Users\\admin\\Desktop\\*.*", faAnyFile, sr) == 0)
            do {
                if (sr.Attr == faDirectory)
                    continue;
                FileTimeToSystemTime(&sr.FindData.ftCreationTime, &st);
                ft = SystemTimeToDateTime(st);
                if (ft > dt) {
                    dt = ft;
                    fn = sr.Name;
                }
            }
            while (!(FindNext(sr) != 0));
    }
    __finally {
        FindClose(sr);
    }
    if (fn.IsEmpty())
        ShowMessage("Нет Файлов");
    else
        ShowMessage(String("Самый новый файл: ") + fn);
}

void __fastcall TForm1::Button1Click(TObject *Sender) {
    FileSearch();
}

// ---------------------------------------------------------------------------

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*