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

Вниз

Условие на расширение открываемого файла   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.009 c
11-1224845500
Кто б сомневался
2008-10-24 14:51
2010.10.03
Аналог Timage для PNG - положить картинку на форму


2-1279059236
AKE
2010-07-14 02:13
2010.10.03
Как поведёт себя команда Readln(F, var1, var2,..., varn)??


3-1245651812
b/@.
2009-06-22 10:23
2010.10.03
Как проверить наличие SQL-сервера Firebird ?


15-1278002591
KilkennyCat
2010-07-01 20:43
2010.10.03
В поисках оптоволокна наткнулся на "больных"


2-1278159774
alex810
2010-07-03 16:22
2010.10.03
Запрос с нечувствительностью к регистру