Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Получить в стринглист пути до файлов


Автор: 0LineGate 29.7.2007, 04:29
мб разделом ошибся, но всё-таки хотелось бы узнать... каким образом можно просканировать папку на наличие файлов n-ного типа, и получить в стринглист пути до этих самых файлов... надеюсь я правильно сформулировал вопрос и меня поняли! smile 

Автор: W1zArD 29.7.2007, 05:20
Код

procedure Search;
var 
sr:TSearchRec;
s:TStringList;
begin
s:=TStringList.Create;
if FindFirst('c:\windows\*.exe', sr, faAnyFile-faDirectory) = 0 then//ищем файлы с расш. exe
repeat
s.Add(ExtraceFilePath(sr.Name);
until FindNext(sr)<>0;
end;



по мойму так... =\ у меня в голове бардак (с изучением C#)

Автор: 0LineGate 29.7.2007, 05:42
опечаток много...  smile  немного переделал:
Код

procedure Search;
var
sr:TSearchRec;
begin
if FindFirst('E:\ФИЛЬМЫ\*.avi', faAnyFile, sr) = 0 then
repeat
Form1.Memo1.Lines.Add((ExtractFilePath(sr.Name)))
until FindNext(sr)<>0;
end;


и после этого в мемо добавляются не пути к файлам а просто пустота...
странно, однако... мб я что-то путаю?..

Добавлено через 2 минуты и 59 секунд
Цитата(W1zArD @ 29.7.2007,  05:20)
Код

procedure Search;
var 
sr:TSearchRec;
s:TStringList;
begin
s:=TStringList.Create;
if FindFirst('c:\windows\*.exe', sr, faAnyFile-faDirectory) = 0 then//ищем файлы с расш. exe
repeat
s.Add(ExtraceFilePath(sr.Name);
until FindNext(sr)<>0;
end;



по мойму так... =\ у меня в голове бардак (с изучением C#)

всё, спасибо, держи +
просто напросто ExtractFilePath здесь ни к чему  smile 

Автор: Yanis 29.7.2007, 09:14
Можно и не париться, когда всё сделано за тебя smile
Код
var
  s: string;
begin
  s := 'C:\Windows\*.exe';
  with ListBox1 do
    begin
      Clear;
      Items.BeginUpdate;
      Perform(LB_DIR, DDL_READWRITE, Integer(@s[1]));
      Items.EndUpdate;
    end;
end;

Автор: MetalFan 29.7.2007, 12:57
в случае с FindFirst не забывать FindClose!!!

Yanis, а если нет ListBox'a?

Автор: Yanis 29.7.2007, 13:30
Цитата(MetalFan @  29.7.2007,  13:57 Найти цитируемый пост)
Yanis, а если нет ListBox'a?

То использовать другой способ. Например обсуждаемый.
Или создавать ListBox в run-time.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)