Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.029 c
4-1094973668
TeNY
2004-09-12 11:21
2004.10.17
Определние Handle CD-Rom и HDD


6-1091819499
new developer
2004-08-06 23:11
2004.10.17
Помогите сделать в NNSMTP русский шрифт


1-1096551956
debuger
2004-09-30 17:45
2004.10.17
Асм рулит?


1-1096958807
СержК
2004-10-05 10:46
2004.10.17
Номера цветов


1-1096913802
Igor_
2004-10-04 22:16
2004.10.17
StringGrid и CheckBox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский