@krista 
Добрый день!
Для того чтобы проверить пуста ли папка нужно прочесть ее содержимое
Сделать это можно следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21  | 
function TargetDirIsEmpty(APath: String): Boolean;
var SearchRec: TSearchRec;
begin 
    Result := True;
    APath:= IncludeTrailingPathDelimiter(APath);
    if FindFirst(APath+ '*.*', faAnyFile, SearchRec) = 0 then
    repeat
        if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
        begin
            Result := False;
            FindClose(SearchRec);
            Exit;
        end;
    until
        FindNext(SearchRec) <> 0;
    FindClose(SearchRec); 
end;
if TargetDirIsEmpty('C:\Temp') then
  ShowMessage('Папка пуста') else
  ShowMessage('Папка не пуста');
 | 
@krista 
Для проверки, является ли папка пустой в Delphi, можно использовать следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15  | 
uses System.SysUtils, System.IOUtils;
function IsFolderEmpty(const FolderPath: string): Boolean;
var
  SearchRec: TSearchRec;
begin
  Result := FindFirst(TPath.Combine(FolderPath, '*.*'), faAnyFile, SearchRec) = 0;
  if Result then
  begin
    Result := not ((SearchRec.Name = '.') or (SearchRec.Name = '..'));
    if Result then
      Result := FindNext(SearchRec) <> 0;
  end;
  FindClose(SearchRec);
end;
 | 
Эта функция проверяет, есть ли в папке любые файлы или подпапки, кроме текущей и родительской папок. Если такие файлы или подпапки есть, то функция вернет False, иначе вернет True, что означает, что папка пуста. Указанный код использует System.IOUtils для работы с файловой системой.