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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.01.2012, 19:58   #1
Damikk
 
Регистрация: 04.01.2012
Сообщений: 5
По умолчанию Вопрос по расширению файла

Доброго времени суток,надеюсь данный вопрос не поднимался раньше,если же уже была такая тема прошу камнями не кидать) Проблема вот в чем вот кусок кода

if FindFirst('C:\*.*',faAnyFile,S)=0 then
repeat
if (s.Name <> '..') and (s.Name <>'.') then
ListBox1.Items.Add(s.Name);
until FindNext(s) <> 0;
FindClose (s);

вы поняли что она выводит)но вот в чем загвоздка,когда пользователь нажимает на название файла должна вывестись картинка которая ассоциируется с данным файлом,делаю я это так

StrPCopy(@test_file,(ExtractFileExt (ListBox1.Items[ListBox1.ItemIndex]))+#0);
SHGetFileInfo(@test_file,0,FileInfo ,SizeOf(FileInfo),SHGFI_ICON or SHGFI_USEFILEATTRIBUTES);
test_icon := TIcon.Create;
test_icon.Handle := FileInfo.hIcon;
Image1.Picture.Icon:=test_icon;

Все бы хорошо но когда пользователь нажимает на папку в названии которой есть точка (например my.folder) то вместо изображения папки вылазит изображение пустого файла,а мне надо изображение папки,что делать?Заранее благодарен за ответ
Damikk вне форума Ответить с цитированием
Старый 04.01.2012, 20:07   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

используйте
Код:
function isFolder(name:string):boolean;
begin
 Result:=GetFileAttributes(PChar(name)) and FILE_ATTRIBUTE_DIRECTORY;
end;
для проверки на предмет папка ли.
помните что файл должен существовать(тут нет проверки на существания)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.01.2012, 20:09   #3
Damikk
 
Регистрация: 04.01.2012
Сообщений: 5
По умолчанию

Пепел Феникса спасибо))))
Damikk вне форума Ответить с цитированием
Старый 04.01.2012, 20:10   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Используйте свои иконки в таких случаях.
Человек_Борща вне форума Ответить с цитированием
Старый 04.01.2012, 20:17   #5
Damikk
 
Регистрация: 04.01.2012
Сообщений: 5
По умолчанию

Моя "детская" решена,тему можно закрывать,всем спасибо!
Damikk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отсортировать файлы в обозревателе по расширению? Trinock Win Api 2 04.12.2011 13:28
Вопрос по закрытию файла serafim09 Microsoft Office Excel 9 18.09.2009 10:57
Связывание файлов по расширению Ratmir_1 Общие вопросы Delphi 5 13.11.2008 18:33
Имя файла по расширению wwww Общие вопросы Delphi 5 19.12.2007 03:41
Поиск по расширению Memories Общие вопросы Delphi 6 20.09.2007 20:03