ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Standard functions / External file functions
  • Handling errors
  • Operating mode in Windows Vista (and later)
  • Carriage Return at the end of line
  • Position in the file
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
Writes a block of bytes to an external file.
Caution: The added elements are not inserted into the external file but they overwrite the existing elements.
Example
WINDEVWEBDEV - Server codeReports and QueriesJavaUser code (UMC)Ajax
// Open an external file
MyTextFile is DiskFile
ResWrite is int
IF MyTextFile.Open("C:\MyDirectories\File.txt", foReadWrite) = True THEN
// Write to this file
ResWrite = MyTextFile.Write("Meeting report")
IF ResWrite <> -1 THEN
// ...
END
END
Syntax

Writing a block of bytes into an external file Hide the details

<Result> = <File used>.Write(<Block to write> [, <Size to write>])
<Result>: Integer
  • Number of bytes written to the file.
  • -1 if an error occurred. To get more details on the error, use ErrorInfo with the errMessage constant.
<File used>: DiskFile variable
Name of the DiskFile variable initialized with .Open or Create.
<Block to write>: Character string
Block of bytes to must be written to the file (up to 2 GB).
The format of the block of bytes is respected. No conversion is performed.
<Size to write>: Optional integer
Size of the string to write (in bytes).
WINDEVWEBDEV - Server codeReports and QueriesUser code (UMC)Ajax

Writing a memory section into an external file (fast speed) Hide the details

<Result> = <File used>.Write(<Address of memory section> , <Size to write>)
<Result>: Integer
  • Number of bytes (characters) written to the file,
  • -1 if an error occurred. To get more details on the error, use ErrorInfo with the errMessage constant.
<File used>: DiskFile variable
Name of the DiskFile variable initialized with .Open or Create.
<Address of memory section>: Address
Address of the memory section to be written to the file.
<Size to write>: Integer
Size (in bytes) to be written to the external file (up to 2 Go).
This parameter must be less than or equal to the real size of the element written to the external file. For example, if the size of the element to write is equal to 100 bytes, <Size to write> must be less than or equal to 100 bytes.
If this parameter is less than the real size of the written element, only the specified number of bytes will be written to the external file.
Remarks

Handling errors

<DiskFile variable>.Write throws an error in the following cases:
  • the file is not opened,
  • the file is not accessible in write mode,
  • the file is locked by another computer or by another application,
  • no disk space is available.
WINDEVWEBDEV - Server codeReports and QueriesUser code (UMC)

Operating mode in Windows Vista (and later)

If this function does not operate properly in Windows Vista (and later), check whether the file or directory used is not in one of the system directories (Windows directory or "Program Files" directory).
In Windows Vista (and later), with the UAC mechanism (User Account Control) enabled, you must have administrator privileges to handle and/or modify the files or directories in system directories (Windows directory or "Program Files" directory).
Programming tip: To handle and/or modify the files or directories without administrator privileges, you should:
  • avoid writing to the Windows directory or to the "Program Files" directory,
  • use the system directory of the application (returned by SysDir with the srAppDataCommun constant, for example).
Remark: In Windows Vista (and later), the virtualization mechanism is used to make the applications compatible with Vista. If the file is created in a system directory without having sufficient rights, this file will actually be created in another directory (C:\Users\<LOGIN>AppData\Local\VirtualStore\Windows\). In this case, the file cannot be shared between several applications.

Carriage Return at the end of line

<DiskFile variable>.WriteLine is used to automatically insert a carriage return (CR) at the end of the added line. To insert a Carriage Return (CR) with <DiskFile variable>.Write, simply use the CR constant.
For example:
MyFile is DiskFile
...
ResEcriture = MyFile.Ecrit("Compte-rendu" + CR + "Ventes de mars 2021")

Position in the file

When opening a file, the current position corresponds to:
  • the first file byte (by default),
  • the last byte of the file is the file is opened in "addition" mode (foAdd constant).
This position can be modified by <DiskFile variable>.Seek.
<DiskFile variable>.Write writes the specified elements from the current position. Once <DiskFile variable>.Write has been executed, the current position is set to the last byte written.
Remark: To always read the start, you must call <DiskFile variable>.Seek and then <DiskFile variable>.Read.
Business / UI classification: Business Logic
Component: wd290std.dll
Minimum version required
  • Version 28
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 11/21/2023

Send a report | Local help