WIDTH: Difference between revisions
Jump to navigation
Jump to search
Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link
No edit summary |
No edit summary |
||
(13 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
The '''WIDTH''' statement changes the text dimensions of certain '''SCREEN''' modes. | The '''WIDTH''' statement changes the text dimensions of certain '''SCREEN''' modes or devices. | ||
{{PageSyntax}} | {{PageSyntax}} | ||
;For SCREEN: | ;*For SCREEN:'''WIDTH''' [{{Parameter|columns%}}] [,{{Parameter|rows%}}] | ||
;For CONSOLE (Windows Console Only): | |||
;For | ;*For CONSOLE (Windows Console Only):'''WIDTH''' [{{Parameter|columns%}}] [,{{Parameter|rows%}}] [,{{Parameter|buffer_columns%}}] [,{{Parameter|buffer_rows%}}] | ||
;*For Files:'''WIDTH''' {{Parameter|file_number <nowiki>|</nowiki> device}}, {{Parameter|columnwidth%}} | |||
{{PageParameters}} | {{PageParameters}} | ||
* When parameters are not specified, columns defaults to 80 with 25 (30 in [[SCREEN]] 11 or 12) rows. | * When parameters are not specified, columns defaults to 80 with 25 (30 in [[SCREEN]] 11 or 12) rows. | ||
Line 15: | Line 17: | ||
* '''WIDTH''' should be used after a program [[SCREEN]] statement. It does not affect screen graphics or graphic coordinates. | * '''WIDTH''' should be used after a program [[SCREEN]] statement. It does not affect screen graphics or graphic coordinates. | ||
* Affects SCREEN 0 Window size and alters the text block size of each screen mode listed in QBasic: | * Affects SCREEN 0 Window size and alters the text block size of each screen mode listed in QBasic: | ||
:* SCREEN 0 can use 80 or 40 columns and 25, 43 or 50 rows. Default is '''WIDTH''' 80, 25. | :* SCREEN 0 can use 80 or 40 columns and 25, 43 or 50 rows. Default is '''WIDTH''' 80, 25. | ||
:* SCREEN 9 can use 80 columns and 25 or 43(not supported on many monitors) rows. Default '''WIDTH''' 80, 25 fullscreen. | :* SCREEN 9 can use 80 columns and 25 or 43(not supported on many monitors) rows. Default '''WIDTH''' 80, 25 fullscreen. | ||
:* SCREEN 10 can use 80 columns and 25 or 43 rows. Default is '''WIDTH''' 80, 25 fullscreen. | :* SCREEN 10 can use 80 columns and 25 or 43 rows. Default is '''WIDTH''' 80, 25 fullscreen. | ||
:* SCREEN 11 and 12 can use 80 columns and 30 or 60 rows. Default is '''WIDTH''' 80, 30 fullscreen. | :* SCREEN 11 and 12 can use 80 columns and 30 or 60 rows. Default is '''WIDTH''' 80, 30 fullscreen. | ||
* '''QB64''' can alter all [[SCREEN]] mode widths and heights which may also affect text or [[_FONT]] block sizes. | * '''QB64''' can alter all [[SCREEN]] mode widths and heights which may also affect text or [[_FONT]] block sizes. | ||
* If a [[$CONSOLE]] window is active and you set [[_DEST]] [[_CONSOLE]], '''WIDTH''' will affect the console output window size (Windows only), with the last two optional parameters setting the buffer size for the console. (For example, you can set a console to be 80 characters x 25 lines for the display, with a buffer size of 300 characters and 100 lines, which allows you to display that much information and navigate the visible display with the scroll bars.) | * If a [[$CONSOLE]] window is active and you set [[_DEST]] [[_CONSOLE]], '''WIDTH''' will affect the console output window size (Windows only), with the last two optional parameters setting the buffer size for the console. (For example, you can set a console to be 80 characters x 25 lines for the display, with a buffer size of 300 characters and 100 lines, which allows you to display that much information and navigate the visible display with the scroll bars.) | ||
;Note: | ;*Note:'''WIDTH''' changes may change screen color settings in QBasic. Use [[PALETTE]] to reset to default colors. | ||
:*WIDTH LPRINT is not supported in QB64. | :* '''WIDTH LPRINT''' is not supported in QB64. | ||
{{PageExamples}} | {{PageExamples}} | ||
;*Example 1:Showing the use of the buffer parameters for [[$CONSOLE]] usage. | |||
:*The program creates more output than fits to the display, but the buffer preserves the output and you can scroll back and forth. | |||
{{CodeStart}} | {{CodeStart}} | ||
{{Cl|$CONSOLE|$CONSOLE:ONLY}} | {{Cl|$CONSOLE|$CONSOLE:ONLY}} | ||
Line 51: | Line 55: | ||
{{PageSeeAlso}} | {{PageSeeAlso}} | ||
* [https://qb64phoenix.com/forum/showthread.php?tid=1276 Featured in our "Keyword of the Day" series] | |||
* [[SCREEN]], [[COLOR]], [[OUT]] | * [[SCREEN]], [[COLOR]], [[OUT]] | ||
* [[_PRINTWIDTH]] | * [[_PRINTWIDTH]] | ||
* [[_WIDTH (function)]], [[_HEIGHT]] | * [[_WIDTH (function)]], [[_HEIGHT]] | ||
* [[_FONT]], [[_FONTWIDTH]], [[_FONTHEIGHT]] | * [[_FONT]], [[_FONTWIDTH]], [[_FONTHEIGHT]] | ||
{{PageNavigation}} | {{PageNavigation}} |
Latest revision as of 18:01, 25 May 2024
The WIDTH statement changes the text dimensions of certain SCREEN modes or devices.
Syntax
- For SCREEN
- WIDTH [columns%] [,rows%]
- For CONSOLE (Windows Console Only)
- WIDTH [columns%] [,rows%] [,buffer_columns%] [,buffer_rows%]
- For Files
- WIDTH file_number | device, columnwidth%
Parameters
- When parameters are not specified, columns defaults to 80 with 25 (30 in SCREEN 11 or 12) rows.
Description
- WIDTH should be used after a program SCREEN statement. It does not affect screen graphics or graphic coordinates.
- Affects SCREEN 0 Window size and alters the text block size of each screen mode listed in QBasic:
- SCREEN 0 can use 80 or 40 columns and 25, 43 or 50 rows. Default is WIDTH 80, 25.
- SCREEN 9 can use 80 columns and 25 or 43(not supported on many monitors) rows. Default WIDTH 80, 25 fullscreen.
- SCREEN 10 can use 80 columns and 25 or 43 rows. Default is WIDTH 80, 25 fullscreen.
- SCREEN 11 and 12 can use 80 columns and 30 or 60 rows. Default is WIDTH 80, 30 fullscreen.
- QB64 can alter all SCREEN mode widths and heights which may also affect text or _FONT block sizes.
- If a $CONSOLE window is active and you set _DEST _CONSOLE, WIDTH will affect the console output window size (Windows only), with the last two optional parameters setting the buffer size for the console. (For example, you can set a console to be 80 characters x 25 lines for the display, with a buffer size of 300 characters and 100 lines, which allows you to display that much information and navigate the visible display with the scroll bars.)
- Note
- WIDTH changes may change screen color settings in QBasic. Use PALETTE to reset to default colors.
- WIDTH LPRINT is not supported in QB64.
Examples
- Example 1
- Showing the use of the buffer parameters for $CONSOLE usage.
- The program creates more output than fits to the display, but the buffer preserves the output and you can scroll back and forth.
$CONSOLE:ONLY WIDTH 80, 25, 300, 100 CLS FOR i = 1 TO 97 PRINT i NEXT PRINT STRING$(100, "0") + STRING$(100, "1") + STRING$(100, "2") 'print the 100's placeholders FOR j = 1 TO 3 FOR i = 0 TO 9 PRINT STRING$(10, _TRIM$(STR$(i))); 'print the 10's placeholders NEXT NEXT FOR j = 1 TO 30 FOR i = 0 TO 9 PRINT _TRIM$(STR$(i)); 'print the 1's placeholders. NEXT NEXT SLEEP |
See also
- Featured in our "Keyword of the Day" series
- SCREEN, COLOR, OUT
- _PRINTWIDTH
- _WIDTH (function), _HEIGHT
- _FONT, _FONTWIDTH, _FONTHEIGHT