Главная страница
    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.011 c
1-1141964660
anton773
2006-03-10 07:24
2006.04.09
Делфи тормозит


11-1123867743
Riton
2005-08-12 21:29
2006.04.09
KOL + freelibrary


2-1143039573
Boris Marchenko
2006-03-22 17:59
2006.04.09
Перестановки


2-1143180082
konstvd
2006-03-24 09:01
2006.04.09
Как вставить лист из шаблона в документ word с форматированием?


2-1143030719
Khim
2006-03-22 15:31
2006.04.09
Messagebox





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