Width
Sets or gets the number of rows and columns of the display
Width [columns] [, rows]
Width LPrint columns
Width { #filenum | devicename }, columns
result = Width( )
columns
Returns a 32 bit Long where the High Word is the number of rows and the Low Word is the number of columns currently set.
Sets the maximum number of columns of characters of an output device (console, printer or text file). If text sent to the device reaches the width an automatic carriage return is generated.
Using Width as a function returns the current console width in the low word and the current height in the high word.
If a device is not given then Width takes effect on the active console/graphics screen, and a second argument specifying maximum number of rows is allowed.
In graphics modes Width is used to indirectly select the font size by setting one of the character height * width pairs allowed (See Screen (Graphics)). If rows / cols is an invalid combination, no changes are made to the screen display.
Valid font heights are 8 pixels, 14 pixels and 16 pixels. The fonts all have a fixed width of 8 pixels.
Using the Width command in graphic mode also forces a screen clear (Cls).
Syntax
Width [columns] [, rows]
Width LPrint columns
Width { #filenum | devicename }, columns
result = Width( )
Parameters
columns
columns (in characters) for output
rowsrows (in characters) for output
filenumfile number to apply to
devicenamedevice name to apply to
Return Value
Returns a 32 bit Long where the High Word is the number of rows and the Low Word is the number of columns currently set.
Description
Sets the maximum number of columns of characters of an output device (console, printer or text file). If text sent to the device reaches the width an automatic carriage return is generated.
Using Width as a function returns the current console width in the low word and the current height in the high word.
If a device is not given then Width takes effect on the active console/graphics screen, and a second argument specifying maximum number of rows is allowed.
In graphics modes Width is used to indirectly select the font size by setting one of the character height * width pairs allowed (See Screen (Graphics)). If rows / cols is an invalid combination, no changes are made to the screen display.
Valid font heights are 8 pixels, 14 pixels and 16 pixels. The fonts all have a fixed width of 8 pixels.
Using the Width command in graphic mode also forces a screen clear (Cls).
Example
Dim As Integer w
w = Width
Print "rows: " & HiWord(w)
Print "cols: " & LoWord(w)
w = Width
Print "rows: " & HiWord(w)
Print "cols: " & LoWord(w)
''Set up a graphics screen
Const W = 320, H = 200
ScreenRes W, H
Dim As Integer twid, tw, th
'' Fetch and print current text width/height:
twid = Width()
tw = LoWord(twid): th = HiWord(twid)
Print "Default for current screen (8*8)"
Print "Width: " & tw
Print "Height: " & th
Sleep
Width W\8, H\16 '' Use 8*16 font
twid = Width()
tw = LoWord(twid): th = HiWord(twid)
Print "Set to 8*16 font"
Print "Width: " & tw
Print "Height: " & th
Sleep
Width W\8, H\14 '' Use 8*14 font
twid = Width()
tw = LoWord(twid): th = HiWord(twid)
Print "Set to 8*14 font"
Print "Width: " & tw
Print "Height: " & th
Sleep
Width W\8, H\8 '' Use 8*8 font
twid = Width()
tw = LoWord(twid): th = HiWord(twid)
Print "Set to 8*8 font"
Print "Width: " & tw
Print "Height: " & th
Sleep
Const W = 320, H = 200
ScreenRes W, H
Dim As Integer twid, tw, th
'' Fetch and print current text width/height:
twid = Width()
tw = LoWord(twid): th = HiWord(twid)
Print "Default for current screen (8*8)"
Print "Width: " & tw
Print "Height: " & th
Sleep
Width W\8, H\16 '' Use 8*16 font
twid = Width()
tw = LoWord(twid): th = HiWord(twid)
Print "Set to 8*16 font"
Print "Width: " & tw
Print "Height: " & th
Sleep
Width W\8, H\14 '' Use 8*14 font
twid = Width()
tw = LoWord(twid): th = HiWord(twid)
Print "Set to 8*14 font"
Print "Width: " & tw
Print "Height: " & th
Sleep
Width W\8, H\8 '' Use 8*8 font
twid = Width()
tw = LoWord(twid): th = HiWord(twid)
Print "Set to 8*8 font"
Print "Width: " & tw
Print "Height: " & th
Sleep
Platform Differences
- In a Windows console any values > 0 can be used in windowed mode.
- On a DOS or Windows full-screen console, the valid dimensions depend on the capabilities of the hardware.
- Linux doesn't allow applications to change the console size.
Differences from QB
- columns was limited to 40 or 80, while rows could be 25, 30, 43, 50 or 60, depending on the graphics hardware and screen mode being used.
See also