Форум: "Начинающим";
Текущий архив: 2010.10.03;
Скачать: [xml.tar.bz2];
ВнизУсловие на расширение открываемого файла Найти похожие ветки
← →
Egoor (2010-07-05 15:31) [0]Здравствуйте. Я делаю просмоторщик текстовых фалов и картинок. Задаю условие:
with OpenDialog1 do
if Execute then
begin
if OpenDialog1.FileName="*.jpg" then
ShowMessage("Картинка");
end
Но ничего не работает. ShowMessage - это для примера. При открытии OpenDialog ставиться одно возможное расширение открываемого файла - .jpg. Как исправить? Надо, еасли это текст открыть, а если картинка показать ShowMessage
← →
{RASkov} © (2010-07-05 15:43) [1]> [0] Egoor (05.07.10 15:31)
> if OpenDialog1.FileName="*.jpg" then
Условие не сработает, потому как файла с таким именем не будет.
Тут звездочка и вопрос не работают... Есть отдельные методы(модули) например masks...
но можно и такой вариант:if Execute then
begin
if AnsiLowerCase(ExtractFileExt(FileName))=".jpg" then
ShowMessage("Файл с расширением jpg");
← →
12 © (2010-07-05 15:43) [2]> if Execute then
> begin
> if pos(".jpg",OpenDialog1.FileName) <> 0 then
> ShowMessage("Возможно картинка");
← →
12 © (2010-07-05 15:45) [3]> При открытии OpenDialog ставиться одно возможное расширение
> открываемого файла
OpenDialog1.Filter := "*.txt; *.bmp";
if openDialog1.Execute
← →
Deltas © (2010-07-05 19:12) [4]
> 12 © (05.07.10 15:43) [2]
> > if Execute then
> > begin
> > if pos(".jpg",OpenDialog1.FileName) <> 0 then
> > ShowMessage("Возможно картинка");
А если OpenDialog1.FileName = Некартинка.jpg.txt?
← →
12 © (2010-07-06 08:33) [5]
> ShowMessage("Возможно картинка");
← →
Deltas © (2010-07-06 11:41) [6]
> 12 © (06.07.10 08:33) [5]
> > ShowMessage("Возможно картинка");
Тогда, предлагаю упростить алгоритм :)
If Execute then
ShowMessage("Возможно картинка");
← →
Anatoly Podgoretsky © (2010-07-06 12:05) [7]> Deltas (06.07.2010 11:41:06) [6]
Ну если упрощать то до предела
ShowMessage("Возможно картинка");
← →
antonn © (2010-07-06 12:13) [8]
> > if pos(".jpg",OpenDialog1.FileName) <> 0 then
> > ShowMessage("Возможно картинка");
if pos("["+ansilowercase(extractfileext(OpenDialog1.FileName))+"]","[.jpg][.bmp][.png]") <> 0 then
=)
← →
Dennis I. Komarov © (2010-07-06 12:39) [9]ren picture.jpg document.doc
И все же это картинка...
← →
Deltas © (2010-07-06 13:37) [10]
> Dennis I. Komarov © (06.07.10 12:39) [9]
> ren picture.jpg document.doc
> И все же это картинка...
С чего Вы взяли? Ведь перед этим могло быть
ren music.mp3 picture.jpg
Какая же это картинка?
Кстати, скажу по секрету, картинок вообще не сущесвует, существуют только последовательности байт, организованные в виде файла. А картинка это или не картинка - все зависит от того, как эту последовательность байт обрабатывать.
← →
Dennis I. Komarov © (2010-07-06 13:58) [11]
> С чего Вы взяли? Ведь перед этим могло быть
> ren music.mp3 picture.jpg
Да потому что это мой picture.jpg. Что захочу, то туда и нарисую...
Сей пост лишь показывает, что расширение файла никак не отвечает 100% за свое содержание...
> Кстати, скажу по секрету, картинок вообще не сущесвует,
> существуют только последовательности байт, организованные
> в виде файла. А картинка это или не картинка - все зависит
> от того, как эту последовательность байт обрабатывать.
Под картинками подразумевается последовательность байт в определенном, общепринятом, документированном формате(ах)... Зачем нам этот секрет?
← →
Демо © (2010-07-06 14:10) [12]
> Egoor (05.07.10 15:31
Используй функцию проверки по маске - MatchesMask
← →
Deltas © (2010-07-06 14:50) [13]
> Dennis I. Komarov © (06.07.10 13:58) [11]
А теперь посмотрите на название ветки: "Условие на расширение открываемого файла".
Разумеется, расширение не гарантирует, что файл содержит данные в соответствующем формате.
← →
Dennis I. Komarov © (2010-07-06 15:08) [14]
> Deltas © (06.07.10 14:50) [13]
Посмотрел, и что?
← →
Deltas © (2010-07-06 15:23) [15]То, что в данном случае, внутренний формат файла не важен. Проверка только по расширению.
← →
Dennis I. Komarov © (2010-07-06 15:31) [16]
> Deltas © (06.07.10 15:23) [15]
С чего бы?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.10.03;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.004 c