Returns a directory path for the data of the current user of the current application.
This directory can be used without restriction in Windows XP, Vista, ... This directory is used to store:
- the configuration files of the application (.INI files, .XML files, ...) specific to the current user.
- the data files specific to the current user (HFSQL.fic, .ndx and.mmo files).
This directory is automatically created if it does not exist.
Remark: From version 19, HFSQL is the new name of HyperFileSQL.
// In Windows 7, the returned path can be for example:
// C:\Users\fp\AppData\Roaming\WINDEV applications\WD TreeMap
<Result> = fDataDirUser([<Options>])
<Result>: Character string
Path of the directory to use for the data of the application user. The result returned by this function differs in test mode and at run time:
- in test mode: <Home directory of user>\<Application data>\WINDEV applications\<Project name>
- at run time: <Home directory of user>\<Application data>\<Company name>\<Executable name>
Remark: the name of the company is specified when creating the executable. If this name is not specified, it is replaced by "WINDEV applications"
In Windows 98 and Me, <Result> corresponds to the runtime directory of the application (also returned by fExeDir
<Options>: Optional constant
Indicates whether the directory must be created or not:
|The directory is created if it does not exist. |
|fddWithoutCreation||The directory is not created if it does not exist.|
Programming standard in Windows XP, Vista and later
To increase computer security against worms and viruses, the UAC mechanism
(User Account Control) was implemented by Windows Vista (and later).
By default, this mechanism considers that all the users (including the administrators) are standard users with reduced rights. To run an application that requires additional rights, the UAC mechanism asks for confirmation.
When you create your applications, we advise you to comply with the programming standard of Windows to give the ability to any user (without specific rights) to use your application. Therefore:
- If an application must create or modify local HFSQL data files or configuration files (.INI, .XML), these files must be found in the directory corresponding to the application.
- If these files are specific to the current user, they must be stored in the directory returned by fDataDirUser.
- If these files are common to all the computer users, they must be stored in the directory returned by fDataDirCommon.
- If several applications must create or modify the same HFSQL data files or configuration files (.INI, .XML), these files must be found in the common directory of applications
- If these files are specific to the current user, they must be stored in the directory returned by fGlobalDirUser.
- If these files are common to all the computer users, they must be stored in the directory returned by fGlobalDirCommon.
- These functions are recommended for the multi-user applications installed on a single computer or TSE.
- If the domain or the Active Directory allows the use of a mobile profile, the user details are automatically copied when changing computer.
To help you create applications while complying with the programming standard, specific options are proposed by WINDEV when running the application test. See Configuring the test mode of project
for more details.