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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2008, 12:59   #1
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
Вопрос Поиск файлов сразу с несколькими расширениями. Как???

Доброго времени суток!
Помогите плиз!
Как мне запустить поиск сразу для двух расширений?
Ато вот так писать приходиться:
Код:
if findFirst(s+'*.bmp', faAnyFile, sr) = 0 then
   begin
      f_list.add(extractFileName(sr.Name));
      while findNext(sr) = 0 do f_list.add(extractFileName(sr.Name));
   end;
   if findFirst(s+'*.ico', faAnyFile, sr) = 0 then
   begin
      f_list.add(extractFileName(sr.Name));
      while findNext(sr) = 0 do f_list.add(extractFileName(sr.Name));
   end;
   if findFirst(s+'*.jpeg', faAnyFile, sr) = 0 then
   begin
      f_list.add(extractFileName(sr.Name));
      while findNext(sr) = 0 do f_list.add(extractFileName(sr.Name));
   end;
Заранее благодарю!!!
Altera вне форума Ответить с цитированием
Старый 26.03.2008, 13:41   #2
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

А Вы попробуйте написать функции поиска, поместить каждую в отдельный поток и запустите эти потоки(у гравного процесса может быть сколь угодго потоков).

Или через таймеры, каждый по своему расширению.
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 26.03.2008, 14:17   #3
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Мне в данном случае это не поможет!
Мне может даже if...then воткнуть с проверкой и расширение '*.*'...
-------------------------------------
Я уже говорил, что у меня программа просмотра картинок!
Чтоб сделать картинок (<==предыдущая следущая==>), я поиском создаю список файлов с помощью поиска. Пример главного юнита во вложении...
Может посоветуете, как сделать поиск файлов лучше для данного случая! Спасибо!
Вложения
Тип файла: rar open_select_file.rar (1.2 Кб, 26 просмотров)

Последний раз редактировалось Altera; 26.03.2008 в 14:26.
Altera вне форума Ответить с цитированием
Старый 26.03.2008, 14:21   #4
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Почему нет...
маска *.*
Пробуйте в функции поиска проверять if (ExtractFileExt(sr.Name) = '.bmp') or (ExtractFileExt(sr.Name) = '.jpg') then то что то...
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 26.03.2008, 14:27   #5
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Цитата:
Сообщение от Air Посмотреть сообщение
Почему нет...
маска *.*
Пробуйте в функции поиска проверять if (ExtractFileExt(sr.Name) = '.bmp') or (ExtractFileExt(sr.Name) = '.jpg') then то что то...
Не что-то а скерее if not (ExtractFileExt(sr.Name) = '.bmp') or (ExtractFileExt(sr.Name) = '.jpg') then continue;
Altera вне форума Ответить с цитированием
Старый 26.03.2008, 14:32   #6
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Цитата:
Сообщение от Altera Посмотреть сообщение
Не что-то а скерее if not (ExtractFileExt(sr.Name) = '.bmp') or (ExtractFileExt(sr.Name) = '.jpg') then continue;
Ну я ж просто наводку дал
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 26.03.2008, 18:07   #7
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Я такое делал массивом, можно объявить как константу, можно как переменную.
Код:
const
Exts: array[0..2] of string = ('.bmp','.jpg','.jpeg');
Потом ищи все подряд файлы и найденные пропускай через проверку не содержится ли расширение в массиве. Только используй AnsiLowerCase чтобы регистр не имел значения, в массиве Exts специально для этого маленькими буквами расширения.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 26.03.2008 в 18:09.
mutabor вне форума Ответить с цитированием
Старый 26.03.2008, 18:25   #8
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

А не подскажете, как зная имя файла и директорию, узнать имя файла, который стоит следующим после этого файла и имя предидущего?



После одного и того же файла, в зависимосте от сортировки (по имени, по типу, по дате или от растановки юзера) могут стоять разные файлы... Как мне узнать имена тех, которые стоят до и после определённого файла в данный момент??? Благодарю заранее!!!
Altera вне форума Ответить с цитированием
Старый 26.03.2008, 18:47   #9
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

Тебе это зачем?
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Старый 26.03.2008, 18:54   #10
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Ну вот какая разнеца?

Прога просмотра картинок! Перелистывание - вперёд-назад...
Altera вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск *.csv и *.xls файлов Len@ Microsoft Office Excel 18 28.07.2008 22:31
Поиск min/max данных с несколькими условиями - нужна помощь! /nort/ Microsoft Office Excel 3 16.03.2008 00:13
Поиск файлов student_63 Общие вопросы Delphi 6 07.03.2008 19:00
поиск файлов KORN Компоненты Delphi 3 12.10.2007 05:42
Поиск файлов necky Общие вопросы Delphi 10 31.08.2007 00:27