CONSOLE SET SCREEN statement

Purpose

Change the size of the console window and its associated screen buffers.

Syntax

CONSOLE SET SCREEN ncRows&, ncColumns&

Remarks

The size of the console window (and the buffer for each active page) is changed to the rows and columns specified. It should be noted that, when using Windows 95/98/ME, a change in the number of rows to a non-standard value (other than 25, 43, 60) will substantially increase the execution speed of PRINT statements.

Once the console size has been altered, the new size can be retrieved with the CONSOLE GET SCREEN statement.

If CONSOLE SET SCREEN did not succeed, error 5 (Illegal Function Call) is generated.  This is most likely to be caused by one or more parameters that are too large or too small for the operating system in use.

If a non-standard screen size is used, switching the console to full screen mode may cause the console to be resized by Windows to the closest standard size.  The precise course of action taken by Windows in this case is version-dependent.

The default console size depends on the Windows version and on the user’s local settings.

Previous versions of PowerBASIC allowed a syntax of CONSOLE SCREEN (without the SET directive, which was added for syntax symmetry, and ease of remembering it).  While the old syntax will be supported for some period of time, we urge you to change to the new syntax as soon as possible, to avoid future compatibility issues.

Most PowerBASIC statements specify graphic and pixel positions as x, y (the horizontal term first, then the vertical term).  However, for compatibility with most current and prior versions of BASIC (PowerBASIC included), the statements which reference console rows and columns name the vertical term first (rows, columns).

Restrictions

This statement was designed for use with the WinNT family of operating systems (WinNT, Win2000, WinXP).  It may not be possible to use all the features under Win95/98/ME, due to faults in the Windows subsystems. At a minimum, under Win95/98/ME, you must disable FONT AUTO-SIZE, and choose a specific fixed font for the console. Then test the features you wish to use, to verify accurate execution.

If a non-standard console size is in use, switching the console to full-screen mode may cause the console to be resized by Windows to the closest standard size.  The exact result will depend on factors such as the version of Windows, fonts, and graphics hardware and drivers installed.

SHELLing to DOS or console applications that have not been written to specifically handle non-standard console sizes can result in unpredictable application behavior and crashes.  When in doubt, restore the console to a standard size before using SHELL, then resize it back afterward.

See also

CONSOLE GET LOC, CONSOLE GET SCREEN, CONSOLE GET SIZE, CONSOLE GET VIEW, CONSOLE GET VIRTUAL, CONSOLE SET LOC, CONSOLE SET VIEW, CONSOLE SET VIRTUAL, DESKTOP GET CLIENT, DESKTOP GET LOC, DESKTOP GET SIZE