|
|
|
Why should I
upgrade?
to the PowerBASIC Console Compiler 6
|
|
|
There
are plenty of reasons to upgrade to the PowerBASIC Console Compiler 6. The PowerBASIC Console Compiler 6.0 For Windows adds much in
the way of new functionality.
|
|
|
Unicode Support
Mix Unicode and ANSI in the same program. Convert strings to and from OEM, Unicode, ANSI, and UTF-8. Display Unicode characters. Print Unicode characters. Read and write to Unicode files. Conversions from Unicode and ANSI are automatic. You can even select to have a complete Unicode emulation package in your executable to allow it to run properly on Windows 95, 98, and ME or select to have the runtime only use ANSI API routines.
|
Resources
You can add resource data inline, right in your BASIC source code. There is no need to create a resource file, compile it, and then link it into your source. All this done automatically. Add bitmaps, icons, manifests, strings, type libraries, wave files, version information, and even binary data (RCDATA). Of course, .RC, .PBR, and .RES files are still supported. The inline resource support simplifies adding resources to your program.
|
Static Link Libraries
Static Link Libraries (SLLs) consist of a set of Classes, Subs, and Functions that are compiled into a machine-code library. A SLL is the perfect vehicle for third-party code, because it creates a single final module that does not require source code to be distributed. It allows you to create a group of your own libraries that you know function correctly and don't require any further debugging. It also offers big advantages to larger group programming projects to control distribution of various elements. Multiple SLL modules may be collected into a Power Library, which is linked as a single item. Creating an SLL could not be easier. All it takes is a single #COMPILE SLL at the top of your module source code. When you wish to use the SLL code in a host program, you simply use #LINK "MyLib.SLL" and the contents are automatically embedded in the new .EXE. It's just that simple.
|
Graphics
The built in graphics engine has been expanded to support virtual graphic windows, clipping regions, scrolling text, text wrapping, and much more! Create a virtual graphic window that displays the contents of a larger virtual window. Scroll bars are added so the user can move the viewport to the desired section. There is even an option to allow the user to "drag" the edges of a graphic window to a new size. Graphic windows can be made noncloseable by the user. Work with rows and columns in a graphic window, similar to the DOS or Console LOCATE statement. GRAPHIC PRINT now supports POS(n), SPC(n), and TAB(n) functions for even more control over printing text. There's even a new Text window specially designed for text display and input, just like a Console window, but more attractive.
|
Threads
Creating multi-threaded applications is easier than ever! The built-in THREAD object that offers a collection of methods which allow you to easily create and maintain additional threads of execution in your programs. Functions, Subroutines, Methods, and Properties can even be marked as THREADSAFE. When a procedure is declared THREADSAFE, PowerBASIC automatically establishes a semaphore which allows only one thread to execute it at a time. Others must wait until the first thread exits the THREADSAFE procedure before they are allowed to begin. This is important to protect global data (global, threaded, static, and instance variables) from corruption by interaction of the threads.
|
Optimization
#OPTIMIZE has been expanded with #OPTIMIZE CODE. Any unreferenced code will be removed from the compiled program to minimize the executable file size.
String handling routines
have been dramatically improved in performance.
We have added a STRINGBUILDER object for high performance string concatenation. Of course, you can still use BUILD$ to concatenate strings with high efficiency. There
has been an improvement in graphic execution speed. Use the #ALIGN
metastatement to gain ultimate efficiency from critical code sections. Then
there's #OPTIMIZE SIZE and #OPTIMIZE SPEED to choose between faster execution or
smaller code size.
|
Printing
The built in GDI printer
engine has been expanded. Use XPRINT PREVIEW to display a replica of a printed document on the screen. Set a clipping region. Wrap text on the printed page. Work with rows and columns on the host printer. XPRINT PRINT now supports POS(n), SPC(n), and TAB(n) functions for even more control over printing text. Limit a print job by set and retrieving the page number limits and selection flag from the Print Dialog which is displayed when XPRINT ATTACH CHOOSE is executed. Many of the XPRINT statements now have a similar function form for use in expressions. And more!
|
IDE
Numerous improvements in
the IDE have been made. The IDE is now based on tabs rather than MDI children. Up to 36 bookmarks are now supported. Improved undo handling. Quick context-sensitive syntax help is shown on the status bar. Find/Replace can now be set to wrap around the file. Project files have been enhanced to support a list of files, their scrolling position and caret position, a primary file, the active tab, breakpoints, bookmarks, and the debug Watch list. Backup files can now be created with a timestamp, numbered from 0 to 99, or even no backup file if you prefer. There's Print Preview and the new #PAGE metastatement for inserting a page break when printing from the IDE. Improved template files. The Open File dialog for source files now allows selecting multiple files at a time. And much more!
|
|
|
The complete documentation for the PowerBASIC Console Compiler 6.0 is available
here.
|
|
|
- %PB_COMPILETIME numeric equate helps to determine the date/time of compilation.
- #EXPORT metastatement declares a Sub/Function to have the EXPORT attribute.
- #INCLUDE THIS ONCE metastatement is placed in the file to be included and tells the compiler to "Include me only one time, no matter how many times it is requested".
- #LINK metastatement links a pre-compiled Static Link Library (SLL) into your host program.
- #OPTIMIZE CODE metastatement tells the compiler whether unreferenced code should be removed from the compiled program to minimize the executable file size.
- #OPTION LARGEMEM32 metastatement sets the "Large Memory Model" flag. This allows your application to use more than the original limit of 2 Gigabytes of memory.
- #OPTION WIN95 metastatement tells the compiler to include a complete Unicode emulation package in your executable to allow them to run properly on Windows 95, 98, and ME.
- #OPTION ANSIAPI metastatement instructs the compiler to call only ANSI versions of the Windows API.
- #PAGE metastatement sets a page boundary for the PowerBASIC IDE.
- #RESOURCE BITMAP metastatement embeds a bitmap into the compiled EXE.
- #RESOURCE ICON metastatement embeds an icon into the compiled EXE.
- #RESOURCE MANIFEST metastatement embeds a manifest file into the compiled EXE.
- #RESOURCE RCDATA metastatement embeds binary data into the compiled EXE.
- #RESOURCE STRING metastatement embeds string data into the compiled EXE.
- #RESOURCE WAVE metastatement embeds a wave sound file into the compiled EXE.
- #RESOURCE VERSIONINFO metastatement embeds version information into the compiled EXE.
- #UNIQUE metastatement specifies whether unique variable names are required.
- ASC function now supports Unicode and ANSI characters.
- ASC statement now supports Unicode and ANSI characters.
- ASM ALIGN statement rounds up the instruction location to a power of two address.
- ASMDATA/END ASMDATA statements defines a block where primitive read-only data is stored.
- BIN$ function has been expanded to 64-bits with formatting and now supports adding leading and trailing spaces to the string result.
- BITS$ function copies string contents without modification.
- CHOOSE, CHOOSE&, and CHOOSE$ functions have been enhanced with optional ELSE clause. The ELSE option allows an optional choice value to be returned when no match is made.
- CHR$$ function converts one or more numeric Unicode character codes, code ranges, and/or strings into a single string.
- CHRBYTES function determines the size of a single character in a string variable.
- ChrToOem$ function translates a string of ANSI/WIDE characters to OEM byte characters.
- ChrToUtf8$ function translates a string of ANSI/WIDE characters to UTF-8 byte characters.
- CLIPBOARD GET TEXT statement automatically converts the retrieved string to ANSI or Unicode to match the format of the target variable.
- CLIP$ function deletes characters from a string.
- COMM function, COMM LINE, COMM OPEN, COMM PRINT, COMM RECV, COMM SEND, and COMM SET have been expanded to support ANSI and Unicode strings.
- COMM TIMEOUT function places a limit on the time to complete a COMM operation.
- CON.CAPTION$ property retrieves the text which is currently displayed as the caption of the CONSOLE window.
- CON.CAPTION$ property changes the text which is currently displayed as the caption of the CONSOLE window.
- CON.CELL property retrieves the cursor (caret) position for the Console Window.
- CON.CELL property sets the cursor (caret) position on the Console Window.
- CON.CELL.COL method retrieves the cursors (caret) column position for the Console Window.
- CON.CELL.ROW method retrieves the cursors (caret) row position for the Console Window.
- CON.CLS method clears the active console page to the current background color.
- CON_COLOR method sets the foreground and background colors which will be used to display text on the Console Window.
- CON.CURSOR property retrieves the size of the cursor (caret).
- CON.CURSOR property establishes the size of the cursor (caret).
- CON.CURSOR.OFF method makes the cursor invisible.
- CON.CURSOR.ON method makes the cursor visible.
- CON.END method releases and detaches the Console Window currently attached to your program.
- CON.FOCUS method brings the Console Window to the foreground and directs the focus to it.
- CON.GETSTDERR method retrieves the handle of the standard error device.
- CON.GETSTDIN method retrieves the handle of the standard input device.
- CON.GETSTDKBD method retrieves the handle of the standard keyboard device.
- CON.GETSTDOUT method retrieves the handle of the standard output device.
- CON.GETSTDVID method retrieves the handle of the standard console specified video page.
- CON.HANDLE method retrieves the handle of the Console Window.
- CON.IN method determines whether Standard Input is being redirected.
- CON.INKEY$ method reads a keyboard character or mouse event from the console input buffer.
- CON.INPUT method reads a line from the keyboard.
- CON.INPUT.FLUSH method removes all pending keyboard and mouse events from the console input buffer.
- CON.INSHIFT method returns a numeric value to tell you the state of the keyboard Shift, Ctrl and Alt keys.
- CON.KEY method assigns a string expression to a function key.
- CON.KEY$ method retrieves and returns the string expression assigned to a function key.
- CON.LINE.INPUT method reads an entire line from the keyboard into a string variable.
- CON.LOC property retrieves the location of the console window on the screen.
- CON.LOC property moves the Console Window to a new location on the screen.
- CON.LOC.X method retrieves the horizontal location of the console window on the screen.
- CON.LOC.Y method retrieves the vertical location of the console window on the screen.
- CON.LOCATE property retrieves the cursor (caret) position for the Console Window.
- CON.LOCATE property sets the cursor (caret) position on the Console Window.
- CON.LOCATE.COL method retrieves the cursor (caret) column position for the Console Window.
- CON.LOCATE.ROW method retrieves the cursor (caret) row position for the Console Window.
- CON.MOUSE method defines which console mouse events and buttons should be trapped.
- CON.MOUSE.BUTTONS method returns the number of buttons on the system mouse.
- CON.MOUSE.COL method returns the column position of the mouse cursor.
- CON.MOUSE.OFF method disables mouse event trapping and the mouse cursor.
- CON.MOUSE.ON method enables mouse event trapping and the mouse cursor.
- CON.MOUSE.ROW method returns the row position of the mouse cursor.
- CON.MOUSE.STAT method determines whether a mouse event is ready to be retrieved from the console input buffer.
- CON.NEW method creates a new Console Window and attaches it to your program.
- CON.OUT method determines whether Standard Output is being redirected.
- CON.PAGE.ACTIVE property retrieves the page number of the active console page.
- CON.PAGE.ACTIVE property sets the page number of the active console page.
- CON.PAGE.VISIBLE property retrieves the page number of the visible console page.
- CON.PAGE.ACTIVE property sets the page number of the active console page.
- CON.PCOPY method copies all text from one console text page to another.
- CON.PRINT method writes text data to the current console text page.
- CON.SCREEN property retrieves the size of the visible part of the Console Window.
- CON.SCREEN property changes the size of the visible Console Window.
- CON.SCREEN.ATTR method returns the attribute (color) of a character on the current console page (screen).
- CON.SCREEN.CHAR method returns the ASCII code of a character on the current console page (screen).
- CON.SCREEN.COL method retrieves the size of the visible part of the Console Window in columns.
- CON.SCREEN.ROW method retrieves the size of the visible part of the Console Window in rows.
- CON.SCROLL.DOWN method scrolls all or part of the current console page up.
- CON.SCROLL.LEFT method scrolls all or part of the current console page to the left.
- CON.SCROLL.RIGHT method scrolls all or part of the current console page to the right.
- CON.SCROLL.UP method scrolls all or part of the current console page down.
- CON.SIZE method retrieves the size of the Console Window.
- CON.SIZE.X method retrieves the horizontal size of the Console Window.
- CON.SIZE.Y method retrieves the vertical size of the Console Window.
- CON.STDEOF method determines whether the end of STANDARD INPUT has been reached.
- CON.STDERR method outputs a string expression to the standard error device.
- CON.STDIN.LINE method reads one line of text from the Standard Input Device.
- CON.STDOUT method outputs a string expression to the standard output device.
- CON.VIEW property retrieves the position of the viewable part of a virtual screen.
- CON.VIEW property sets the position of the viewable part of a virtual screen.
- CON.VIEW.COL method retrieves the column position of the viewable part of a virtual screen.
- CON.VIEW.ROW method retrieves the row position of the viewable part of a virtual screen.
- CON.VIRTUAL property retrieves the size of the screen buffers associated with the console window.
- CON.VIRTUAL property changes the size of the screen buffer associated with the console window.
- CON.VIRTUAL.COL method retrieves the column size of the screen buffers associated with the console window.
- CON.VIRTUAL.ROW method retrieves the row size of the screen buffers associated with the console window.
- CON.WAITKEY$ method reads a character, extended key, or mouse event from the console.
- CON.WAITSTAT function waits until a key is pressed or a mouse event occurs.
- DAYNAME$ function converts a Day-of-Week number to the associated name.
- DEC$ function converts an integral value to a decimal string.
- DECLARE statement has been updated to support the COMMON and THREADSAFE descriptors.
- DIR$ function now supports Unicode file names and directories. The DIRDATA built-in UDT has been updated to return Unicode short and long filenames.
- ENUM/END ENUM statements creates a group of logically related numeric equates.
- EXE.INST read-only user defined type returns the instance handle of the program which is currently executing.
- EXIT statement has been improved to support exiting a FASTPROC immediately.
- FASTPROC/END FASTPROC statements defines a FastProc code section.
- FONT NEW statement now optionally supports creating fonts with external leading.
- FOR EACH/NEXT statements defines a loop of program statements which can sequentially examine and act upon each member of a PowerCollection or LinkListCollection.
- FUNCTION/END FUNCTION statements have been expanded to support an optional THREADSAFE descriptor. With the THREADSAFE option, PowerBASIC automatically establishes a semaphore which allows only one thread to execute the procedure at a time.
- GET$ statement reads ANSI string data from a file opened in binary mode, but if the data is read into a Unicode string it will be converted to Unicode before it is assigned.
- GET$$ statement reads WIDE string data from a file opened in binary mode.
- GRAPHIC(CANVAS.X) function retrieves the writable width of the attached graphic target.
- GRAPHIC(CANVAS.Y) function retrieves the writable height of the attached graphic target.
- GRAPHIC(Cell.Size.X) function retrieves the character cell width including external leading.
- GRAPHIC(Cell.Size.Y) function retrieves the character cell height including external leading.
- GRAPHIC(Chr.Size.X) function retrieves the character width on the graphic target.
- GRAPHIC(Chr.Size.Y) function retrieves the character height on the graphic target.
- GRAPHIC(Client.X) function retrieves the client width of the attached graphic target.
- GRAPHIC(Client.Y) function retrieves the client height of the attached graphic target.
- GRAPHIC(Clip.X) function retrieves the width of the clip area.
- GRAPHIC(Clip.Y) function retrieves the height of the clip area.
- GRAPHIC(COL) function retrieves the next column print position, based upon the row and column position of a text cell.
- GRAPHIC(DC) function retrieves the handle of the DC (device context) for the selected graphic target.
- GRAPHIC(INSTAT) function determines whether a keyboard character is ready.
- GRAPHIC(LINES) function retrieves the number of text lines which will fit on the graphic target.
- GRAPHIC(LOC.X) function retrieves the horizontal location of the graphic target on the desktop.
- GRAPHIC(LOC.Y) function retrieves the vertical location of the graphic target on the desktop.
- GRAPHIC(MIX) function retrieves the color mix mode for the selected graphic target.
- GRAPHIC(OVERLAP) function retrieves the status of Graphic Overlap Mode.
- GRAPHIC(PIXEL...) function retrieves the color of the pixel at the specified point.
- GRAPHIC(POS.X) function retrieves the horizontal POS (last point referenced) by a GRAPHIC statement.
- GRAPHIC(POS.Y) function retrieves the vertical POS (last point referenced) by a GRAPHIC statement.
- GRAPHIC(PPI.X) function retrieves the horizontal resolution of the display device, in points per inch.
- GRAPHIC(PPI.Y) function retrieves the vertical resolution of the display device, in points per inch.
- GRAPHIC(ROW) function retrieves the next row print position, based upon the row and column position of a text cell.
- GRAPHIC(SCROLLTEXT) function retrieves the status of Graphic ScrollText Mode.
- GRAPHIC(SIZE.X) function retrieves the overall width of the selected graphic target.
- GRAPHIC(SIZE.Y) function retrieves the overall height of the selected graphic target.
- GRAPHIC(STRETCHMODE) function retrieves the default bitmap stretching mode for the attached DC.
- GRAPHIC(TEXT.SIZE.X...) function calculates the width of text to be printed.
- GRAPHIC(TEXT.SIZE.Y...) function calculates the height of text to be printed.
- GRAPHIC(View.X) function retrieves the horizontal position of the virtual graphic viewport.
- GRAPHIC(View.Y) function retrieves the vertical position of the virtual graphic viewport.
- GRAPHIC(WORDWRAP) function retrieves the status of Graphic WordWrap Mode.
- GRAPHIC(WRAP) function retrieves the status of Graphic Wrap Mode.
- GRAPHIC$(CAPTION) function retrieves the caption from a Graphic Window.
- GRAPHIC$(INKEY$) function reads a keyboard character if one is ready.
- GRAPHIC$(WAITKEY$) function reads a keyboard character or extended key, waiting until one is ready.
- GRAPHIC$ (WAITKEY$...) function reads a limited set of keyboard characters or extended keys, with an optional timeout value.
- GRAPHIC CELL statement sets or retrieves the next print position, based upon the row and column position of a text cell.
- GRAPHIC CELL SIZE statement retrieves the character cell size including external leading.
- GRAPHIC COLOR statement now supports parameters of -3 to indicate that the existing color should not be changed.
- GRAPHIC COL statement retrieves the next column print position, based upon the row and column position of a text cell.
- GRAPHIC GET CANVAS statement retrieves the buffer size of the attached graphic target.
- GRAPHIC GET CAPTION statement retrieves the caption from a Graphic Window.
- GRAPHIC GET CLIENT statement now returns the client area size in dialog units or pixels only.
- GRAPHIC GET CLIP statement retrieves the size of the clip area.
- GRAPHIC GET OVERLAP statement retrieves the status of Graphic Overlap Mode.
- GRAPHIC GET SCROLLTEXT statement retrieves the status of Graphic ScrollText Mode.
- GRAPHIC GET SIZE statement retrieves the overall size of the selected graphic target.
- GRAPHIC GET STRETCHMODE statement retrieves the default bitmap stretching mode for the attached DC.
- GRAPHIC GET VIEW statement retrieves the position of the virtual graphic viewport.
- GRAPHIC GET WORDWRAP statement retrieves the status of Graphic WordWrap Mode.
- GRAPHIC GET WRAP statement retrieves the status of Graphic Wrap Mode.
- GRAPHIC PRINT statement has been expanded to support POS(), SPC(), TAB(), commas, and semicolons.
- GRAPHIC ROW statement retrieves the next row print position, based upon the row and column position of a text cell.
- GRAPHIC SET AUTOSIZE statement expands a graphic target into autosize mode.
- GRAPHIC SET CAPTION statement changes the caption on a Graphic Window.
- GRAPHIC SET CLIENT statement changes the size of a graphic window to a specific client area size.
- GRAPHIC SET CLIP statement establishes margins around the outer edges of the graphic target.
- GRAPHIC SET FIXED statement restores a graphic target to standard fixed mode.
- GRAPHIC SET FONT statement resets back to the default original font chosen by PowerBASIC when a font handle of zero is specified.
- GRAPHIC SET OVERLAP statement enables or disables Graphic Overlap Mode.
- GRAPHIC SET SCROLLTEXT statement enables or disables Graphic ScrollText Mode.
- GRAPHIC SET SIZE statement changes the overall size of a graphic window.
- GRAPHIC SET STRETCHMODE statement sets the default bitmap stretching mode for the current DC.
- GRAPHIC SET VIEW statement changes the position of the viewport on a virtual graphic target.
- GRAPHIC SET VIRTUAL statement expands a graphic target into virtual mode.
- GRAPHIC SET WORDWRAP statement enables or disables Graphic WordWrap Mode.
- GRAPHIC SET WRAP statement enables or disables Graphic Wrap Mode.
- GRAPHIC SPLIT statement splits a string into two parts for display on a graphic target.
- GRAPHIC STRETCH PAGE statement copies and resizes a bitmap to the clip or client area of the selected graphic target.
- GRAPHIC WAITKEY$ statement has been improved with a optional KeyMask$ and TimeOut& expressions.
- GRAPHIC WINDOW statement has been expanded to support an optional font handle of the initial font to be used in the GRAPHIC WINDOW.
- GRAPHIC WINDOW END statement has been enhanced with an optional handle of the graphic window to close.
- GRAPHIC WINDOW HIDE statement makes a graphic window invisible.
- GRAPHIC WINDOW MINIMIZE statement minimizes a graphic window.
- GRAPHIC WINDOW NONSTABLE statement makes a graphic window non-stable (closeable).
- GRAPHIC WINDOW NORMALIZE statement makes a graphic window visible.
- GRAPHIC WINDOW STABILIZE statement makes a graphic window stabilized (non-closeable).
- GRAPHIC WINDOW TEXT statement creates a new standalone window oriented more towards the display of text.
- HEX$ function now supports adding leading and trailing spaces to the string result.
- IMPORT ADDR statement loads a library (DLL) to access an imported procedure.
- IMPORT CLOSE statement frees a library.
- ILinkListCollection.ADD method adds am item to the end of the LinkListCollection.
- ILinkListCollection.CLEAR method removes all items from the LinkListCollection.
- ILinkListCollection.COUNT method returns the number of items currently in the LinkListCollection.
- ILinkListCollection.FIRST method sets the current index for the LinkListCollection to one (1) and returns the previous value.
- ILinkListCollection.INDEX method sets the current index for the LinkListCollection to the specified value and returns the previous value.
- ILinkListCollection.INSERT method adds the specified item to the specified index position..
- ILinkListCollection.ITEM method returns the item from the specified index position.
- ILinkListCollection.LAST method sets the index value to the last item and returns the previous value.
- ILinkListCollection.NEXT method returns the next item in the LinkListCollection.
- ILinkListCollection.PREVIOUS method returns the previous item in the LinkListCollection.
- ILinkListCollection.REMOVE method removes the item at the specified position from the LinkListCollection.
- ILinkListCollection.REPLACE method replaces the item at the specified position with a new item in the LinkListCollection.
- IPowerArray.ARRAYBASE method returns the address of the first element of the array.
- IPowerArray.ARRAYDESC method returns the address of the SAFEARRAY descriptor.
- IPowerArray.ARRAYINFO property retrieves the info string, if one is present.
- IPowerArray.ARRAYINFO property assigns the info string to the array.
- IPowerArray.CLONE method copies an exact duplicate of the SafeArray, and stores it in the specified PowerArray object.
- IPowerArray.COPYFROMVARIANT method copies an exact duplicate of the specified SafeArray and stores it in this PowerArray object.
- IPowerArray.COPYTOVARIANT method copies an exact duplicate of the SafeArray in this object and stores it in the specified Variant.
- IPowerArray.DIM method dimensions (creates) a new array.
- IPowerArray.ELEMENTPTR method retrieves the address of the specified data element.
|
- IPowerArray.ELEMENTSIZE method retrieves the storage size (in bytes) of each data element of the array.
- IPowerArray.ERASE method destroys the contained array and empties the object.
- IPowerArray.LBOUND method retrieves the lower bound number for the dimension specified.
- IPowerArray.LOCK method increments the lock count of the SAFEARRAY.
- IPowerArray.MOVEFROMVARIANT method transfers ownership of the specified SafeArray contained in the variant to the PowerArray object.
- IPowerArray.MOVETOVARIANT method transfers ownership of the SafeArray contained in this PowerArray object to a variant parameter.
- IPowerArray.REDIM method allows the SafeArray to be erased and re-dimensioned to a new size.
- IPowerArray.REDIMPRESERVE method allows the least significant (rightmost) bound to be changed to a new size. The remaining data items in the array are preserved.
- IPowerArray.RESET method sets all elements in the SafeArray back to their initial, default value.
- IPowerArray.SUBSCRIPTS method retrieves the number of dimensions (subscripts) for this array.
- IPowerArray.UBOUND method retrieves the upper bound number for the dimension specified.
- IPowerArray.UNLOCK method decrements the lock count of the SAFEARRAY.
- IPowerArray.VALUEGET method retrieves the value of the specified array element.
- IPowerArray.VALUESET method assigns the value to the specified array element.
- IPowerArray.VALUETYPE method retrieves the %VT code which describes the data contained in this array.
- IPowerCollection.ADD method adds an item and key to the end of the PowerCollection.
- IPowerCollection.CLEAR method removes all items and keys from the PowerCollection.
- IPowerCollection.CONTAINS method scans the PowerCollection for the specified key.
- IPowerCollection.COUNT method returns the number of data items currently contained in the PowerCollection.
- IPowerCollection.ENTRY method returns the PowerCollection item specified by the Index number.
- IPowerCollection.FIRST method sets the index to the first item and returns the previous value.
- IPowerCollection.INDEX method sets the index value and returns the previous value.
- IPowerCollection.ITEM method returns the item associated with the specified key in the PowerCollection.
- IPowerCollection.LAST method sets the index to the last item and returns the previous value.
- IPowerCollection.NEXT method returns the next item in the PowerCollection.
- IPowerCollection.PREVIOUS method returns the previous item in the PowerCollection.
- IPowerCollection.REMOVE method removes the item associated with the specified key from the PowerCollection.
- IPowerCollection.REPLACE method replaces the item associated with the specified key with a new item.
- IPowerCollection.SORT method sorts the data items in the PowerCollection based upon the text in the associated keys.
- IPowerThread.Close method releases the thread handle of this thread.
- IPowerThread.Equals method compares the specified object to determine if it references the same object as this object.
- IPowerThread.Handle method retrieves the handle of the thread for use with Windows API functions.
- IPowerThread.Id method retrieves the ID of the thread for use with Windows API functions.
- IPowerThread.IsAlive method checks the thread to see if it is currently "alive".
- IPowerThread.Join method waits for the specified thread object to complete before execution of this thread continues.
- IPowerThreadLaunch method begins execution of the thread object.
- IPowerThread.Priority property get retrieves the priority value for this thread.
- IPowerThread.Priority property set sets the priority value for this thread.
- IPowerThread.Result method retrieves the results value if the thread has ended.
- IPowerThread.Resume method resumes execution of a suspended thread.
- IPowerThread.StackSize property get retrieves the size of the stack for this thread.
- IPowerThread.StackSize property set sets the size of the stack for this thread to the value specified.
- IPowerThread.Suspend method suspends execution of the thread.
- IPowerThread.TimeCreate method retrieves the date and time-of-day of the thread creation.
- IPowerThread.TimeExit method retrieves the date and time-of-day of the thread exit
- IPowerThread.TimeKernel method retrieves the amount of time this thread has spent in kernel mode.
- IPowerThread.TimeUser method retrieves the amount of time this thread has spent in user mode.
- IPowerTime.AddDays method adds or subtracts a specified number of days to value of this object.
- IPowerTime.AddHours method adds or subtracts a specified number of hours to value of this object.
- IPowerTime.AddMinutes method adds or subtracts a specified number of minutes to value of this object.
- IPowerTime.AddMonths method adds or subtracts a specified number of months to value of this object.
- IPowerTime.AddMSeconds method adds or subtracts a specified number of milliseconds to value of this object.
- IPowerTime.AddSeconds method adds or subtracts a specified number of seconds to value of this object.
- IPowerTime.AddTicks method adds or subtracts a specified number of ticks to value of this object.
- IPowerTime.AddYears method adds or subtracts a specified number of years to value of this object.
- IPowerTime.DateDiff method compares the date component of an external PowerTime object to this objects date component.
- IPowerTime.DateString method returns the Date component of the object expressed as a string.
- IPowerTime.DateStringLong method returns the Date component of the PowerTime object, expressed as a string, with a full alphabetic month name.
- IPowerTime.Day method returns the Day component of the object.
- IPowerTime.DayOfWeek method returns the Day-of-Week component of the object.
- IPowerTime.DayOfWeekString method returns the Day-of-Week of the object, expressed as a string (Sunday, Monday...).
- IPowerTime.DaysInMonth method returns the number of days which comprise the month of the date of the PowerTime object.
- IPowerTime.FileTime property get returns a Quad-Integer value of the PowerTime object as a FileTime.
- IPowerTime.FileTime property set the FileTime Quad-Integer value specified is assigned as the PowerTime object value
- IPowerTime.Hour method returns the Hour component of the object.
- IPowerTime.IsLeapYear method returns true/false (-1/0) to tell if the object year is a leap year.
- IPowerTime.Minute method returns the Minute component of the object.
- IPowerTime.Month method returns the Month component of the object.
- IPowerTime.MonthString method returns the Month component of the object, expressed as a string (January, February...).
- IPowerTime.MSecond method returns the millisecond component of the PowerTime object.
- IPowerTime.NewDate method assigns a new value to the date component of the PowerTime object.
- IPowerTime.NewTime method assigns a new value to the time component of the PowerTime object.
- IPowerTime.Now method assigns the current local date and time on this computer to this object.
- IPowerTime.NowUTC method assigns the current Coordinated Universal date and time (UTC) to this object.
- IPowerTime.Second method returns the Second component of the object.
- IPowerTime.Tick method returns the Tick component of the object.
- IPowerTime.TimeDiff method compares the time component of an external PowerTime object with this objects time component.
- IPowerTime.TimeString method returns the Time component of the PowerTime object expressed as a string.
- IPowerTime.TimeString24 method returns the Time component of the PowerTime object expressed as a string. The time is formatted as hh:mm in 24-hour notation.
- IPowerTime.TimeStringFull method returns the Time component of the PowerTime object expressed as a string. The time is formatted as hh:mm:ss.tt in 24-hour notation.
- IPowerTime.Today method the current local date on this computer is assigned to this PowerTime object.
- IPowerTime.ToLocalTime method converts the object to local time.
- IPowerTime.ToUTC method converts the object to Coordinated Universal Time (UTC).
- IPowerTime.Year method returns the Year component of the PowerTime object as a numeric value.
- IQueueCollection.CLEAR method removes all items from the QueueCollection.
- IQueueCollection.COUNT method returns the number of data items currently contained in the QueueCollection.
- IQueueCollection.DEQUEUE method returns the item at the "oldest" position in the QueueCollection.
- IQueueCollection.ENQUEUE method adds the specified item to the "newest" position in the QueueCollection.
- IStackCollection.CLEAR method removes all items from the StackCollection.
- IStackCollection.COUNT method returns the number of data items currently contained in the StackCollection.
- IStackCollection.POP method returns the item at the "Stack-Top" (the item most recently added).
- IStackCollection.PUSH method adds the specified item to the StackCollection at the "Stack-Top" position.
- IStringBuilderA.Add method appends an ANSI string to the object.
- IStringBuilderA.Capacity property get retrieves the size of the internal buffer.
- IStringBuilderA.Capacity property set sets the size of the internal buffer.
- IStringBuilderA.Char property get returns the numeric character code of the character at the specified position.
- IStringBuilderA.Clear method erases all data in the object.
- IStringBuilderA.Delete method deletes all data in the object.
- IStringBuilderA.Insert method inserts a string at a specified position.
- IStringBuilderA.Len method returns the number of characters stored in the object.
- IStringBuilderA.String method returns the ANSI string stored in the object.
- IStringBuilderW.Add method appends an WIDE string to the object.
- IStringBuilderW.Capacity property get retrieves the size of the internal buffer.
- IStringBuilderW.Capacity property set sets the size of the internal buffer.
- IStringBuilderW.Char property get returns the numeric character code of the character at the specified position.
- IStringBuilderW.Clear method erases all data in the object.
- IStringBuilderW.Delete method deletes all data in the object.
- IStringBuilderW.Insert method inserts a string at a specified position.
- IStringBuilderW.Len method returns the number of characters stored in the object.
- IStringBuilderW.String method returns the WIDE string stored in the object.
- ISNOTNULL function determines if a string is not null (contains 1 or more characters).
- ISNULL function determines if a string is null (zero-length).
- LET statement (with Types) has been expanded to support assigning a Variant byte string to a UDT using the Variant$ function.
- MEMORY COPY statement copies a specified number of bytes from one address to another.
- MEMORY FILL statement fills a specified area of memory using a string expression.
- MEMORY SWAP statement exchanges a specified number of bytes from at one address with the data at another address.
- METHOD/END METHOD statements have been expanded to support an optional THREADSAFE descriptor. With the THREADSAFE option, PowerBASIC automatically establishes a semaphore which allows only one thread to execute the procedure at a time.
- METRICS function retrieves information or dimensions of system elements.
- MID$ function and MID$ statement now support both a starting and ending position.
- MONTHNAME$ function converts a Month number to the associated name.
- OBJEQUAL function checks if object variables refer to the same object.
- OCT$ function has been expanded to 64-bits with formatting and now supports adding leading and trailing spaces to the string result.
- OemToChr$ function translates a byte string of OEM characters into ANSI/WIDE characters.
- OPEN statement has been improved with the CHR clause. The CHR clause specifies the character mode for this file: ANSI or WIDE (Unicode).
- PATHNAME$ function has been enhanced to accept relative path names.
- PEEK$$ function retrieves a specified count of consecutive 2-byte wide characters, and returns them as a wide character string.
- PLAY statement plays a wave file under program control.
- POKE statement now supports multiple data items to be stored successively.
- POKE$$ statement stores the characters of a string expression as consecutive 2-byte words of memory at a specific address.
- PREFIX/END PREFIX statements execute a series of statements, each of which utilizes pre-defined source code.
- PROPERTY/END PROPERTY statements have been expanded to support an optional THREADSAFE descriptor. With the THREADSAFE option, PowerBASIC automatically establishes a semaphore which allows only one thread to execute the procedure at a time.
- PUT$ statement has been expanded to support Unicode string expressions. If string expressions result is a Unicode string, it is converted to ANSI byte characters.
- PUT$$ statement writes a WIDE Unicode string to a file opened in binary mode.
- RESOURCE$ function returns predefined resource data.
- RESUME FLUSH statement flushes the RESUME stack and program execution simply continues on the line immediately following the RESUME FLUSH.
- RETURN FLUSH statement removes the most recent return address from the system stack and program flow continues normally after the RETURN FLUSH.
- SELECT CASE/END SELECT block has been improved with the CONST$$ modifier to enhance performance when the controlling expression is Unicode.
- SHRINK$ function shrinks a string to use a consistent single character delimiter.
- SPLIT statement splits a string into two parts.
- STRING$$ function returns a Unicode string consisting of multiple copies of a specified character.
- SUB/END SUB statements have been expanded to support an optional THREADSAFE descriptor. With the THREADSAFE option, PowerBASIC automatically establishes a semaphore which allows only one thread to execute the procedure at a time.
- TXT.CELL method sets or retrieves the cursor position.
- TXT.CLS method clears the Text Window and moves to caret to the upper left corner.
- TXT.COLOR method sets the foreground color.
- TXT.END method destroys and detaches the Text Window currently attached to your program from the process.
- TXT.INKEY$ method reads a keyboard character if one is ready.
- TXT.INSTAT method determines whether a keyboard character is ready.
- TXT.LINE.INPUT method reads an entire line from the keyboard.
- TXT.PRINT method writes text data to the TEXT WINDOW at the current caret location.
- TXT.WAITKEY$ method reads a keyboard character, waiting until one is ready.
- TXT.WINDOW method creates a new Text Window and attaches it to your program.
- TRIM$ function has been expanded to take a numeric expression and convert it to a string without any leading or trailing spaces along with an option specify the maximum number of significant digits.
- UCODEPAGE statement now supports the OEM code page.
- UNWRAP$ removes paired characters from the beginning and end of a string.
- Utf8ToChr$ function translates a byte string of OEM characters into ANSI/WIDE characters.
- VAL function has been enhanced with an optional parameter to specify the position in the string where the conversion should begin.
- VAL statement converts a text string to a numeric value with additional information.
- VARIANT$$ function returns the Unicode string value contained in a Variant variable.
- WRAP$ function adds paired characters to the beginning and end of a string.
- XPRINT(CANVAS.X) function retrieves the writable width of the host printer page.
- XPRINT(CANVAS.Y) function retrieves the writable height of the host printer page.
- XPRINT(Cell.Size.X) function retrieves the character cell width including external leading.
- XPRINT(Cell.Size.Y) function retrieves the character cell height including external leading.
- XPRINT(Chr.Size.X) function retrieves the character width on the host printer page.
- XPRINT(Chr.Size.Y) function retrieves the character height on the host printer page.
- XPRINT(Client.X) function retrieves the width of the client area (printable area) on the host printer page.
- XPRINT(Client.Y) function retrieves the height of the client area (printable area) on the host printer page.
- XPRINT(Clip.X) function retrieves the width of the clip area on the selected printer.
- XPRINT(Clip.Y) function retrieves the height of the clip area on the selected printer.
- XPRINT(COL) function retrieves the next column print position, based upon the row and column position of a text cell.
- XPRINT(COLLATE) function retrieves the XPRINT collate status.
- XPRINT(COLORMODE) function retrieves the XPRINT colormode status.
- XPRINT(COPIES) function retrieves the XPRINT copy count.
- XPRINT(DC) function retrieves the handle of the device context (DC) for the host printer page.
- XPRINT(DUPLEX) function retrieves the XPRINT duplex status.
- XPRINT(LINES) function retrieves the number of lines that can be printed.
- XPRINT(MIX) function retrieves the color mix mode for a host printer page.
- XPRINT(ORIENTATION) function retrieves the paper orientation for a host printer page.
- XPRINT(OVERLAP) function retrieves the status of XPrint Overlap Mode.
- XPRINT(PAPER) function retrieves the current paper size/type.
- XPRINT(PIXEL...) function retrieves the color of a pixel on a host printer page.
- XPRINT(POS.X) function retrieves the last horizontal point referenced (POS) by an XPRINT statement.
- XPRINT(POS.Y) function retrieves the last vertical point referenced (POS) by an XPRINT statement.
- XPRINT(PPI.X) function retrieves the horizontal resolution of the host printer page.
- XPRINT(PPI.Y) function retrieves the vertical resolution of the host printer page.
- XPRINT(ROW) function retrieves the next row print position, based upon the row and column position of a text cell.
- XPRINT(QUALITY) function retrieves the print quality setting for the host printer.
- XPRINT(SELECTION) function retrieves the status of the SELECTION flag.
- XPRINT(SIZE.X) function retrieves the width of the host printer page.
- XPRINT(SIZE.Y) function retrieves the height of the host printer page.
- XPRINT(STRETCHMODE) function retrieves the default bitmap stretching mode for the attached DC.
- XPRINT(TEXT.SIZE.X...) function calculates the width of text to be printed on a host printer.
- XPRINT(TEXT.SIZE.Y...) function calculates the height of text to be printed on a host printer.
- XPRINT(TRAY) function retrieves the active printer tray.
- XPRINT(WORDWRAP) function retrieves the status of XPRINT WordWrap Mode.
- XPRINT(WRAP) function retrieves the status of XPRINT Wrap Mode.
- XPRINT$(ATTACH) function returns the name of the attached host printer.
- XPRINT$(PAPERS) function retrieves a list of supported paper types.
- XPRINT$(TRAYS) function retrieves a list of supported paper trays.
- XPRINT ATTACH CHOOSE statement has been expanded to support optional numeric expression to control the execution of the Printer Dialog.
- XPRINT CELL statement sets or retrieves the next print position, based upon the row and column position of a text cell.
- XPRINT CELL SIZE statement retrieves the character cell size including external leading.
- XPRINT COLOR statement now supports parameters of -3 to indicate that the existing color should not be changed.
- XPRINT GET ATTACH statement retrieves the name of the attached host printer.
- XPRINT GET CANVAS statement retrieves the buffer size of the attached host printer.
- XPRINT GET CLIP statement retrieves the size of the clip area on the selected printer.
- XPRINT GET OVERLAP statement retrieves the status of XPrint Overlap Mode.
- XPRINT GET PAGES statement retrieves the XPRINT page number limits for this print job.
- XPRINT GET SELECTION statement retrieves the status of the SELECTION flag.
- XPRINT GET STRETCHMODE statement retrieves the default bitmap stretching mode for the attached DC.
- XPRINT GET WORDWRAP statement retrieves the status of XPRINT WordWrap Mode.
- XPRINT GET WRAP statement retrieves the status of XPRINT Wrap Mode.
- XPRINT PREVIEW statement display a replica of a printed document on the screen.
- XPRINT PREVIEW CLOSE statement reverts XPRINT output back to the host printer.
- XPRINT PRINT statement has been expanded to support POS(), SPC(), TAB(), commas, and semicolons.
- XPRINT SET CLIP statement establishes margins around the outer edges of the print page.
- XPRINT SET FONT statement resets back to the default original font chosen by PowerBASIC when a font handle of zero is specified,
- XPRINT SET OVERLAP statement enables or disables XPRINT Overlap Mode.
- XPRINT SET PAGES statement sets the XPRINT page number limits for this print job.
- XPRINT SET STRETCHMODE statement sets the default bitmap stretching mode for the current DC.
- XPRINT SET WORDWRAP statement enables or disables XPRINT WordWrap Mode.
- XPRINT SET WRAP statement enables or disables XPrint Wrap Mode.
- XPRINT SPLIT statement splits a string into two parts for printing with XPRINT.
- XPRINT STRETCH PAGE statement copies and resizes a bitmap to the clip or client area of the print page.
|
|