PC SOFT

ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Home | Sign in | English EN

  • Special cases
  • WLanguage procedure
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
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.
Example
// 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.")
ELSE
// Inform the user that the directory will not be tracked
Info("The " + sDirectoryName + " directory will not be tracked.")
END
// 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
SWITCH nAction
CASE ftCreateFile: sActionDesignation = "Creating files"
CASE ftDeleteFile: sActionDesignation = "Deleting files"
CASE ftModifyFile: sActionDesignation = "Modifying files"
CASE ftRename: sActionDesignation = "Renaming files"
END
// Add a line containing the information about the modification
// into the TABLE_MODIFICATIONS table
TableAddLine(TABLE_MODIFICATIONS, sDirectoryName, sFileName, , ...
sActionDesignation, sOldFileName)
Syntax
<Result> = fTrackDirectory(<Directory to track> , <WLanguage procedure> [, <Modifications to notify> [, <Subdirectory>]])
<Result>: Boolean
  • 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.
For more details on this procedure, see Parameters of the procedure used by fTrackDirectory.
<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:
ftAllAll the possible actions will be tracked. Corresponds to ftCreateFile + ftModifyFile + ftRename + ftDeleteFile.
ftCreateFileCreating a file or a directory.
ftDeleteFileDeleting a file or a directory.
ftModifyFileModifying a file or a directory.
ftRenameRenaming a file or a directory.
<Subdirectory>: Boolean
  • True (default) to process the sub-directories.
  • False otherwise.
Remarks

Special cases

  • 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.

WLanguage procedure

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.
For more details on threads, see Managing threads.
Component: wd280std.dll
Minimum version required
  • Version 18
This page is also available for…
Comments
Click [Add] to post a comment