Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2006.04.09;
Скачать: [xml.tar.bz2];

Вниз

Маска файла *.* и файл без расширения   Найти похожие ветки 

 
Serg777   (2005-08-06 12:39) [0]

StrSatisfy("123.exe","*.*") -> true
StrSatisfy("123"    ,"*.*") -> false
Я сканирую каталог в котором есть файлы без расширения и функция их не пропускает, а мне надо все файлы.
Без этой Функции я не могу, т.к. маска может быть разной.


 
Ajax ©   (2005-08-06 15:04) [1]

Может я не понял, но где в "123" точка, которая стоит в "*.*"? Попробуй просто задать маску "*".

PS: функцию не знаю, ответил из общих соображений, если глупость, извиняюсь.


 
Anatoly Podgoretsky ©   (2005-08-06 15:28) [2]

Так ты же явно указал точку в маске.


 
Anatoly Podgoretsky ©   (2005-08-06 15:28) [3]

И на всякий случай в Виндоус нет расширени, это чистая условность.


 
Serg777   (2005-08-06 16:33) [4]

Я так понимаю, что функция была создана в основном для работы с файлами. Например если пользователь введет "*.*", то в программе я это могу заменить на "*".
Но если он введет маску "*2?.*" (я так понимаю, что он имеет ввиду файлы с любым расширением, в том числе и без него), то функция выдаст false на файлах без расширения.
Кстати в Total Commander эта маска отмечает файлы и без расширения.
Можно конечно проверять каждый файл и если он без расширения, то добавлять точку. Но не хочется это делать.


 
Anatoly Podgoretsky ©   (2005-08-06 17:27) [5]

Serg777   (06.08.05 16:33) [4]
Ты неправильно подразумеваешь, не без расширения, а обязательно с ним, но с любым расширением. Надо любые, то маска должна быть *2?*" или возаожно *2?."


 
Serg777   (2005-08-06 17:36) [6]

ТОгда объясните почему принято помечать все файлы маской "*.*"


 
Anatoly Podgoretsky ©   (2005-08-06 17:41) [7]

По привычке, когда то были расширения, это когда имена были 8.3


 
Serg777   (2005-08-06 17:51) [8]

А сейчас, что их нет? Просто они могут быть и больше 3 символов.  

Предложенный пример *2?* пометить не только типа 123.exe, а также 123456.exe , 123456, 456123456 (а надо 456125.7657867)

*2?. пометить файлы у которых есть точка на конце.

Этот один недочет усложняет всю работу с масками как это принято в файловых менеджерах.


 
<Falcon>   (2005-08-08 10:16) [9]

Не пойму что за сложности? Зачем вообще StrSatisfy?
Почему не использовать DirList?
DirList:=NewDirList(OpenDirDialog1.Path, EditBox1.Text,FILE_ATTRIBUTE_NORMAL);
DirList.ScanDirectory(OpenDirDialog1.Path, EditBox1.Text,FILE_ATTRIBUTE_NORMAL);
и т.д.
Например так. Выбирай каталог, вводи в эдит свою маску и получай список фалов.
Если просто в нужно список вывести то вообще можно воспользоваться функциями комбобокса или мемо...
Или я чего-то не понял в вопросе?


 
Serg777   (2005-08-11 21:55) [10]

Я не хочу список файлов.
Я хочу при сканировании сразу что-нибудь делать с текущий файлом, не сохраняя его путь и имя.
А NewDirList может сканировать рекурсивно?


 
GMax   (2005-08-17 00:10) [11]

во времена 8.3 не было имён файлов без расширения, были с пустым расширением ххх., поэтому маска *.* была вполне легитимна.


 
GMax   (2005-08-17 20:20) [12]

... и, кстати, "*" означало файл без расширения (с пустым расширением)



Страницы: 1 вся ветка

Форум: "KOL";
Текущий архив: 2006.04.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.014 c
15-1142621675
olevacho_
2006-03-17 21:54
2006.04.09
Посоветуйте компонеты для построения отчетов


15-1142582154
Vlad Oshin
2006-03-17 10:55
2006.04.09
Можно ли в HP 6L 5L 1100 1200 печатать на рулонной бумаге?


1-1141567051
X9
2006-03-05 16:57
2006.04.09
Узнать доступность MSXML


3-1140019073
Ольга
2006-02-15 18:57
2006.04.09
Странное сообщение SQL-сервера


2-1143110357
alles
2006-03-23 13:39
2006.04.09
Как удалить ссылку на Unit из проекта?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский