Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.08.2007, 11:37   #1
necky
Пользователь
 
Аватар для necky
 
Регистрация: 11.08.2007
Сообщений: 69
Вопрос Поиск файлов

var
searchResult : TSearchRec;
f:integer;
begin
memo1.Clear;
if (FindFirst('*.html' , faAnyFile, searchResult) = 0 ) or (FindFirst('*.htm' , faAnyFile, searchResult) = 0 )then
begin
repeat
memo1.Lines.Add (String (''+searchResult.Name));
until FindNext(searchResult) <> 0;
FindClose(searchResult);
f:=Form1.Memo1.Lines.Count;
edit1.text:=IntToStr (f);


Как осуществить поиск по всем каталогам находящимся в папке с ехе-шкой? Но лучше всего было бы, еслиб подсказали как выбрать каталог и осуществить подобный поиск.
Советовать можно лишь в деле, в котором сам собираешься участвовать.
necky вне форума Ответить с цитированием
Старый 29.08.2007, 16:41   #2
vitalik007
Дельфист
Форумчанин
 
Аватар для vitalik007
 
Регистрация: 14.08.2007
Сообщений: 317
По умолчанию

зачем повторять тему???

var
s1,s2 : TSearchRec;
f:integer;
begin
memo1.Clear;
if (findfirst(extractfileDir(applicati on.exename),faD irectory,s1) = 0) then
repeat
if (FindFirst(s1.name+'/*.html' , faAnyFile, s2) = 0 ) or (FindFirst(s1.name+'/*.htm' , faAnyFile, s2) = 0 )then
repeat
memo1.Lines.Add (s2.Name);
until FindNext(s2) <> 0;
FindClose(searchResult);
until findnext(s1)<>0
findclose(s1);
f:=Form1.Memo1.Lines.Count;
edit1.text:=IntToStr (f);


P.S я не компилировал будет наверное много ошибок.
у меня комп только завтра будет исли надо исходник выложу завтра
ICQ-465033557
WINDOWS CE THE BEST
vitalik007 вне форума Ответить с цитированием
Старый 29.08.2007, 20:17   #3
Банзай
Пользователь
 
Аватар для Банзай
 
Регистрация: 21.08.2007
Сообщений: 89
По умолчанию

моно так:

procedure find(path:string);
var sr:TSearchRec;
begin
if FindFirst(path + '\*.*', faAnyFile, sr ) = 0 then
repeat
if ( sr.Name <> '.' ) and ( sr.Name <> '..' ) then
if ( sr.Attr and faDirectory ) = faDirectory then
find(path+'\'+sr.name)
else
if (ExtractFileExt(sr.Name)='html')or( ExtractFileExt(sr.Name)='htm')then
form1.listbox1.Items.Add(path+'\'+s r.name);
until FindNext( sr ) <> 0;
FindClose(sr);
end;

а там как получица можно directorylistbox на форму поставить в ней выбирать папку и вызывать подобную процедуру с аргументом выбранной папкой
подписываюсь

Последний раз редактировалось Банзай; 29.08.2007 в 20:23.
Банзай вне форума Ответить с цитированием
Старый 29.08.2007, 20:22   #4
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

necky, всё что вам надо здесь.

http://www.programmersclub.ru/lab
Alar вне форума Ответить с цитированием
Старый 30.08.2007, 14:51   #5
necky
Пользователь
 
Аватар для necky
 
Регистрация: 11.08.2007
Сообщений: 69
По умолчанию

Помогите!!! Прошу описать каждую строчку кода процедуры Find. И очень большая просьба куда, как её вставлять .. Alar - я скачал исходник, и не могу разобратся
Советовать можно лишь в деле, в котором сам собираешься участвовать.
necky вне форума Ответить с цитированием
Старый 30.08.2007, 15:00   #6
vitalik007
Дельфист
Форумчанин
 
Аватар для vitalik007
 
Регистрация: 14.08.2007
Сообщений: 317
По умолчанию

ты бы начал хотя-бы с простого
ICQ-465033557
WINDOWS CE THE BEST
vitalik007 вне форума Ответить с цитированием
Старый 30.08.2007, 16:36   #7
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

necky, давай выкладывай код, где не понятно.
Alar вне форума Ответить с цитированием
Старый 30.08.2007, 19:41   #8
necky
Пользователь
 
Аватар для necky
 
Регистрация: 11.08.2007
Сообщений: 69
По умолчанию

1. Не понятно что делает эта процедура.

procedure find(path:string);
var sr:TSearchRec;
begin
if FindFirst(path + '\*.*', faAnyFile, sr ) = 0 then
repeat
if ( sr.Name <> '.' ) and ( sr.Name <> '..' ) then
if ( sr.Attr and faDirectory ) = faDirectory then
find(path+'\'+sr.name)
else
if (ExtractFileExt(sr.Name)='html')or( ExtractFileExt( sr.Name)='htm')then
form1.listbox1.Items.Add(path+'\'+s r.name);
until FindNext( sr ) <> 0;
FindClose(sr);
end;
Советовать можно лишь в деле, в котором сам собираешься участвовать.
necky вне форума Ответить с цитированием
Старый 30.08.2007, 19:54   #9
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

http://www.programmersclub.ru/labmultimedta

Mp3-плеер

Программа для воспроизведения mp3 файлов. Для запуска программы поместите в каталог с Delphi исходником mp3 файлы и только после этого запускайте проект.
Скачать (15 кб)
Alar вне форума Ответить с цитированием
Старый 30.08.2007, 22:39   #10
necky
Пользователь
 
Аватар для necky
 
Регистрация: 11.08.2007
Сообщений: 69
По умолчанию

Наконец то дошло!!! Огромное спаибо!!! А как сделать, чтоб искал и в подкаталогах?
Советовать можно лишь в деле, в котором сам собираешься участвовать.
necky вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск *.csv и *.xls файлов Len@ Microsoft Office Excel 18 28.07.2008 22:31
Поиск файлов student_63 Общие вопросы Delphi 6 07.03.2008 19:00
Поиск файлов LeoN Общие вопросы Delphi 5 25.11.2007 22:54
поиск файлов KORN Компоненты Delphi 3 12.10.2007 05:42