Differenze tra le versioni di "Conoscere il numero di linee e di colonne costituenti la corrente dimensione di un terminale o console"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Per conoscere il numero di linee e di colonne costituenti la corrente dimensione di un terminale o di una console, potremo utilizzare la funzione "iocl()" della libreria C....")
 
 
(3 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
Per conoscere il numero di linee e di colonne costituenti la corrente dimensione di un terminale o di una console, potremo utilizzare la funzione "iocl()" della libreria C.
+
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"
 
  Library "libc:6"
 
   
 
   

Versione attuale delle 12:22, 15 ott 2024

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