Terminal control/Dimensions: Difference between revisions
Content added Content deleted
(Tidy up, remove non-implemented languages) |
(→{{header|PureBasic}}: Added PureBasic) |
||
Line 1: | Line 1: | ||
{{draft task}} |
{{draft task}} |
||
Determine the height and width of the terminal, and store this information into variables for subsequent use. |
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}}== |
=={{header|UNIX Shell}}== |