Oct

Converts a number to octal representation

Syntax
   Declare Function Oct ( ByVal number As UByte ) As String
   Declare Function Oct ( ByVal number As UShort ) As String
   Declare Function Oct ( ByVal number As ULong ) As String
   Declare Function Oct ( ByVal number As ULongInt ) As String
   Declare Function Oct ( ByVal number As Const Any Ptr ) As String

   Declare Function Oct ( ByVal number As UByte, ByVal digits As Long ) As 
   String
   Declare Function Oct ( ByVal number As UShort, ByVal digits As Long ) As 
   String
   Declare Function Oct ( ByVal number As ULong, ByVal digits As Long ) As 
   String
   Declare Function Oct ( ByVal number As ULongInt, ByVal digits As Long ) 
   As String
   Declare Function Oct ( ByVal number As Const Any Ptr, ByVal digits As 
   Long ) As String

Usage
   result = Oct[$]( number [, digits ] )

Parameters
   number
      A number or expression evaluating to a number.  A floating-point 
      number will be converted to a LongInt.
   digits
      Desired number of digits in the returned string.

Return Value
   A string containing the unsigned octal representation of number.

Description
   Returns the unsigned octal string representation of number. Octal digits 
   range from 0 to 7.

   If you specify digits > 0, the result string will be exactly that 
   length.  It will be truncated or padded with zeros on the left, if 
   necessary.

   The length of the returned string will not be longer than the maximum 
   number of digits required for the type of number (3 characters for Byte, 
   6 for Short, 11 for Long, and 22 for LongInt)

   If you want to do the opposite, i.e. convert an octal string back into a 
   number, the easiest way to do it is to prepend the string with "&O", and 
   convert it to an integer type, using a function like CInt, similarly to 
   a normal numeric string.  E.g. CInt("&O77")

Example
   Print Oct(54321)
   Print Oct(54321, 4)
   Print Oct(54321, 8)

   will produce the output:

   152061
   2061
   00152061

Dialect Differences
   * The string type suffix "$" is required in the -lang qb dialect.
   * The string type suffix "$" is optional in the -lang fblite dialect.
   * The string type suffix "$" is ignored in the -lang fb dialect, warn 
     only with the -w suffix compile option (or -w pedantic compile 
     option).

Differences from QB
   * In QBASIC, there was no way to specify the number of digits returned.
   * The size of the string returned was limited to 32 bits, or 11 octal 
     digits.

See also
   * Bin
   * Hex
   * ValInt
   * ValLng

