Форум: "Основная";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];
ВнизСтранно работает FindFirst Найти похожие ветки
← →
Miron (2004-09-30 02:04) [0]Попытка получить список папок в заданном каталоге. После выполнения щелчка на кнопке
procedure TForm1.Button1Click(Sender: TObject);
var
SL: TStringList;
procedure ScanDirectory(Dir: String);
var
sr: TSearchRec;
begin
if FindFirst(Dir + "*.*", faDirectory, sr) = 0
then begin
try
repeat
SL.Add(sr.Name);
until FindNext(sr) = 0
finally
FindClose(sr);
end;
end;
end;
//=============================================================
begin
SL := TStringList.Create;
try
ScanDirectory("C:\Program Files\");
finally
try
SL.SaveToFile(ExtractFilePath(Application.ExeName) + "Test.txt");
finally
SL.Free;
end;
end;
end;
в файл добавляется только один символ "."
Что-то не так делаю?
← →
GuAV © (2004-09-30 02:18) [1]
> until FindNext(sr) = 0
until FindNext(sr) <> 0
← →
Miron (2004-09-30 07:05) [2]
> GuAV ©
Нда... Спасибо.Дальше вроде разобрался.
Но почему при явном указывании faDirectory в список попадают и все файлы каталога. Приходится делать проверку:if (sr.Attr and faDirectory) = fadirectory
then SL.Add(sr.Name);
← →
Anatoly Podgoretsky © (2004-09-30 07:50) [3]Miron (30.09.04 07:05) [2]
Потому что так устроено АПИ ОС
← →
Мирон © (2004-09-30 08:06) [4]
> Anatoly Podgoretsky © (30.09.04 07:50) [3]
Это и так понятно, иначе результат был бы другой. :)
Я имел в виду причины, почему АПИ ОС в этой части устроили имено так.
А в принципе, не суть важно - сделаю проверку, не надорвусь...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.046 c