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

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

Работа с файлами [D7, XP]


Tort ©   (2006-03-02 14:48:00) 

Добрый день Мастера!

Помогите пожалуйста разобраться вот с такой задачей.
Необходимо найти и отобразить все скрытые файл, т.е.
не только по маске '\*.txt' но и к примеру '\*.doc'и '\*.ехе'.
Короче все сразу.

Я пишу примерно так. Оно работает но считает только текстовые файлы,
а мне необходимо все файлы. Их может быть много и все разного типа.

function CountHidden(var dir: string): integer;
var SR: TSearchrec;
begin
 dir:='D:\test';
 result:=0;
 if FindFirst(dir+'\*.txt',faHidden,SR)=0 then
 repeat
   inc(result);
 until
   FindNext(SR)<>0;
   FindClose(Sr);
end;

И ещё не понятна аналогичная вещь - но с папками.
пытаюсь определить общее количество папок в указанной директории.
Посмотрите плиз в чем ошибка.

function CountDir(var Dir: string): integer;
var SR: TSearchrec;
begin
 Dir:= 'D:\test';
 Result:=0;
 if FindFirst(dir, faDirectory,SR)=0 then
 repeat
   inc(result);
 until
   FindNext(SR)<>0;
   FindClose(SR);
end;


umbra   (2006-03-02 15:13:00) [1]

про каталоги речь и шла. function CountDir


Tort   (2006-03-02 15:07:00) [2]

а............а.........а....... упс.

Эт, надоже, ,блин :) Значит мозги уже стареть начали - поберечь бы белое вещество :)
А есть ли вообще гарантия "достоверности" представления информации?
И еще: каталоги точно также можно считать?


umbra   (2006-03-02 15:05:00) [3]

Вы забыли указать маску

function CountDir(var Dir: string): integer;
var SR: TSearchrec;
begin
Dir:= 'D:\test\*.*';
Result:=0;
if FindFirst(dir, faDirectory,SR)=0 then
repeat
  inc(result);
until
  FindNext(SR)<>0;
  FindClose(SR);
end;


Tort   (2006-03-02 15:04:00) [4]

А че смешного-то тут? :) Это ж форум для новичков.
Я сам такой :) Сначала мозги работают - потом как ежик в тумане :J

Дружище может у тебя ещё какие-нить идеи есть,а ?


Руслан   (2006-03-02 15:01:00) [5]


> Руслан ©   (02.03.06 14:59) [3]

прошу не смеяться ))


Руслан   (2006-03-02 15:00:00) [6]

Мда-а-а... Затупил я....


Руслан   (2006-03-02 14:59:00) [7]


>  until
>    FindNext(SR)<>0;

помоему, эти строки наоборот должны распологаться
FindNext(SR)<>0;
until


Tort   (2006-03-02 14:52:00) [8]

Я так уже пробовал почему-то показыват два-три файла а у меня их более десятка :(.


Руслан   (2006-03-02 14:51:00) [9]


>  if FindFirst(dir+'\*.txt',faHidden,SR)=0 then

А почему не
if FindFirst(dir+'\*.*',faHidden,SR)=0 then


Наверх

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