Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поиск файлов [D6, WinXP]


Страницы:   1 2

John ©   (2005-03-09 20:35:00) 

Подскажите пож-ста:
как програмно искать файлы по нескольким расширениям?


Anatoly Podgoretsky   (2005-03-10 09:39:00) [21]

Еще раз функция с параметрами?


Antonn   (2005-03-10 09:36:00) [22]

Anatoly Podgoretsky ©   (10.03.05 9:24) [16]
не понял вопроса. Автор просил искать файлы по нескольким расширениям. Думаю сам поиск он выполнит, останется отсечь файлы с нужным расширением.

>function CheckFile(Name, Ext: string): Boolean;
>begin
>  Result := ANSILowerCase(ExtractFileExt(Name)) =
>ANSILowerCase(Ext)
>end;
> Здесь Ext - обычное расширение, напр.: exe.

этот пример позволяет отсекать только по одному расширению(насколько я понял). Потому и пихнул Х15Ъ


Anatoly Podgoretsky   (2005-03-10 09:24:00) [23]

Antonn ©   (10.03.05 09:22) [15]
А ты не заметил, что у него функция с параметрами?


Antonn   (2005-03-10 09:22:00) [24]

begin...end ©   (10.03.05 8:18) [14]
нескольким расширениям?

вот.


begin...end   (2005-03-10 08:18:00) [25]

> Antonn ©   (10.03.05 6:14) [12]

> var
>  Ext: string;
> begin
>  ext := lowercase(ExtractFileExt(name));            
>  if pos(ext, lowercase(mask) ) > 0 then
>   result:=true else result:=false;
> end

uses Masks;

begin
 Result := MatchesMask(name, mask)
end


Но автор ветки хотел искать именно по расширениям, а не по полноценным маскам, поэтому в его случае достаточно будет такого:

function CheckFile(Name, Ext: string): Boolean;
begin
 Result := ANSILowerCase(ExtractFileExt(Name)) = ANSILowerCase(Ext)
end


Здесь Ext - обычное расширение, напр.: exe.


John   (2005-03-10 07:45:00) [26]

Приятно что в это разделе форума то-же есть свои "Плахиши"!
Всем спасибо(Antonn в частности).


Antonn   (2005-03-10 06:14:00) [27]

function Check_File(name, mask: string): boolean;
var
 Ext: string;
begin
 ext := lowercase(ExtractFileExt(name));            
 if pos(ext, lowercase(mask) ) > 0 then
    result:=true else result:=false;
end;
маска вида '*.wav;*.mp3;*.ogg', ну что то в таком виде


Anatoly Podgoretsky   (2005-03-09 22:54:00) [28]

Значит дырочка неправильная.


ламер_   (2005-03-09 22:54:00) [29]

ИМХО, это зависит и от расширения - если .exe- сам себя пропихнет, а если html- то канал придется расширять :)).


Fay   (2005-03-09 22:46:00) [30]

2 Anatoly Podgoretsky ©   (09.03.05 22:44) [8]
Это зависит от того, куда втыкивать.


Anatoly Podgoretsky   (2005-03-09 22:44:00) [31]

А пролезет?


Fay   (2005-03-09 22:37:00) [32]

>> Не могу правильно воткнуть эту функцию.
Сверните её в трубочку.


John   (2005-03-09 22:30:00) [33]

Не могу правильно воткнуть эту функцию.


begin...end   (2005-03-09 22:04:00) [34]

> John   (09.03.05 22:03) [4]

А можно поподробнее насчёт того, что у Вас не вяжется?


John   (2005-03-09 22:03:00) [35]


> С помощью функций FindFirst/FindNext/FindClose. Искать по
> маске *.* и отфильтровывать ненужные файлы в зависимости
> от расширения, которое можно определять с помощью функции
> ExtractFileExt.

А по подробнее насчёт ExtractFileExt если можно, а то у меня что-то не вяжется?


ламер_   (2005-03-09 20:42:00) [36]

Так же, как в OpenDialog реализуется свойство Filter


begin...end   (2005-03-09 20:40:00) [37]

С помощью функций FindFirst/FindNext/FindClose. Искать по маске *.* и отфильтровывать ненужные файлы в зависимости от расширения, которое можно определять с помощью функции ExtractFileExt.


Fay   (2005-03-09 20:38:00) [38]

Представь, что хочешь купить в автомате и кофе, и чай с лимоном.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо