ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

This content has been translated automatically.  Click here  to view the French version.
Help / WLanguage / WLanguage functions / Standard functions / Windows functions / Serial/Parallel Ports functions
  • Miscellaneous
  • Transmission between two stations using different string formats (Unicode and ANSI)
WINDEV
WindowsLinuxJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac Catalyst
Others
Stored procedures
Reads a character string in the entry buffer of the specified serial port. The port must be opened beforehand (sOpen).
Remarks:
  • This function cannot be used with a parallel port.
  • WEBDEV - Server code This function affects the server.
  • Linux Only serial ports are supported.
Example
WEBDEV - Server codeAjax
// Lecture dans la variable Message de 20 caractères dans
// le buffer d'entrée de COM1
Mess is string
Mess = sRead(1, 20)
Syntax

Reading a number of bytes and retrieving a string Hide the details

<Result> = sRead(<Port number> , <Number of bytes to read>)
<Result>: Character string
  • Character string read in the entry buffer,
  • 0 if the read operation was not performed.
<Port number>: Integer
  • Serial port number: 1, 2, 3, ... 32 for COM1, COM2, COM3, ... COM32.
  • Identifier of the serial port returned by sOpen (if this function was called with a serial port name).
    Linux Only this type of parameter is available.
<Number of bytes to read>: Integer
Number of bytes to read in the entry buffer of the serial port. The number of bytes to read is returned by sInEntryQueue.
Remarks

Miscellaneous

  • sOpen has no effect if the port was not opened by sRead.
  • sRead clears the input queue of bytes actually read.
  • A 32-bit application is locked during the duration of the transfer. To avoid this lock, the timeout between two read operations must be specified in sOpen. If the timeout is reached and the data could not be read, sRead returns 0.
  • WLanguage does not support control signals.
  • The time to wait for a character to be read or written is specified with sOpen.
    • If this time is set to 1s when reading 1024 bytes, the waiting time will be 1024s.
    • If this time is set to "-1s" when reading 1024 bytes, the waiting time will be 1s.
    This prevents lock problems when reading from or writing to the print port.
WEBDEV - Server codeAjax

Transmission between two stations using different string formats (Unicode and ANSI)

When transmitting messages between two stations using a different string format (e.g. Windows (ANSI) and Windows Mobile (Unicode)), certain conversions are necessary:
Format of character strings on the current computerWrite operation
(sWrite function)
Read operation
(sRead function)
Buffer containing an ANSI string
Buffer containing a string in Unicode format
ANSI
(PC running Windows for example)
The character string will be in ANSI formatNo conversion is required
Conversion required (UnicodeToAnsi)
UnicodeThe character string will be in Unicode format
Conversion required (AnsiToUnicode)
No conversion is required
Linux Special case for Linux:
  • Only serial ports can be opened and initialized.
  • By default, users do not have access to serial ports. It is necessary to grant them specific rights to manage serial ports.
Business / UI classification: Business Logic
Component: wd300com.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 03/27/2025

Send a report | Local help