- Procedure for handling each added file
- Taking the listed files into account
- Adding several identical files
- Required configuration
In french: GraveurAjouteRépertoire
Adds all the files found in a directory to the compilation. When all the requested files have been added to the compilation, the CD or DVD can be burned (BurnerSave
For each added file, BurnerAddDirectory automatically calls a specific procedure written in WLanguage. This procedure is used to handle the current file.
// Burn a data CD
// Add the files found in "C:\MyDirectory"
// The ProcAddFile procedure will be automatically called for each added file
ResAdd is boolean
ResAdd = BurnerAddDirectory("C:\MyDirectory", "", ProcAddFile)
// To view the entire example, click the "Example" link
// Burn an audio CD
// Add the ".WAV" files found in "C:\MyMusic"
ResAdd is boolean
ResAdd = BurnerAddDirectory("C:\MyMusic\*.WAV")
// To view the entire example, click the "Example" link
<Result> = BurnerAddDirectory(<Directory to add> [, <Directory on CD or DVD> [, <Procedure name> [, <Pointer>]]] [, <Options>])
Note: A CD or a DVD must be found in the burner. This CD or DVD must have enough space to burn a new session.
- True if the files found in the directory have been added to the compilation,
- False otherwise. To find out the error details, use ErrorInfo.
<Directory to add>: Character string (with quotes)
Path and generic name of the files that will be added to the compilation (up to 260 characters). A full path, a relative path or a UNC path can be used.
The generic characters (* and?) are allowed.
For an audio compilation, these files must correspond to ".WAV" file (44100 Hz, 16 bits).
The path of the directory is relative to the Web server.
<Directory on CD or DVD>: Optional character string (with quotes)
Path of directory on the CD or DVD. This path must start with a backslash character ("\"). By default, the tree structure of the directory will be re-created from the root of the CD/DVD.
This parameter is ignored for an audio compilation. Indeed, all the files will be automatically added at the root of the CD/DVD.
<Procedure name>: Optional character string (with or without quotes)
Name of WLanguage procedure ("callback") called for each added file. This procedure is used to handle the current file.
This procedure has the following format:
PROCEDURE <Procedure name>(<Path>, <File name>, <Change>,
The parameters of this procedure are optional.
There is no need to pass parameters to this procedure. Indeed, these parameters are automatically filled whenever a file is processed.
The file will be added (or not) to the compilation according to the value returned by this procedure (see the Notes.
<Pointer>: Optional integer
Pointer passed to <Procedure name>.
<Options>: Combination of Integer constants, optional parameter
Type of browse performed to add the files found in the directories:
|burnerInterruptibleAddition||The browse can be interrupted by pressing the ESC key.|
This constant has no effect.
|burnerNonRecursiveAddition||The browse is a non-recursive browse. Subdirectories are ignored.|
|The browse is a recursive browse. The sub-directories are automatically taken into account.|
Procedure for handling each added file
For each added file, BurnerAddDirectory automatically calls the <Procedure name> procedure. This procedure is a local or global procedure.
This procedure must be declared as follows:
PROCEDURE <Procedure name> (<Path>, <File name>, <Change>, <Procedure pointer>)
- <Path> is the path of file used (it always ends with a "\" character; "C:Files\" for example).
- <File name> is a character string containing the name of file found.
- <Change> is a constant set to:
The different values that can be taken by <Change> are as follows:
- flFirstFile when the file is the first file listed in <Path>,
- flChangeDir when the file is the first file listed in a sub-directory of <Path> (which means that a change of directory occurred),
- flFile in all the other cases.
|Dir\SubDir 1\File 1||flChangeDir|
|Dir\SubDir 1\File m||flFile|
|Dir\SubDir 2\File 1||flChangeDir|
|Dir\SubDir 2\File x||flFile|
- <Procedure pointer> is an integer whose value is the one passed to the <Pointer> parameter of BurnerAddDirectory. If <Pointer> is not specified, <Pointer> is set to 0.
To retrieve the value of <Procedure pointer>, the value of <Procedure pointer> must be assigned to the value of <Pointer> in the procedure by Transfer
Note: The parameters of this procedure are optional: you have the ability to specify the name and the path for example.
Specify (if necessary) the return value of the procedure via the RESULT
keyword. The possible values are as follows:
- 0: the file is not added to the compilation and the file enumeration stops.
- 1: the file is added to the compilation and the file enumeration continues.
- 2: the file is not added to the compilation and the file enumeration continues.
PROCEDURE AddElement(Directory, Name, Change)
Trace(Directory + TAB, Name + TAB, Change + TAB)
// Burn the file and continue the enumeration
// Don't burn the file and stop
// RESULT 0
// Don't burn the file and continue
// RESULT 2
Taking the listed files into account
For each listed file, you can:
- add the file to the compilation and continue the enumeration of the files. Use the following code line in the <Procedure name> procedure:
- add no file to the compilation and continue the enumeration of the files. Use the following code line in <Procedure name>:
- add no file to the compilation and stop the enumeration of the files. Use the following code line in <Procedure name>:
If the <Procedure name> procedure returns no value, the file is added to the compilation and the enumeration of the files continues.
A compilation corresponds to the set of files that must be burned on a CD or DVD. This compilation will be taken into account during the next call to BurnerSave
A compilation is automatically created during the first call to BurnerAddFile
or to BurnerAddDirectory
. A single compilation can be created at a time.
A compilation is automatically deleted:
- when changing the type of CD/DVD to burn (BurnerMediaType).
- when selecting the default burner (BurnerSelect).
- after the call to BurnerSave (only if the burn process was started, <Result> is set to True).
- when canceling the burn process (BurnerCancel).
- when closing the current WINDEV application or WEBDEV site.
Adding several identical files
If the same file is added several times to the compilation:
- for an audio CD/DVD: this file will be found on the CD/DVD as many times as it was added.
- for a data CD/DVD: only the last added file (same name, same destination directory) will be found on the CD/DVD.
Burning CDs is available for Windows XP and later. Burning DVDs is available for Windows Vista and for Windows XP when using the KB932716 update for Windows XP (this update must be downloaded from the Microsoft site and installed manually because it is not taken into account by the Live Update mechanism).
The CDs and the DVDs will be burned on the Web server. To burn CDs or DVDs, the server must be running Windows XP or later. To burn CDs in Windows 2003 Server, the IMAPI burn service (named "IMAPI CD-burning COM service") must be enabled. To burn DVDs in Windows 2003 Server, you also have to install the KB932716 update.
This page is also available for…
Click [Add] to post a comment