[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'sysutils' (#rtl)

# GetDirs

Return a list of directory names from a path.

## Declaration

Source position: finah.inc line 42

`function GetDirs(`
`var DirName: UNICODESTRING;`
`var Dirs: array of PUNICODECHAR`
`):LongInt; function GetDirs(`
`var DirName: RAWBYTESTRING;`
`var Dirs: array of PANSICHAR`
`):LongInt;`

## Description

GetDirs splits DirName in a null-byte separated list of directory names, Dirs is an array of PChars, pointing to these directory names. The function returns the number of directories found, or -1 if none were found. DirName must contain only OSDirSeparator as Directory separator chars.

## Errors

None.

## See also

ExtractRelativePath |  | Extract a relative path from a filename, given a base directory.

## Example

    Program Example45;

    { This program demonstrates the GetDirs function }
    {$H+}

    Uses sysutils;

    Var Dirs : Array[0..127] of pchar;
        I,Count : longint;
        Dir,NewDir : String;

    Begin
      Dir:=GetCurrentDir;
      Writeln ('Dir : ',Dir);
      NewDir:='';
      count:=GetDirs(Dir,Dirs);
      For I:=0 to Count-1 do
        begin
        NewDir:=NewDir+'/'+StrPas(Dirs[I]);
        Writeln (NewDir);
        end;
    End.