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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 01.02.2013, 18:06   #1
Nullerset
Пользователь
 
Регистрация: 01.02.2013
Сообщений: 27
По умолчанию FindFirst и FindNext

Всем привет, я уже неделю мучаюсь с FindFirst и Findnext , лазил в гугле везде, ничего не понял, да и примеров нету нормальных.

Есть задача вывести в консоль все файлы которые находятся во всех папках на диске C: , помогите пожалуйста, уже неделю мучаюсь.
Nullerset вне форума
Старый 01.02.2013, 18:34   #2
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

Цитата:
да и примеров нету нормальных
Да ну...

http://www.google.ru/search?client=o...hannel=suggest
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума
Старый 01.02.2013, 18:40   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
да и примеров нету нормальных.
Не ври. Ты просто не искал.

Позвольте я пну вас носом http://www.delphibasics.ru/FindFirst.php
Человек_Борща вне форума
Старый 01.02.2013, 18:57   #4
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Ну и для полноты пну ещё в сторону поиска FindFirstFile. У него есть некоторые способности, которые могут пригодится (например, определение размера больших файлов)
eoln вне форума
Старый 01.02.2013, 19:02   #5
Nullerset
Пользователь
 
Регистрация: 01.02.2013
Сообщений: 27
По умолчанию

Цитата:
Сообщение от Ezhik Kihze Посмотреть сообщение
Хм спасибо, видимо плохо запросы делал
Nullerset вне форума
Старый 01.02.2013, 19:05   #6
Nullerset
Пользователь
 
Регистрация: 01.02.2013
Сообщений: 27
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Не ври. Ты просто не искал.

Позвольте я пну вас носом http://www.delphibasics.ru/FindFirst.php
Я был там, надо внимательней вопрос читать, мне надо список ВСЕХ файлов во всех ПАПКАХ и ПОДПАПКАХ на диске C:
Nullerset вне форума
Старый 01.02.2013, 19:17   #7
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Ответ: ЭТО плюс РЕКУРСИЯ
Человек_Борща вне форума
Старый 01.02.2013, 21:31   #8
XeruH
Форумчанин
 
Регистрация: 17.09.2010
Сообщений: 229
По умолчанию

Здесь даже гугл не нужен. Все есть в справке.
Правильно заданный вопрос - половина ответа!
XeruH вне форума
Старый 02.02.2013, 11:10   #9
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Вот примерчик:
Код:
procedure TForm1.FindFile(Dir: string);
var
  SR: TSearchRec;
  FindRes: Integer;
  Kol:integer;
begin
  FindRes := FindFirst(Dir + '*.*', faAnyFile, SR);
  while FindRes = 0 do
  begin
    if ((SR.Attr and faDirectory) = faDirectory) and
      ((SR.Name = '.') or (SR.Name = '..')) then
    begin
      FindRes := FindNext(SR);
      Continue;
    end;

    // если найден каталог, то
    if ((SR.Attr and faDirectory) = faDirectory) then
    begin
      // входим в процедуру поиска с параметрами текущего каталога +
      // каталог, что мы нашли
      FindFile(Dir + SR.Name + '\\');
      FindRes := FindNext(SR);
      // после осмотра вложенного каталога мы продолжаем поиск
      // в этом каталоге
      Continue; // продолжить цикл
    end;

    ListBox1.Items.Add(SR.Name);
    FindRes := FindNext(SR);
  end;
  FindClose(SR);
end;
FaTaL вне форума
Старый 03.02.2013, 15:48   #10
Nullerset
Пользователь
 
Регистрация: 01.02.2013
Сообщений: 27
По умолчанию

Цитата:
Сообщение от FaTaL Посмотреть сообщение
Вот примерчик:
Код:
procedure TForm1.FindFile(Dir: string);
var
  SR: TSearchRec;
  FindRes: Integer;
  Kol:integer;
begin
  FindRes := FindFirst(Dir + '*.*', faAnyFile, SR);
  while FindRes = 0 do
  begin
    if ((SR.Attr and faDirectory) = faDirectory) and
      ((SR.Name = '.') or (SR.Name = '..')) then
    begin
      FindRes := FindNext(SR);
      Continue;
    end;

    // если найден каталог, то
    if ((SR.Attr and faDirectory) = faDirectory) then
    begin
      // входим в процедуру поиска с параметрами текущего каталога +
      // каталог, что мы нашли
      FindFile(Dir + SR.Name + '\\');
      FindRes := FindNext(SR);
      // после осмотра вложенного каталога мы продолжаем поиск
      // в этом каталоге
      Continue; // продолжить цикл
    end;

    ListBox1.Items.Add(SR.Name);
    FindRes := FindNext(SR);
  end;
  FindClose(SR);
end;

Спасибо огромное!!!
Nullerset вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FindFirst, FindNext NieL Общие вопросы Delphi 1 20.12.2010 15:21
Почему не работает FindNext klimpashka23 Microsoft Office Excel 0 29.09.2009 23:23
Проблемы с FindNext Serejka Общие вопросы Delphi 3 16.03.2009 15:23
findfirst aesoem Общие вопросы Delphi 7 14.04.2008 17:06
FindFirst matus Помощь студентам 2 21.02.2008 19:34