Wednesday, March 2, 2011

Add personality to your good old MkDir() function...

Looking for a function that can create multiple directories (directories inside directories) using a single function call? Well, "MkDir()" function is not it, but the following function maybe just what you're looking for:

 
program MkDirMul;

uses
  SysUtils, FileCtrl;

procedure MkDirMulti(sPath : string);
begin
  if('' = sPath[Length(sPath)])then
  begin
    sPath := Copy(sPath, 1,
                  Length(sPath)-1);
  end;

  if( ( Length( sPath ) < 3 ) or
      FileCtrl.DirectoryExists(
        sPath) )then
  begin
    Exit;
  end;

  MkDirMulti(
    SysUtils.ExtractFilePath(
      sPath ) );

  try
    System.MkDir( sPath );
  except
    { handle errors }
  end;
end;

begin
  { don't forget to provide
    a full path name }
  MkDirMulti(
    'c:temponetwothreefour' );
end.
Listing #1 : Delphi code. Download mkdirmul (0.43 KB).

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Kang Iwan K-sev | Thank's for your visit To My Site - Ridwan Mulyana | Cibeureum