HB_DirCreate

HB_DirCreate

Creates a directory

Syntax

      HB_DirCreate( <cNewDir>) --> <nSuccess>

Arguments

<cNewDir> : the name of the directory to be created, including an optional drive. If you do not specify a drive, the current one is used. The new directory can be specified relative to the current directory, or absolute, including a drive letter followed by a colon.

Return

<nSuccess> : zero on success, -1 if there is an argument error; Otherwise, HB_DirCreate() returns the DOS error code. HB_DirCreate() returns 0 if successful;

Description

HB_DirCreate() creates a specified directory. Note that first you must have sufficient rights to create a directory. To create nested subdirectories, you must create each subdirectory separately, starting from the top-level directory that you want to create (see example below.)

Note

HB_DirCreate() is equivalent to HB_DirBuild(), MakeDir() and DirMake()

Examples

      .  This example assumes that C:\TEST exists and uses HB_DirCreate()
         twice to create a nested subdirectory under it:

      HB_DirCreate("c:\test\one")    // Create top-most one
      nResult := HB_DirCreate("c:\test\one\two")
      IF nResult != 0
         ? "Cannot make directory, DOS error ", nResult
         BREAK
      ENDIF

      You may also use something like this:

      HB_DirCreate( ".\test" )

Seealso

DirChange(), DirName(), DirRemove(), MakeDir(), DirChange()

Advertisements

HB_DirBuild

HB_DirBuild

Creates a directory

Syntax

      HB_DirBuild( <cNewDir>) --> <nSuccess>

Arguments

<cNewDir> : the name of the directory to be created, including an optional drive. If you do not specify a drive, the current one is used. The new directory can be specified relative to the current directory, or absolute, including a drive letter followed by a colon.

Return

<nSuccess> : zero on success, -1 if there is an argument error; Otherwise, HB_DirBuild() returns the DOS error code. HB_DirBuild() returns 0 if successful;

Description

HB_DirBuild() creates a specified directory. Note that first you must have sufficient rights to create a directory. To create nested subdirectories, you must create each subdirectory separately, starting from the top-level directory that you want to create (see example below.)

Note

HB_DirBuild() is equivalent to HB_DirCreate(), MakeDir() and DirMake()

Examples

      .  This example assumes that C:\TEST exists and uses HB_DirBuild()
         twice to create a nested subdirectory under it:

      HB_DirBuild("c:\test\one")    // Create top-most one
      nResult := HB_DirBuild("c:\test\one\two")
      IF nResult != 0
         ? "Cannot make directory, DOS error ", nResult
         BREAK
      ENDIF

      You may also use something like this:

      HB_DirBuild( ".\test" )

Seealso

DirChange(), DirName(), DirRemove(), MakeDir(), DirChange(), HB_DirCreate(), DirMake()

ExeName

ExeName

Returns name and directory of the current Harbour program

Syntax

      ExeName() --> <cProgram>

Returns

<cProgram> : Drive, path and file name of the current .EXE program

Description

This function determines the name and path of the Harbour application in use

Note

This function is equivalent of HB_ArgV()

Example

      Determine if the name or path of an EXE file has changed:

      cOrigPath  :=  "C:\DATA\ADDRESS.EXE"
      IF ExeName() <> cOrigPath
         ? "Program name or directory have been changed!"
         QUIT
      ENDIF

Seealso

HB_ArgV(), HB_DirBase()

HB_DirBase

HB_DirBase

Drive and directory name of running executable ( application )

Syntax

      HB_DirBase() -> <cExeFolder>

Argument

None

Returns

<cExeFolder> : Folder name of running .exe

Description

HB_DirBase() returns folder name of application

Example :

      HB_DirBase() is equivalent to :

      LEFT( ExeName(), RAT( '\', ExeName() ) )

      and

      HB_FNameDir( ExeName() )

      and

      cExeDir := ''
      HB_FNameSplit( ExeName(), @cExeDir )

Seealso

HB_ArgV(), ExeName(), HB_FNameDir(), HB_FNameSplit()

HB_CWD

HB_CWD

Change working directory

Syntax

      HB_CWD( [ <cNewWD> ] ) -> <cPrevWD>

Argument

<cNewWD> : New working directory name to set

Return

<cPrevWD> : previous path if new one is set by optional parameter

Description

HB_CWD() can be use as DirName() and/or DirChange() depending on <cNewWD>.

Note

HB_CWD() seem as synonym of DirChange() with some extra features, such as : HB_CWD() function sets FError(). Programmer can check if HB_CWD() succeed checking result of FError() function, i.e.

          HB_CWD( cNewPath )
          IF FError() != 0
             ? "Cannot set working directory to:", cNewPath
          ELSE
             // stuff
          ENDIF

Example

      ? HB_CWD()
      ? HB_CWD( '\TEMP' )

Seealso

DirName(), DirChange()

DirName

DirName

Returns the current directory name

Syntax

      DirName( [<cDrive>] ) --> <cCurDirName>

Argument

<cDrive> : Designates the drive for which the current directory is determined (a colon is unnecessary). The default is the current drive.

Return

<cCurDirName> : name of the current directory as a character string. The string does not include a drive letter.

Description

DirName() determines the current directory name on the selected drive. You can use this function to construct complete access paths.

Note

DirName() seem as a synonim of CurDir() and doesn’t support <cDrive> properly

Example

      ? '  ->', DirName(), CurDir()              //    -> \temp temp
      ?
      ? DirChange( 'C:\TEMP' )                   //           0
      ? DirChange( 'D:\TEMP' )                   //           0
      ? DirChange( 'E:\TEMP' )                   //           0
      ?
      ? 'C ->', DirName( 'C' ), CurDir( 'C' )    //  C -> \
      ? 'D ->', DirName( 'D' ), CurDir( 'D' )    //  D -> \
      ? 'E ->', DirName( 'E' ), CurDir( 'E' )    //  E -> \
      ?                                          //
      ? 'C:->', DirName( 'C:' ), CurDir( 'C:' )  //  C:-> \
      ? 'D:->', DirName( 'D:' ), CurDir( 'D:' )  //  D:-> \
      ? 'E:->', DirName( 'E:' ), CurDir( 'E:' )  //  E:-> \

Files

lib : hbct

Seealso

CurDir(), DirChange(), DirMake(), DirRemove()

DirMake

DirMake

Creates a directory

Syntax

      DirMake( <cNewDir>) --> <nSuccess>

Arguments

<cNewDir> : the name of the directory to be created, including an optional drive. If you do not specify a drive, the current one is used. The new directory can be specified relative to the current directory, or absolute, including a drive letter followed by a colon.

Return

<nSuccess> : zero on success, -1 if there is an argument error; Otherwise, DirMake() returns the DOS error code. DirMake() returns 0 if successful;

Description

DirMake() creates a specified directory. Note that first you must have sufficient rights to create a directory. To create nested subdirectories, you must create each subdirectory separately, starting from the top-level directory that you want to create (see example below.)

Note

              DirMake() is equivalent to HB_DirCreate(), MakeDir() and HB_DirBuild()

Examples

      .  This example assumes that C:\TEST exists and uses DirMake()
         twice to create a nested subdirectory under it:

      DirMake("c:\test\one")    // Create top-most one
      nResult := DirMake("c:\test\one\two")
      IF nResult != 0
         ? "Cannot make directory, DOS error ", nResult
         BREAK
      ENDIF

      You may also use something like this:

      DirMake( ".\test" )

Seealso

DirChange(), DirName(), DirRemove(), MakeDir(), DirChange(), HB_DirCreate(), HB_DirBuild()