Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1278068031
dr_creigan
2010-07-02 14:53
2010.10.03
нужен порт


4-1240574544
Виталий
2009-04-24 16:02
2010.10.03
Как программно стать владельцем файла?


15-1278343790
AKE
2010-07-05 19:29
2010.10.03
Где можно ходить где нельзя...


2-1278747785
john-s
2010-07-10 11:43
2010.10.03
Не подключается к удаленной БД


15-1278107209
Petr V. Abramov
2010-07-03 01:46
2010.10.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
Английский Французский Немецкий Итальянский Португальский Русский Испанский