No announcement yet.


  • Filter
  • Time
  • Show
Clear All
new posts

  • pb3.5

    what is the difference between pb3.2 and 3.5?


  • #2
    About 0.3 <ba-dump bump>...

    Seriously, it's been years since PB/DOS 3.5 first came out, and I'm
    not sure what the "new features" were any more. It's much improved
    over version 3.2, but I don't recall specifics. Your best bet is
    probably to check the features list for PB/DOS 3.5, here:

    Tom Hanlin
    PowerBASIC Staff


    • #3
      Please try this list (courtesy of README.TXT):
      [b]    What's New in PowerBASIC 3.5[/b]
          + $ELSEIF metastatement added for enhanced control of conditional
          + The ampersand character (&) can now be used to concatenate strings:
               MyString$ = MyString$ & "1"
          + ASC statement added to allow placing a byte value into an existing
              ASC(MyString$, 5) = 65   'change the 5th char to an "A"
            This is functionally equivalent to:
              MID$(MyString$, 5, 1) = CHR$(65)
            However, the ASC statement uses more efficient code.
          + ASC/ASCII functions support an optional parameter, which allows
            you to get the byte value of a character beyond the first byte
            in a string.
          + ASCIIZ string data type has been added.  An ASCIIZ string is the
            same as a fixed-length string, except that the last character in
            the string is always a null [CHR$(0)].
          + CONSIN function returns the status of input (keyboard) redirection.
            If standard input originates from the console (keyboard), it returns
            true (-1).  If redirected from a file, it returns false (0).
          + CONSOUT function returns the status of output (screen) redirection.
            If standard output displays on the console (screen), it returns
            true (-1).  If redirected to a file, it returns false (0).
          + The CVI, CVL, etc. functions now support an optional parameter
            which is the starting location within a string to extract a value.
            For example, to extract an integer value from the 5th position in
            a binary string:
              x% = CVI(My$, 5)
          + FRE(-11) function added to return the number of free bytes in EMS
            memory.  Before you allocate a virtual array, you should use FRE
            to make sure enough memory exists to hold the array.
          + Pointer variables now support 'indexes'.  This allows you to assign
            a value to a pointer variable and access data as if it were an array.
              DIM x AS INTEGER PTR
              x = Address???
              a = @x     'get integer at Address&
              b = @x[4]  'get integer at Address& + 8
            In this example, the 5th integer (index pointers all start at zero
            and are not effected by the OPTION BASE value) is retrieved without
            us having to modify the Address& value.
          + The REDIM statement now supports the optional PRESERVE modifier.
            This allows you to change the number of elements in an existing
            array without destroying its contents.  Note:  REDIM PRESERVE does
            not work with virtual arrays.
          + The RND function has been enhanced to return integer class random
            numbers using the RND(a, z) syntax.  Where 'a' is the lowest random
            value to return and 'z' is the highest random value to return.
          + SETEOF statement has been added to truncate an open file at the
            current file pointer.  This is equivalent to using PUT$ to store
            a null (zero length) string in binary mode.
          + SIZEOF function has been added to return the memory size of
            variables.  Unlike the LEN function, SIZEOF will return the size
            of the storage buffer available in ASCIIZ strings and the size of
            a string's handle (not the size of the string contents).
          + STDERR statement has been added to print data to the "standard
            error device".  Typically, this is the screen, and output using
            STDERR can not be redirected to a file.
          + STDIN/STDIN LINE statements have been added to read keyboard
            data from the "standard input" device.  Typically this is the
            keyboard.  However, if a file has been redirected to your program
            STDIN will read from the file instead.
          + STDOUT statement has been added to print data to the "standard
            output device".  Typically, this is the screen, and output using
            STDOUT can be redirected to a file or other device.
            Note:  Only text printed with the the STDOUT statement will be
            redirected to a file.  The PRINT statement prints data to the
            screen, regardless of output redirect status.
          + TRIM$ function added to trim the spaces (or other optional
            characters) from both the front and back of strings.
          + User-Defined Type and Union variables now support static arrays:
            TYPE a
              b(1 to 50) AS INTEGER
              c AS LONG
            END TYPE
          + Virtual Arrays in EMS memory.  PowerBASIC now allows you to create
            numeric, fixed-length string, ASCIIZ string, and user-defined type
            arrays in EMS memory up to the LIM specification (16 megabytes).
               DIM VIRTUAL x&(1 to 10000)

      PowerBASIC Support
      mailto:[email protected][email protected]</A>
      mailto:[email protected]