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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2009, 01:00   #1
GvR
Пользователь
 
Аватар для GvR
 
Регистрация: 03.11.2009
Сообщений: 29
Вопрос Процедура поиска нескольких файлов одновременно

У меня такая задача: При нажать на buton нужно отыскать нужные файлы (их несколько!) И вивисты их пути в memo. Например должно выйти:
Код:
D:\Net\myfile.txt
C:\Test\log.dat
E:\Next\Edit\file.txt
и т.д.
GvR вне форума Ответить с цитированием
Старый 15.11.2009, 01:29   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Посмотрите тему
http://www.programmersforum.ru/showthread.php?t=68030
та м приведен код для поиска и занесения в листвью.
Вам нужно разобраться с куском кода между FindFirst и FindClose.
(Рекомендую заглядывать в хэлп)
И немного переделать под себя - сделать проверки на совпадение с именами из вашего списка и вместо листвью занести туда, куда вы хотите.
mihali4 вне форума Ответить с цитированием
Старый 15.11.2009, 01:42   #3
Alex2009
Proger Man
Форумчанин
 
Аватар для Alex2009
 
Регистрация: 07.03.2009
Сообщений: 584
По умолчанию

Код:
procedure TForm1.FindFile(Dir,ext: string);
var
  SR: TSearchRec;
  FindRes: Integer;
begin
  Ext:=ANSILowerCase(Ext);
  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;

    if ANSILowerCase(ExtractFileExt(SR.Name))=Ext{по поводу точки не помню...надо ли в расширении писать или нет} then ListBox1.Items.Add(SR.Name);
    FindRes := FindNext(SR);
  end;
  FindClose(SR);
To Alex2009 from mihali4
И как? Полегчало? А если ему интересно самому разобраться?
ShowMessage('Добро пожаловать!');

Последний раз редактировалось mihali4; 15.11.2009 в 01:52.
Alex2009 вне форума Ответить с цитированием
Старый 15.11.2009, 02:43   #4
GvR
Пользователь
 
Аватар для GvR
 
Регистрация: 03.11.2009
Сообщений: 29
По умолчанию

mihali4, спасибо.
Alex2009, код етот видел, автор топика откуда он взят я.
(Извините за етот пост, здесь был дурацкий вопрос, я поправил..)

Последний раз редактировалось GvR; 15.11.2009 в 02:55.
GvR вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фильтрация нескольких таблиц одновременно на одном листе при заданных условиях KNatalia Microsoft Office Excel 11 08.11.2009 21:47
Процедура поиска - необходимо организовать поиск по маске *.txt в папке Test GvR Общие вопросы Delphi 3 04.11.2009 15:31
Воспроизведение нескольких звуков одновременно GodSmack Общие вопросы Delphi 3 13.08.2009 02:28
Проигрывание нескольких файлов <-=SG=-> Общие вопросы Delphi 3 11.10.2008 15:47
открытие нескольких файлов valyan Общие вопросы Delphi 10 17.07.2008 20:27