Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.19;
Скачать: CL | DM;

Вниз

Поиск файлов возвращает артефакты   Найти похожие ветки 

 
Sdubaruhnul   (2007-07-18 21:51) [0]

Для поиска файлов использую юникодные FindFirstFileW и ко. Ищу: "c:\test\*". Получаю такие результаты поиска:


.
..
folder1
folder2
hello5.txt
hello6.txt


Что бы это могло значить?


 
Anatoly Podgoretsky ©   (2007-07-18 23:42) [1]

> Sdubaruhnul  (18.07.2007 21:51:00)  [0]

Вроде все нормально, нет причин для беспокойства.


 
Sdubaruhnul   (2007-07-18 23:45) [2]

А что это за точки вначале?


 
turbouser ©   (2007-07-18 23:47) [3]


> Sdubaruhnul   (18.07.07 23:45) [2]
>
> А что это за точки вначале?

root директории :)


 
Sdubaruhnul   (2007-07-19 00:24) [4]

Короче, ясно что это (текущая и родительская папки).
По мне так это очередной бред, который нужно запомнить.


 
antonn ©   (2007-07-19 00:43) [5]

ты главное когда будешь делать рекурсивное удаление файлов, не забудь про эти точки%)


 
Sdubaruhnul   (2007-07-19 00:56) [6]

>ты главное когда будешь делать рекурсивное удаление файлов, не забудь про эти точки%)

Не понял... Я их собирался игнорировать.


 
Германн ©   (2007-07-19 01:00) [7]


> Sdubaruhnul   (19.07.07 00:56) [6]
>
> >ты главное когда будешь делать рекурсивное удаление файлов,
>  не забудь про эти точки%)
>
> Не понял... Я их собирался игнорировать.
>

Значит забудь про обход вложенных папок.


 
Anatoly Podgoretsky ©   (2007-07-19 01:07) [8]

> Sdubaruhnul  (19.07.2007 00:56:06)  [6]

Надо не собираться, а игнорировать


 
hide   (2007-07-25 19:34) [9]

Cкажите, как искать во всём диске = c:\ используя findfirst/findnext?
В отдельных папках находит, а во всём диске не хочет находить.
даже c:\. и c:\.. пробовал - ничего не найдено, результат findfirst=2


 
Virgo_Style ©   (2007-07-25 19:40) [10]

hide   (25.07.07 19:34) [9]
Чудес не бывает, ты должен организовать поиск в каждой из папок диска


 
hide   (2007-07-25 19:53) [11]

спасибо


 
hide   (2007-07-25 21:19) [12]

Virgo_Style ©
не верно и не спасибо.
ищет и во всём диске, только есть особенности - не находит "c:\", "c:\.", "c:\..", а всё остальное содержимое находит.


 
{RASkov} ©   (2007-07-25 22:01) [13]

> [12] hide   (25.07.07 21:19)
> не находит "c:\",

Угу.... а так:
findfirst("C:\*.*", faAnyFile, SR)
?
Маску нужно указывать.... т.е. я хочу сказать, что
findfirst("C:\Windows", faAnyFile, SR)
найдет каталог Windows на диске С (если он там есть)
а так
findfirst("C:\Windows\", faAnyFile, SR)
нихрена ничего ненайдет :(.....
Так, что ты тут зря со своими С:\ наезжаешь.....


 
Virgo_Style ©   (2007-07-25 22:08) [14]

hide   (25.07.07 21:19) [12]
не верно и не спасибо.


Вай, спасибо отобрали... Извиняй, телепатор сломался, а без него понять твой вопрос затруднительно.


 
{RASkov} ©   (2007-07-25 22:09) [15]

> [12] hide   (25.07.07 21:19)
> "c:\.", "c:\..",

....а текущий и родительский каталоги в данной функции могут присутствовать вначале пути, но никак не в конце...
т.е. findfirst(".\*.*", faAnyFile, SR) или findfirst("..\*.*", faAnyFile, SR)

> Так, что ты тут зря со своими С:\ наезжаешь.....

Близко не принимай.... смайл забыл поставить.


 
Плохиш ©   (2007-07-26 11:07) [16]


> findfirst("C:\*.*", faAnyFile, SR)

Т.е. файлы без расширений не нужны?


 
hide   (2007-07-26 11:38) [17]

Плохиш ©
Так ищутся и без расширений. Только faAnyFile = скрытые не найдёт, что бы все искало нужно все эти fa~ сплюсовать.
Виндовый поиск ищет ещё и внутри архивов, я не сразу понял почему у него на тыщу файлов больше находится :)


 
{RASkov} ©   (2007-07-26 11:53) [18]

> > findfirst("C:\*.*", faAnyFile, SR)
>
> Т.е. файлы без расширений не нужны?


> Так ищутся и без расширений.

Вообще-то наверное правильнее, если все подряд искать, то нужно просто * указывать..... ибо маска есть маска.... + "правильный" второй параметр...


 
Плохиш ©   (2007-07-26 11:56) [19]


> hide   (26.07.07 11:38) [17]
> Плохиш ©
> Так ищутся и без расширений.

Хм, действительно, когда-то столкнулся с этим, ладно [16] снимается.

> Только faAnyFile = скрытые не найдёт

Какое различие между передачей в качестве параметра $3f или $01+$02+$04+$08+$10+$20 ?


 
hide   (2007-07-26 11:58) [20]

По логике да, но пока не сплюсовал все - скрытые не искались :)


 
dima_bil   (2007-07-26 17:51) [21]

procedure GetFiles( APath: string );
var
 sr: TSearchRec;
 isFound: boolean;
 ListItem: TListItem;
 temp: string;
begin
  isFound := FindFirst( APath + "*.kl", faAnyFile, sr ) = 0;
  while isFound do
  begin
     if ( sr.Name <> "." ) and ( sr.Name <> ".." ) and
        ( ( sr.Attr and faDirectory ) <> faDirectory ) then
        begin
           ListItem := Form1.ListView1.Items.Add;
           temp := ExtractFileName( sr.Name );
           if LastDelimiter( ".", temp ) <> 0 then
              ListItem.Caption := Copy( temp, 0, LastDelimiter( ".", temp )-1 )
           else
              ListItem.Caption := temp;
           temp := ExtractFileExt( sr.Name );
           ListItem.SubItems.Add( "файл" );
           ListItem.SubItems.Add( DateToStr( FileDateToDateTime(
                                  FileAge( APath + "\" + sr.Name ) ) ) );
           ListItem.SubItems.Add( TimeToStr( FileDateToDateTime(
                                  FileAge( APath + "\" + sr.Name ) ) ) );
        end;
     isFound := FindNext( sr ) = 0;
  end;
  FindClose( sr );
end;


 
dima_bil   (2007-07-26 17:54) [22]

Использовать так:

только "*.kl" замени на "*.*". пользуйся так

dir2:="директория для поиска";
Getfiles(Dir2,reg,_type);


 
dima_bil   (2007-07-26 17:56) [23]

Эта процедура находит файлы, показывает имена, расширение, дату и время последнего изменения файла!



Страницы: 1 вся ветка

Текущий архив: 2007.08.19;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.033 c
3-1177999034
Nemec
2007-05-01 09:57
2007.08.19
TService и доступ к базе данных


2-1184731695
tipman
2007-07-18 08:08
2007.08.19
Отладка DLL в DELPHI2005? есть проблема


2-1184886310
vasIZmax
2007-07-20 03:05
2007.08.19
Проблема с "я"


15-1185048919
Kostafey
2007-07-22 00:15
2007.08.19
С днем рождения ! 22 июля


1-1181134690
Arm79
2007-06-06 16:58
2007.08.19
маппинг файлов