Terminal control/Dimensions: Difference between revisions

(Tidy up, remove non-implemented languages)
(→‎{{header|PureBasic}}: Added PureBasic)
Line 1:
{{draft task}}
Determine the height and width of the terminal, and store this information into variables for subsequent use.
 
=={{header|PureBasic}}==
PureBasic does not have native functions for reading the size of this window, but supports API-functions that allows this.
 
This code is for Windows only.
<lang PureBasic>Macro ConsoleHandle()
GetStdHandle_( #STD_OUTPUT_HANDLE )
EndMacro
 
Procedure ConsoleWidth()
Protected CBI.CONSOLE_SCREEN_BUFFER_INFO
Protected hConsole = ConsoleHandle()
GetConsoleScreenBufferInfo_( hConsole, @CBI )
ProcedureReturn CBI\srWindow\right - CBI\srWindow\left + 1
EndProcedure
 
Procedure ConsoleHeight()
Protected CBI.CONSOLE_SCREEN_BUFFER_INFO
Protected hConsole = ConsoleHandle()
GetConsoleScreenBufferInfo_( hConsole, @CBI )
ProcedureReturn CBI\srWindow\bottom - CBI\srWindow\top + 1
EndProcedure
 
If OpenConsole()
x$=Str(ConsoleWidth())
y$=Str(ConsoleHeight())
PrintN("This window is "+x$+"x"+y$+ " chars.")
;
Print(#CRLF$+"Press ENTER to exit"):Input()
EndIf</lang>
 
=={{header|UNIX Shell}}==
Anonymous user