Главная страница
    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.003 c
15-1278102588
Юрий
2010-07-03 00:29
2010.10.03
С днем рождения ! 3 июля 2010 суббота


15-1278403825
DaveRT
2010-07-06 12:10
2010.10.03
Нужен код


2-1278433099
Delphist2
2010-07-06 20:18
2010.10.03
полупрозрачность


15-1278499536
12
2010-07-07 14:45
2010.10.03
Как компилировать командной строкой? Почему ошибка


15-1277662562
tesseract
2010-06-27 22:16
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский