From: dnskiesling@telis.org (David Kiesling)
Subject: Re: PB 3.2 vs PB3.5 ?
On Fri, 16 Jan 1998 22:40:48 GMT, roger.lindfors@mailbox.swipnet.se
(Roger Lindfors) wrote:
>Is it worth upgrading from PowerBASIC 3.2 for dos to PB 3.5 ?
>What's new anyway? Only answer if you have purchased it.
Here's a snip from the readme.doc in PowerBasic 3.5 listing all of
what's new in 3.5. Sorry about the bad formatting, but that's how it
pasted. :)
What's New in PowerBASIC 3.5
============================
+ $ELSEIF metastatement added for enhanced control of conditional
compiling.
+ 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
string:
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).
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.
+ 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
Continued with next message...
*** QwkNews (tm) v2.1
* [TN11.1] Internet Newsgroup
--- GEcho 1.20/Pro
---------------
* Origin: Toast House Remote (1:100/561)
|