Array Sort and Scan operations now execute approximately 35% faster than previous versions with floating point data.
A simplified form of the MAIN function is available under the alternate name PBMain(), which takes no parameters, and does not require an AS LONG option, as it's implied by the name...
Function PBMain
End Function
Labels and line numbers are now local to the procedure; that is, a label name may be reused in multiple functions. However, due to syntactical ambiguity regarding global variables, any name used as a label in any procedure is thereafter reserved from use as a variable, sub, or function name.
MetaStatements may now optionally begin with a pound sign (#) in place of a dollar sign ($). Programmers are urged to use the newer notation, as it is possible that $ may be preempted in a future version of the compilers.
String equates may be defined with a dollar sign followed by a valid identifier name. They are always global in scope, just as numeric equates, and may only be defined outside of all Subs and Functions. Each string equate may be assigned a literal string value up to 255 characters in length. It is possible that some future version of PowerBASIC will support local equates. In order to simplify references to "non-printing" ascii codes, a number of predefined string equates are now included, which may be referenced directly in your source code: Null String, Backspace, Tab, Line Feed, Vertical Tab, Carriage Return, Carriage Return + Line Feed, End-Of-File, Escape, Double Quotes
All operations which reference a position in a file (such as Seek, Get, Lof, etc.) may now do so in the range of a 64-bit integer. Files are no longer limited to 2 gigabytes in size.
#COMPILE MetaStatement should be included in every application, as it is likely that in future versions of PB/DLL, the default will change from DLL to EXE. If every application contains an explicit #COMPILE directive, there will be no ambiguity.
#OPTION Version5 may be specified to require operation only under WindowsNT version 5.0 or later.
#REGISTER may declare global defaults of ALL/NONE/DEFAULT by positioning it before the first Sub/Function in the source code. It may also be positioned within a Sub/Function -- In this case, it declares the method of auto-assignment of register variables for that single procedure, and overrides the global defaults.
Back
The text on this page is (C) PowerBasic Inc.
HTML-conversion by Marc van den Dikkenberg