Help Center›FreeBASIC
Lenfunction
Returns the length of an expression or data type
Syntax
Declare Function Len ( ByRef expression As String ) As Integer
Declare Function Len ( ByRef expression As ZString ) As Integer
Declare Function Len ( ByRef expression As WString ) As Integer
Declare Operator Len ( ByRef expression As datatype ) As datatype
Declare Function Len ( datatype ) As Integer
Parameters
| Name | Description | |
|---|---|---|
expression | An expression of any type. | |
datatype | A DataType. |
Return value
Returns the size of an expression or DataType (including the data fields of a UDT) in bytes.
Description
Len returns the length of an expression or the size of a DataType, in bytes.In the first form, if
expression is of type String, WString or ZString, the length of the string in characters will be returned. If the expression is of a user defined type, an Operator Len compatible with that data type is called. Otherwise, the size of the expression's data type in bytes is returned.In the second form, if
expression is ZString or WString, the size in bytes of an ASCII or Unicode character is returned, respectively. If datatype is String, the size of the string descriptor type is returned.If there is both a user defined type and a variable visible with the same name in the current scope, the user defined type takes precedence over the variable. To ensure that the
Len takes the variable instead of the user defined type, wrap the argument to Len with parentheses to force it to be seen as an expression. For example Len((variable)).Note: When used with array names,
Len returns the length of the array datatype, but not the total number of its elements.For clarity, it is recommended that you avoid this potential confusion, and use
Len on the array datatype doing Len(Typeof(array)), rather than the array name only doing Len(array).The
Len unary Operator can be overloaded with user defined types.Remarks
Usage
result = Len( expression )
or
result = Len( DataType )
Version
- Before fbc 1.08.0:
Len was not returning the size of the data fields of a UDT.When a variable from a given namespace was accessed with the namespace's name prefix, the argument to
Len had to be wrapped with parentheses to force it to be seen as an expression. For example Len((namespace_name.variable)).Dialect Differences
-
Lenonly allows expressions in the -lang qb dialect.
- Can be used with built-in types and user-defined types in the -lang fb and -lang fblite dialects.
Differences from QB
- Can be used with built-in types and user-defined types in the -lang fb and -lang fblite dialects.
- None in the -lang qb dialect.
See also
Example
Print Len("hello world") 'returns "11"
Print Len(Integer) ' returns 4
Type xyz
a As Integer
b As Integer
End Type
Print Len(xyz) ' returns 8
Reference
- Documented in KeyPgLen.html