Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.005 c
2-1278323902
pit
2010-07-05 13:58
2010.10.03
Преобразование вида "file:///C:...." в обычный windows путь


15-1278448186
Юрий
2010-07-07 00:29
2010.10.03
С днем рождения ! 7 июля 2010 среда


11-1224681119
dron9999
2008-10-22 17:11
2010.10.03
не могу установить компонент


2-1278996425
azamatufa
2010-07-13 08:47
2010.10.03
Подскажите как правильно выводить отчет в Word


2-1278083537
AKE
2010-07-02 19:12
2010.10.03
Как скопировать один массив массивов в другой?




   Наверх