![]() |
|
|
#1
|
|||
|
|||
|
Здравстрвуйте.
Делаю поиск mp3 файла. Прописываю имя файла в edit1, маска в combobox1, выбор дисков в edit2. Процедура: Код:
procedure Find;
var
SearchRec: TSearchRec;
cDir: string;
begin
GetDir(0,cDir);
if cDir[length(cDir)] <> '\' then cDir := cDir+'\';
if FindFirst(FileName,faAnyfile,SearchRec) = 0 then
repeat
if (SearchRec.Attr and faAnyfile) = SearchRec.Attr then
begin
Form1.listbox1.Items.Add(cDir + SearchRec.Name);
end;
until FindNext(SearchRec) <> 0;
if FindFirst('*', faDirectory, SearchRec) = 0 then
repeat
if (SearchRec.Attr and faDirectory) = faDirectory then
if SearchRec.Name[1] <> '.' then
begin
ChDir(SearchRec.Name);
Find;
ChDir('..');
end;
until FindNext(SearchRec) <> 0 ;
end;Что меня не устраивает - поиск производится по первой букве. Тойсь. Если вписываю в edit1 слово Пугачева, тогда находит Пугачева - Айсберг, если пишу слово Айсберг - ничего не находит. Дальше. На диске D ищет без ошибок, на диске E с ошибкой "I/O error 123" (пробовал использовать try except end) не помогает), на диске C выскакивает сообщение "File not found", хотя файлы нужные выводит в Listbox1. Что тут может быть не так? Помогите пожалуйста. Извиняюсь, что поместил тему в Мультимедиа, так как это повязано с плейером. |