Differenze tra le versioni di "Isgraph()"

Da Gambas-it.org - Wikipedia.
 
Riga 10: Riga 10:
 
  ' ''Checks if the character has graphical representation.''</font>
 
  ' ''Checks if the character has graphical representation.''</font>
 
  Private Extern <FONT color=#B22222>isgraph</font>(c As Integer) As Integer In "<FONT color=#B22222>libc:6</font>"
 
  Private Extern <FONT color=#B22222>isgraph</font>(c As Integer) As Integer In "<FONT color=#B22222>libc:6</font>"
 +
 
   
 
   
 
  Public Sub Main()
 
  Public Sub Main()

Versione attuale delle 14:38, 15 giu 2024

La funzione della libreria di C

int isgraph(int c);

ritorna un valore maggiore di zero (Vero) se "c" e' un carattere grafico stampabile. I caratteri con rappresentazione grafica sono tutti quei caratteri che possono essere stampati ad eccezione dei caratteri di spaziatura. Infatti il carattere dello spazio (0x20) non è considerato in questo caso un carattere rispondente alle specifiche di "isgraph()".


Volendola utilizzare direttamente in Gambas, bisognerà dichiararla con Extern, nonché dichiarare la libreria di C: libc.so.6, nella quale la funzione è contenuta:

Private Extern isgraph(c As Integer) As Integer In "libc:6"

Semplice esempio di uso in Gambas, nel quale vengono individuati e mostrati tutti i caratteri con rappresentazione grafica:

' int isgraph(int c)
' Checks if the character has graphical representation.
Private Extern isgraph(c As Integer) As Integer In "libc:6"


Public Sub Main()

 Dim i, n As Integer
     
 For n = 0 To 255
   i = isgraph(n)
   Print n, CBool(i)
 Next
     
End

Come si potrà facilmente notare, il carattere dello spazio (valore decimale: 32) dà risultato False, quindi non considerato un carattere grafico rispondente alle caratteristiche della funzione "isgraph()".