Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.09.03;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.043 c
15-1154586310
Ega23
2006-08-03 10:25
2006.09.03
С Днём рождения! 3 августа


2-1155559354
UMU
2006-08-14 16:42
2006.09.03
FindDialog


15-1154711115
tio
2006-08-04 21:05
2006.09.03
Функции моды ,медианы ...


15-1155287138
flad
2006-08-11 13:05
2006.09.03
Читать тексты(книги)на ДВД-проигрывателе?


2-1155120400
vodvorezlaya
2006-08-09 14:46
2006.09.03
как организовать обменн данными между приложениями





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский