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

Вниз

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

 
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 вся ветка

Текущий архив: 2006.04.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
15-1142790768
Kolan
2006-03-19 20:52
2006.04.09
Интернет через разетку. Кто - нибудь пробовал?


3-1139916586
veb
2006-02-14 14:29
2006.04.09
ADO Fields


15-1142496449
SAS1024
2006-03-16 11:07
2006.04.09
Нужны 2 компонента. Заплачу :)


1-1141745031
Кефир87
2006-03-07 18:23
2006.04.09
Минимизация НЕ главной формы


2-1143187430
Lera
2006-03-24 11:03
2006.04.09
минимизация формы





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