ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Standard functions / External file functions
  • 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
Warning
From version 2024, fTrackDirectory is kept for backward compatibility. This function has been replaced with fWatchDirectory.
Detects changes made to the contents of a directory. Only changes made to the files in the directory are detected. If a change is made, a specific procedure is executed in a thread.
Example
// Name of the directory to be watched
sDirectoryName is string = "C:\Temp\MyDir"
// The fWatchDirectory_Callback procedure will be called 
// when a file or directory in the "C:\Temp\MyDir" directory is modified.  
IF fWatchDirectory(sDirectoryName, fWatchDirectory_Callback, fwCreateFile + ...
		fwModifyFile + fwDeleteFile + fwRename) THEN
	// Notifies the user that the directory will be watched
	Info("The " + sDirectoryName + " directory will be watched.")
ELSE
	// Notifies the user that the directory will not be watched
	Info("The " + sDirectoryName + " directory will not be watched.")
END
// Code of the procedure
PROCEDURE fWatchDirectory_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 fwCreateFile: sActionDesignation = "Creating files"
	CASE fwDeleteFile: sActionDesignation = "Deleting files"
	CASE fwModifyFile: sActionDesignation = "Modifying files"
	CASE fwRename: 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> = fWatchDirectory(<Directory to watch> , <WLanguage procedure> [, <Changes to notify> [, <Subdirectory>]])
<Result>: Boolean
  • True if directory watch is enabled,
  • False otherwise. To get more details on the error, use ErrorInfo.
<Directory to watch>: Character string
Full name of the directory to be watched.
<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 fWatchDirectory.
<Changes to notify>: Optional Integer constant (or combination of constants)
Changes made to the contents of the directory to be watched and for which the procedure is to be executed:
fwAllAll actions are watched. Corresponds to fwCreateFile + fwModifyFile + fwRename + fwDeleteFile.
New in version 2024
Before version 29 Update 2, this constant was named ftAll.
fwCreateFileCreation of a file or directory.
New in version 2024
Before version 29 Update 2, this constant was named ftCreateFile.
fwDeleteFileDeletion of a file or directory.
New in version 2024
Before version 29 Update 2, this constant was named ftDeleteFile.
fwModifyFileChanges to a file or directory.
New in version 2024
Before version 29 Update 2, this constant was named ftModifyFile.
fwRenameRenaming of a file or directory.
New in version 2024
Before version 29 Update 2, this constant was named ftRename.
<Subdirectory>: Boolean
  • True (default) to process the sub-directories.
  • False otherwise.
Remarks

Special cases

  • fWatchDirectory only watches the contents of the directory. The changes of directory name or location are ignored.
  • To stop watching the directory, use fWatchStop and fWatchStopAll.
  • To watch the changes made to a file, use fWatchFile.
  • Limitation: Only 5 directories can be watched at the same time.

WLanguage procedure

The WLanguage procedure is run in a WLanguage thread.
Caution: The following processes cannot be run in 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: wd290std.dll
Minimum version required
  • Version 18
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 03/29/2024

Send a report | Local help