Предлагаю сделать всё иначе. Код с пояснениями:
Code
** Что должно быть в имени файла:
search$='man'
** Ищем
SearchForFiles("C:\test","txt")
** Перебираем весь список с результатом
** CBK_NumInList - возвращает количество строк во внутреннем списке MMB,
** он же - <List> (см. справку) - в нём все результаты поиска
For i=1 To CBK_NumInList
** В переменную загружаем i-элемент списка
LoadText("path$","<List>i")
** Извлекаем из пути имя файла
name$=ExtractName(path$)
** Выполняем поиск в имени файла
pos=POS(search$,name$)
** Если нашли, искомый файл - path$
If (pos<>0) Then
Message("Файл, удовлетворяющий условию: ","path$")
End
Next i
И вот ещё что. Впредь прошу заключать свой код в теги code.
Добавлено (10 Апрель 2010, 23:27)
---------------------------------------------
А теперь объясняю, почему Ваш код неверный, как и подход к решению задачи.
Вы загрузили в ListBox все пути к файлам. Далее смотрите каждый и если он не подходит - Вы его удаляете из списка.
Ошибка в том, что при удалении в списке первого элемента, нумерация остальных ведь смещается и второй станет первым, третий вторым и так далее.
Условие поиска написано правильно, но удаление работает неверно. Вы продолжаете убирать элементы с их прежней нумерацией, потому они и удаляются непонятно как