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





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

//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();
}

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

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

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

*