![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Форумчанин Подтвердите свой е-майл
Регистрация: 18.11.2006
Сообщений: 172
|
![]()
Зачем создавать визуально? Зачем давать нагрузгу компу??? Проще создать виртуальный список, StringList к примеру, а не Memo
дык!
|
![]() |
![]() |
![]() |
#12 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
![]()
tstringlist это родной для delphi способ работы со строками и текстовыми файлами
|
![]() |
![]() |
![]() |
#13 |
Форумчанин
Регистрация: 24.01.2007
Сообщений: 323
|
![]()
есть код
procedure ffind(cat:string); //каталог, откуда начать поиск var sea:TSearchRec; res:integer; //результат поиска (0 или нет) begin res:=FindFirst(cat+'*.*',faAnyFile,sea); //ищем первый файл res:=findNext(sea);//ищем следующий файл While res=0 do begin if (Sea.Attr=faDirectory) and ((Sea.Name='.')or(Sea.Name='..')) then//чтобы не было файлов . и.. begin Res:=FindNext(sea); Continue;//продолжаем цикл end; if (Sea.Attr=faDirectory) then//если нашли директорию, то ищем файлы в ней begin Ffind(cat+Sea.Name+'\');//рекурсивно вызываем нашу процедуру Res:=FindNext(Sea);//ищем след. файл Continue;//продолжаем цикл end; form1.ListBox1.Items.Add(Sea.Name);//добавляем в Listbox:Tlistbox имя файла Res:=FindNext(Sea);//ищем след. файл end; FindClose(Sea);//освобождаем пересенную поиска end; когда меняю *.* на *.mp3 перестаёт искать файлы. Почему?
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
![]() |
![]() |
![]() |
![]() |
#14 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
боже мой )))
вот держи быстренько наваял: procedure Mp3Find(Dir: String; List: TStrings); var Sr: TSearchRec; begin if (Dir[Length(Dir)]<>'\') then Dir := Dir + '\'; if FindFirst(Dir + '*.*', faAnyFile, SR) = 0 then repeat if (Sr.Attr and faDirectory = 0) and (AnsiUpperCase(ExtractFileExt(Sr.Na me))='.MP3') then { установлен в маске 0й бит - значит файл } begin List.Add(Dir + Sr.Name); end else if (Sr.Name<>'.') and (Sr.Name<>'..') then begin Mp3Find(Dir + Sr.Name + '\', List); end; until FindNext(Sr) <> 0; FindClose(Sr); end; |
![]() |
![]() |
![]() |
#15 |
Форумчанин
Регистрация: 24.01.2007
Сообщений: 323
|
![]()
да, но проблема не только в этом, я хочу чтобы искало любой файл, а пример с сменой розшырения я так, просто навёл..( Как чтобы искало любой файл???
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
![]() |
![]() |
![]() |
![]() |
#16 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
ладно, если это так сложно !
procedure Mp3Find(Dir, Ext: String; List: TStrings); var Sr: TSearchRec; begin if (Dir[Length(Dir)]<>'\') then Dir := Dir + '\'; if FindFirst(Dir + '*.*', faAnyFile, SR) = 0 then repeat if (Sr.Attr and faDirectory = 0) and (AnsiUpperCase(ExtractFileExt(Sr.Na me))=AnsiUpperCase(ext)) then { установлен в маске 0й бит - значит файл } begin List.Add(Dir + Sr.Name); end else if (Sr.Name<>'.') and (Sr.Name<>'..') then begin Mp3Find(Dir + Sr.Name + '\', List); end; until FindNext(Sr) <> 0; FindClose(Sr); end; вот суй расширение с точкой в ext !! параметр |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выбор компонента для работы с содержимым текстовых файлов[Delphi] | sergey31 | Помощь студентам | 2 | 28.08.2008 16:53 |
копирование текстовых файлов | teacher | Общие вопросы Delphi | 4 | 16.02.2008 20:29 |
как загрузить в ListBox несколько текстовых файлов? | One.Love | Общие вопросы Delphi | 5 | 14.01.2008 11:54 |
Слияние двух текстовых файлов | nataly_ukr | Общие вопросы Delphi | 5 | 26.12.2007 16:45 |
Сравнение 2-х файлов | asale | Microsoft Office Excel | 17 | 03.06.2007 15:58 |