Conoscere il numero di linee e di colonne costituenti la corrente dimensione di un terminale o console
Da Gambas-it.org - Wikipedia.
Versione del 15 ott 2024 alle 12:22 di Vuott (Discussione | contributi)
Per conoscere il numero di linee e di colonne costituenti la corrente dimensione di un terminale o della console dell'IDE di Gambas, potremo utilizzare alcune modalità.
Usando le Proprietà ".Width" e ".Height" della risorsa "File.Out.Term" di Gambas
Per conoscere il numero massimo di colonne, di cui è formata una riga completa della Console o del Terminale; e pertanto quanti caratteri una riga della Console o del Terminale è in grado di contenere, senza che il testo, ivi stampato, continui automaticamente alla riga successiva in basso, si userà:
File.Out.Term.Width As Integer
Per conoscere, invece, il numero massimo di righe di una Console o Terminale, si userà:
File.Out.Term.Height As Integer
Usando la funzione "ioctl()" della libreria C
Modificando la dimensione del terminale o della console, i valori restituiti attinenti alle colonne e alle righe cambieranno.
Library "libc:6" Public Struct winsize ws_row As Short ws_col As Short ws_xpixel As Short ws_ypixel As Short End Struct Private Const STDOUT_FILENO As Integer = 1 Private Const TIOCGWINSZ As Integer = &5413 ' int ioctl (int __fd, unsigned long int __request, ...) ' Perform the I/O control operation specified by REQUEST on FD. Private Extern ioctl(__fd As Integer, __request As Long, w As Winsize) As Integer Public Sub Main() Dim ws As New Winsize ioctl(STDOUT_FILENO, TIOCGWINSZ, ws) Print "Linee: "; ws.ws_row Print "Colonne: "; ws.ws_col End