Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.03;
Скачать: CL | DM;

Вниз

Как узнать расширение файла по его имени?   Найти похожие ветки 

 
D@Nger ©   (2006-08-11 11:06) [0]

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


 
Fay ©   (2006-08-11 11:09) [1]

ExtractFileExt


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

ExtractFileExt()


 
D@Nger ©   (2006-08-11 11:11) [3]

Спасибо!


 
Fay ©   (2006-08-11 11:11) [4]

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


 
umbra ©   (2006-08-11 11:17) [5]

var
 ext, path: string;

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


 
D@Nger ©   (2006-08-11 11:18) [6]

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


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


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


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


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

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

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



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


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


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


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


 
Zeqfreed ©   (2006-08-11 12:29) [10]

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


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

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


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

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


 
Desdechado ©   (2006-08-11 12:39) [13]

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

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


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

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


 
SergP ©   (2006-08-12 05:31) [15]


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


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

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

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



Страницы: 1 вся ветка

Текущий архив: 2006.09.03;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.045 c
1-1149819265
tButton
2006-06-09 06:14
2006.09.03
оптимизация: что быстрее?


15-1155309115
Rouse_
2006-08-11 19:11
2006.09.03
Небольшой анонсик одной полезной утилиты, PEDump Shell Extension


15-1155461333
Чемульпо
2006-08-13 13:28
2006.09.03
Помогите плиз!


2-1155698844
California
2006-08-16 07:27
2006.09.03
Что такое XPManifest ?


15-1155210605
Opilki_Inside
2006-08-10 15:50
2006.09.03
Статическая переменная