![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Результаты работы функций (работа с файлами и каталогами) [D7, WinXP]
kukuikar © (2006-12-14 15:31:00)Данная функция возвращает в TStrings список файлов папки:
procedure TForm1.ListFilePath(Path: string; FileList: TStrings);
var
fs: TSearchRec;
begin
if FindFirst(Path + '*.*', faAnyFile, fs) = 0 then
begin
repeat
if (fs.Attr <> faDirectory) then
begin
FileList.Add(fs.Name);
end;
until FindNext(fs) <> 0;
FindClose(fs);
end;
end;
А эта функция возвращает количество файлов в папке:
function GetFileCount(Path: string): integer;
var
fs: TSearchRec;
begin
Result := 0;
if FindFirst(Path + '*.*', faAnyFile, fs) = 0
then
repeat
inc(Result);
until FindNext(fs) <> 0;
FindClose(fs);
end;
Результат:
Количество строк из первой функции должно равнятся результату второй функции? Нет не равно.
Если выделить подопытную папку и посмотреть ее свойства, то количество файлов совпадает с результатом второй функции.
Вообщем я сломал мозг... Просвятите...
kukuikar (2006-12-15 11:12:00) [1]
> Dmitrij_K (14.12.06 15:42) [3]
> Проверка неправильная.
> if (fs.Attr and faDirectory)<>0 then Директории
Спасибо, это как раз то что надо было поправить...
allrussia (2006-12-15 01:28:00) [2]попробуй и там и там поставить
вместо ...Path + '*.*', faAnyFile...
...Path + '*.*', faAnyFile - faDirectory...
Dmitrij_K (2006-12-14 15:42:00) [3]Проверка неправильная.
if (fs.Attr and faDirectory)<>0 then Директории
clickmaker (2006-12-14 15:33:00) [4]
> if (fs.Attr <> faDirectory)
Плохиш (2006-12-14 15:33:00) [5]Странно, в список папки не включаешь, а в другой функции считаешь и хочешь, чтобы всё совпало...