Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать расширение файла по его имени? [D7, XP]


D@Nger ©   (2006-08-11 11:06:00) 

Здравствуйте! У меня есть полный путь к файлу. Как узнать какое расширение у файла? мне на ум приходит только тупо брать последние символы в названии файла. подскажите корректный способ.


SergP   (2006-08-12 05:31:00) [1]


> [14] D@Nger ©   (11.08.06 14:15)
> Проверку по расширению я убрал. Просто прверяю формат файла.
> [8]


М-да...
При покупке в магазине продуктов выяснить годятся ли они для употребления  тоже можно разными способами:
1. Сожрать. Если неприятных последствий не последует - значит все ОК.
2. Посмотреть дату изготовления и срок годности на упаковке и сделать выводы.

А способ:
> pic:=TJpegImage.Create;
> try
> pic.LoadfromFile(path);
> except
>   showmessage('загружаемый файл не в jpg-формате либо поврежден')
> ;  
> end;

Это аналог первого варианта. ИМХО.


D@Nger   (2006-08-11 14:15:00) [2]

Проверку по расширению я убрал. Просто прверяю формат файла. [8]


Desdechado   (2006-08-11 12:39:00) [3]

Корректнее проверять сигнатуру по заголовку.

> узнать расширение файла по его имени?
Как узнать фамилию человека его по имени?


D@Nger   (2006-08-11 12:34:00) [4]

я понял почему не возникало ошибки. У меня просто текстовый файл был пустой. Попробовал с текстом, ошибка сгенирировалась. Спасибо!


D@Nger   (2006-08-11 12:31:00) [5]

файл не может быть корректным. я просто для проверки, изменил расширение у текстового файла.


Zeqfreed   (2006-08-11 12:29:00) [6]

Любые JPEG/JFIF файлы начинаются с 2-х байт: FFD8. И кончаются двумя другими: FFD9.


Сергей М.   (2006-08-11 12:10:00) [7]


> Событие ошибки не возникает


Значит загруженный файл имеет корректную jpeg-структуру


D@Nger   (2006-08-11 12:06:00) [8]

Каким способом его загружать. Делаю так:

 pic:=TJpegImage.Create;
 try
 pic.LoadfromFile(path);
 except
   showmessage('загружаемый файл не в jpg-формате либо поврежден');  
 end;



Событие ошибки не возникает.


Сергей М.   (2006-08-11 11:21:00) [9]


> D@Nger ©   (11.08.06 11:18) [6]


Попытаться загрузить его (см. TJpegImage).
Возникшее при загрузке исключение как правило есть факт того, что загружаемый файл не в jpg-формате либо поврежден.


D@Nger   (2006-08-11 11:18:00) [10]

а как узнать, что это именно изображение Jpg, а не какой нибудь текстовый файл, с измененным расширением.


umbra   (2006-08-11 11:17:00) [11]

var
 ext, path: string;

ext := ExtractFileExt(path);//расширение с точкой
ext := Copy(ext, 2, Length(ext) - 1); //убираем точку


D@Nger   (2006-08-11 11:11:00) [12]

Спасибо!


Fay   (2006-08-11 11:11:00) [13]

2 Сергей М. ©   (11.08.06 11:09) [2]
Ты знал! 8)


Fay   (2006-08-11 11:09:00) [14]

ExtractFileExt


Сергей М.   (2006-08-11 11:09:00) [15]

ExtractFileExt()


Наверх

Титульная страница Поиск, карта сайта Написать письмо