[Overview][Constants][Types][Procedures and functions][Index] Reference for unit 'BaseUnix' (#rtl)

FpOpendir

Open a directory for reading

Declaration

Source position: line 0

function FpOpendir(

  dirname: PChar

):pDir;

function FpOpendir(

  dirname: AnsiString

):pDir;

function FpOpendir(

  dirname: shortString

):pDir;

Description

FpOpenDir opens the directory DirName, and returns a pdir pointer to a Dir record, which can be used to read the directory structure. If the directory cannot be opened, nil is returned.

Errors

Extended error information can be retrieved using fpGetErrno.

See also

FpCloseDir

  

Close directory file descriptor

FpReadDir

  

Read entry from directory

Example

Program Example35;

{ Program to demonstrate the
  OpenDir,ReadDir, SeekDir and TellDir functions. }

Uses BaseUnix;

Var TheDir : PDir;
    ADirent : PDirent;
    Entry : Longint;

begin
  TheDir:=fpOpenDir('./.');
  Repeat
//    Entry:=fpTellDir(TheDir);
    ADirent:=fpReadDir (TheDir^);
    If ADirent<>Nil then
      With ADirent^ do
        begin
        Writeln ('Entry No : ',Entry);
        Writeln ('Inode    : ',d_fileno);
//        Writeln ('Offset   : ',d_off);
        Writeln ('Reclen   : ',d_reclen);
        Writeln ('Name     : ',pchar(@d_name[0]));
        end;
  Until ADirent=Nil;
  Repeat
    Write ('Entry No. you would like to see again (-1 to stop): ');
    ReadLn (Entry);
    If Entry<>-1 then
      begin
//      fpSeekDir (TheDir,Entry);               // not implemented for various platforms
      ADirent:=fpReadDir (TheDir^);
      If ADirent<>Nil then
        With ADirent^ do
          begin
          Writeln ('Entry No : ',Entry);
          Writeln ('Inode    : ',d_fileno);
//          Writeln ('Offset   : ',off);
          Writeln ('Reclen   : ',d_reclen);
          Writeln ('Name     : ',pchar(@d_name[0]));
          end;
    end;
  Until Entry=-1;
  fpCloseDir (TheDir^);
end.
The latest version of this document can be found at lazarus-ccr.sourceforge.net.