ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

  • Middle and UNICODE
  • Miscellaneous
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
Extracts:
  • a substring from a string starting at a specified position.
  • part of a buffer starting at a specified position.
WEBDEV - Browser code In this version, it is not possible to extract part of a buffer.
Remark: The same feature can be obtained with the [[]] operator.
Example
// Extract characters
Middle("Eponine", 2, 3)   // Returns "pon"
Middle("Eponine", 2)    // Returns "ponine"
Middle("Eponine", 50)    // Returns ""
Middle("Eponine", 2, 50)   // Returns "ponine"
// Equivalent to
// MyString is string = Eponine
// MyString = MyString[[2,50]]
 
MyString is string = "Antananarivo - Madagascar"
Middle(MyString, 10, 7)   // Returns "ivo - M"
WINDEVWEBDEV - Server codeReports and QueriesUniversal Windows 10 AppAndroidAndroid Widget iPhone/iPadApple WatchJavaUser code (UMC)PHPAjax
// Extract bytes
MyBuffer is Buffer = "Antananarivo - Madagascar"
Middle(MyBuffer, 10, 7) // Returns "ivo - M"
Syntax

Extracting a substring from a string Hide the details

<Result> = Middle(<Initial string> , <Start position> [, <Length>])
<Result>: Character string
  • Part of <Initial string>.
  • Empty string ("") if <Start position> is greater than the length of <Initial string>.
  • EOT if <Start position> and/or <Length> are negative. A WLanguage error occurs (non-fatal error). To get more details on the error, use ErrorInfo.
<Initial string>: Character string
Character string containing the substring to extract. This string is not modified.
<Start position>: Integer
Position of the first character to extract.
If <Start position> is null, the extraction starts at the beginning of the string.
<Length>: Optional integer
Number of characters to extract.
If this parameter is not specified or is greater than the number of characters after <Start position>, the string is returned from <Start position>.
WINDEVWEBDEV - Server codeReports and QueriesUniversal Windows 10 AppAndroidAndroid Widget iPhone/iPadApple WatchJavaUser code (UMC)PHPAjax

Extracting part of a buffer Hide the details

<Result> = Middle(<Initial buffer> , <Start position> [, <Size>])
<Result>: Character string
  • Part of <Initial buffer>.
  • Empty string ("") if <Start position> is greater than the length of <Initial buffer>.
  • EOT if <Start position> and/or <Size> are negative. A WLanguage error occurs (non-fatal error). To get more details on the error, use ErrorInfo.
  • Invalid buffer if <Initial buffer> contains a UNICODE string.
<Initial buffer>: Buffer
Buffer containing the part to extract. This buffer is not modified.
<Start position>: Integer
Position of first byte to extract.
If <Start position> is null, the extraction starts at the beginning of the buffer.
<Size>: Optional integer
Number of bytes to extract.
If this parameter is not specified or is greater than the number of characters after <Start position>, the string is returned from <Start position>.
Remarks

Middle and UNICODE

If the string passed as a parameter is an ANSI string, the result will be an ANSI string.
If the string passed as a parameter is a UNICODE string, the result will be a UNICODE string.
Reminder: In UNICODE, each character occupies two bytes of memory. Therefore, the memory footprint of a UNICODE string is twice the number of characters actually contained in the string.
The fist character in the string is at index 1.
Remark: If the result on an ANSI string is assigned to a UNICODE string (and conversely), the conversion will be implicitly performed.
For more details, see Managing UNICODE.

Miscellaneous

The same feature can be obtained with the [[]] operator.
Component: wd280vm.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment