![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать расширение файла по его имени? [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()