Форум: "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