Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 02.02.2014, 23:10   #1
SolovejK
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 52
По умолчанию функция PathIsDirectoryEmpty

Как я понял функция PathIsDirectoryEmpty проверяет пустая ли папка. Покажите, пожалуйста, на примере как использовать эту функцию в Delphi.
SolovejK вне форума
Старый 02.02.2014, 23:46   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

примерно так:

Код:
if PathIsDirectoryEmpty('c:\temp') 
   then ShowMessage('Папка пуста')
   else ShowMessage('Папка НЕ пуста');
Serge_Bliznykov вне форума
Старый 03.02.2014, 00:02   #3
SolovejK
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 52
По умолчанию

А что прописать в uses, чтобы delphi увидела функцию?
SolovejK вне форума
Старый 03.02.2014, 00:14   #4
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Код:
Shlwapi
>>> msdn
Будь проще и люди к тебе потянутся
spamer вне форума
Старый 03.02.2014, 00:18   #5
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Код:
{$R *.dfm}

USES FileCtrl; // для SelectDirectory

function PathIsDirectoryEmpty(pszPath: PChar): BOOL; stdcall;
external 'shlwapi.dll' name 'PathIsDirectoryEmptyW';

procedure TForm1.Button1Click(Sender: TObject);
var b: bool;
chosenDirectory: String;
begin
if SelectDirectory('Выберите каталог', '', chosenDirectory) then begin
b := PathIsDirectoryEmpty(PChar(chosenDirectory));
if b = true then ShowMessage('Каталог пустой');
if b = false then ShowMessage('Каталог не пустой');
end;
end;
doktor255 вне форума
Старый 03.02.2014, 00:22   #6
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Цитата:
Сообщение от doktor255 Посмотреть сообщение
Код:
function PathIsDirectoryEmpty(pszPath: PChar): BOOL; stdcall;
external 'shlwapi.dll' name 'PathIsDirectoryEmptyW';
Все написано до нас...модуль Shlwapi
Будь проще и люди к тебе потянутся
spamer вне форума
Старый 03.02.2014, 00:25   #7
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Зачем пихать весь модуль, если можно обойтись вызовом функции DLL?
doktor255 вне форума
Старый 03.02.2014, 00:45   #8
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

Я например этим пользуюсь

Код:
  
uses IOUtils;
...
if TDirectory.IsEmpty('c\temp') then ShowMessage('Папка пуста')
   else ShowMessage('Папка НЕ пуста');
ZuBy вне форума
Старый 03.02.2014, 00:58   #9
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Сообщение от doktor255 Посмотреть сообщение
Зачем пихать весь модуль, если можно обойтись вызовом функции DLL?
А с модулем Windows ты также поступаешь?
northener вне форума
Старый 03.02.2014, 01:14   #10
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
А с модулем Windows ты также поступаешь?
Ты зря так иронизируешь! Я когда над установщиком работал, мне нужно было получить 2 программки наименьшего размера, которые вшивались в архив. Пришлось огромные куски кода копировать в unit что бы воспользоваться одной функцией. что-то приходилось "изобретать" с 0.
итог все же успешный 1 программка 56 кб, 2 программа 1008 кб на Delphi XE5 + сжать все upx'оми вообще прекрасно.

Итог полезно, но не всегда уместно!
ZuBy вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ Функция Andreima Помощь студентам 0 05.06.2012 20:05
функция eol Microsoft Office Excel 4 28.02.2012 12:09
Функция KatruKot C# (си шарп) 3 14.06.2011 10:03
одна функция потока, а другая функция - член класса запускающего этот поток Дмитрий_Ч Общие вопросы C/C++ 2 27.09.2007 08:50