listing directory

How can i retrieve the list of files in some directory
(c:\temp for example) using functions(Win32API), not
DELPHI VCL (TFileListBox, TDirectoryListBox, etc)
jpenev3Asked:
Who is Participating?
 
BoRiSCommented:
jpenev3

Aleq has the right Idea there, use this code on a button click or so, it uses TSearchRec and Findfirst etc...

var
  sr : TSearchRec;
  R : integer;
begin
   R := Sysutils.FindFirst('C:\Temp\*.*', faAnyFile, sr);
   while R = 0 do
   begin
     Memo1.Lines.Add(sr.FindData.cFileName);
     {if sr.FindData.cAlternateFileName <> '' then
       Memo1.Lines.Add(sr.FindData.cAlternateFileName) else}
       //Memo1.Lines.Add(sr.FindData.cFileName);
     R := Sysutils.FindNext(sr);
   end;
   Sysutils.FindClose(sr);
end;

the other options are:

faReadOnly //Read-only files
faHidden //Hidden files
faSysFile //System files
faVolumeID //Volume ID files
faDirectory //Directory files
faArchive       //Archive files
faAnyFile       //Any file

Later
BoRiS
0
 
AleqCommented:
FindFirst, FindNext uses win32api, or at least I think so ....
0
 
erajojCommented:
Here's a simple way:

var
  list: TStringList;
  ...

procedure ...
var
  sr: TSearchRec;
begin
  if FindFirst(Directory + '*.*', faAnyFile, sr) = 0 then
  repeat
    list.Add(sr.Name);
  until FindNext(sr) <> 0;
  FindClose(sr);
end;
end;

/// John  
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.