- Special cases
- WLanguage procedure
In french: fSurveilleRépertoire
Detects the modifications performed on the content of a directory. Only the modifications performed on the files found in the directory are detected. If a change is made, a specific procedure is executed in a thread.
// Name of directory to track
sDirectoryName is string = "C:\Temp\MyDir"
// The fTrackDirectory_Callback procedure will be called
// when a file or directory in the "C:\Temp\MyDir" directory is modified.
IF fTrackDirectory(sDirectoryName, fTrackDirectory_Callback, ftCreateFile + ...
ftModifyFile + ftDeleteFile + ftRename) THEN
// Inform the user that the directory will be tracked
Info("The " + sDirectoryName + " directory will be tracked.")
// Inform the user that the directory will not be tracked
Info("The " + sDirectoryName + " directory will not be tracked.")
// Code of the procedure
PROCÉDURE fTrackDirectory_Callback(sDirectoryName, sFileName, nAction, sOldFileName)
ExecuteMainThread(AddTable,sDirectoryName, sFileName, nAction, sOldFileName)
// Procedure that acts on the main thread
PROCEDURE AddTable(sDirectoryName, sFileName, nAction, sOldFileName)
sActionDesignation is string
// The designation of the action depends on nAction
CASE ftCreateFile: sActionDesignation = "Creating files"
CASE ftDeleteFile: sActionDesignation = "Deleting files"
CASE ftModifyFile: sActionDesignation = "Modifying files"
CASE ftRename: sActionDesignation = "Renaming files"
// Add a line containing the information about the modification
// into the TABLE_MODIFICATIONS table
TableAddLine(TABLE_MODIFICATIONS, sDirectoryName, sFileName, , ...
<Result> = fTrackDirectory(<Directory to track> , <WLanguage procedure> [, <Modifications to notify> [, <Subdirectory>]])
- True if the directory is tracked,
- False otherwise. To get more details on the error, use ErrorInfo.
<Directory to track>: Character string
Full name of the directory to track.
<WLanguage procedure>: Procedure name
Name of the WLanguage procedure ("callback") called when a change is made in the specified directory.
<Modifications to notify>: Optional Integer constant (or combination of constants)
Modifications performed in the content of the directory to track and for which the procedure must be run:
|ftAll||All the possible actions will be tracked. Corresponds to ftCreateFile + ftModifyFile + ftRename + ftDeleteFile.|
|ftCreateFile||Creating a file or a directory.|
|ftDeleteFile||Deleting a file or a directory.|
|ftModifyFile||Modifying a file or a directory.|
|ftRename||Renaming a file or a directory.|
- True (default) to process the sub-directories.
- False otherwise.
- fTrackDirectory only monitors the contents of the directory. The changes of directory name or location are ignored.
- To stop tracking the directory, use fTrackStop and fTrackStopAll.
- To track the modifications performed in a file, use fTrackFile.
- Limitation: Only 5 directories can be tracked at the same time.
The WLanguage procedure is run in a WLanguage thread.
Caution: The following processes cannot be run in the threads:
- opening windows with WLanguage functions such as Open, Use, Close, ... A specific management mode must be implemented if some windows must be handled in threads (rare case). For more details, see Opening a window in a secondary thread.
- managing events.
- managing timers.
This page is also available for…