There are 3 new routines within the OSUTIL include file. The routines not only demonstrate how ESL can access operating system functions without the need for an intermediate wrapper library but also provide useful functionally that has been used to enhance the Development Tools supplied with this release of ESL.
•OS_GetEnvVariable returns the string value of a specified environment variable. Whilst the environment variables have already be accessible via routines already included in OSUTIL, this routine removes the need to perform complex parsing and is not limited to a fixed size for the returned string.
•OS_SearchPath duplicates the function of searching a list of directories for a specified file, which would normally be performed by the operating system when trying to locate a dynamic link library. Unfortunately the system routine provided with Windows only works if called by a library, so this routine uses the facilities within the ESL language. To provide maximum re-usability, instead of passing the name of an environment variable, the list of directories is supplied to this routine as a semi-colon delimited string. This list format is common to the Windows 'PATH' variable and the 'INCPATH' within the ESL configuration file. To match search order performed by the operating system, this routine always searches the current directory prior to checking the other directories within the supplied list.
•OS_BrowseFolder calls the operating systems to provide a Windows standard "Browse for Folder" dialog, and return the full path of the selected directory. This function is demonstrated within the OSUTIL sample application, when the "Browse" push button is pressed.
Further operating system functions can be made available within the OSUTIL include file. Normally once a function has been identified, it is a relatively simple conversation of parameters to ESL equivalents. The use of OSUTIL functions is the recommend approach when attempting to obtain information or functionality from the operating system.