Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск файлов (билдер), Как искать файлы? 
:(
    Опции темы
Klin
  Дата 8.10.2002, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: нет
Всего: 25



Как к примеру найти файл, который записан в поле Edit (ну или других полях)?
Заранее благодарю.


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
podval
Дата 8.10.2002, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 1
Всего: 62



В Билдере почти так же, как и в Дельфи. В статье http://www.infocity.kiev.ua/prog....id=2026
отлично расписано. Если есть трудности с переводом с Дельфи в Билдер, дай фрагмент кода, я тебе переведу.
PM WWW ICQ   Вверх
Klin
  Дата 9.10.2002, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: нет
Всего: 25



Если не трудно переведи:
procedure TForm1.FindFile(Dir:String);
Var SR:TSearchRec;
   FindRes: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;


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Vit
Дата 9.10.2002, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: нет
Всего: 207



Функции те же FindFirst/FindNext. Еще можно посмотреть в наш FAQ (но там тоже на Дельфи: http://www.forum.vingrad.ru/cgi-bin....t=1924) Если мне память не изменяет то в Help для Билдера есть пример использования FindFirst/FindNext.




--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Baa
Дата 10.10.2002, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



А еще можно тут посмореть...
http://devstate.by.ru/tutorial/FileSearch.html


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
podval
Дата 10.10.2002, 03:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 1
Всего: 62



Даю перевод.
Код

void TForm1.FindFile(AnsiString Dir);
{
  TSearchRec SR;
  int FindRes;

  FindRes = FindFirst(Dir + "*.*", faAnyFile, SR);
  while(FindRes == 0)
  {
    if ((SR.Attr && faDirectory) == faDirectory) &&
       ((SR.Name == ".") || (SR.Name == ".."))
    {
          FindRes = FindNext(SR);
    }
    if ((SR.Attr && faDirectory) == faDirectory) // если найден каталог, то
    {
          FindFile(Dir + SR.Name + "\\"); // входим в процедуру поиска
                                     // с параметрами текущего каталога +
                                     // каталог, что мы нашли
          FindRes = FindNext(SR); // после осмотра вложенного каталога мы
                                  // продолжаем поиск в этом каталоге
    }
    ListBox1.Items.Add(SR.Name);
    FindRes = FindNext(SR);
 }
 FindClose(SR);
}

PM WWW ICQ   Вверх
Klin
  Дата 10.10.2002, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: нет
Всего: 25



Спасибо podval!
Ты мне очень помог!


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0479 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.