Differenze tra le versioni di "Strfmon ()"

Da Gambas-it.org - Wikipedia.
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 4: Riga 4:
  
 
La formattazione avviene mediante speciali carrateri di conversione che possono essere consultati nelle pagine WEB segnalate in fondo nel paragrafo ''[[#Riferimenti|Riferimenti]]''.
 
La formattazione avviene mediante speciali carrateri di conversione che possono essere consultati nelle pagine WEB segnalate in fondo nel paragrafo ''[[#Riferimenti|Riferimenti]]''.
 +
  
 
Volendola utilizzare in Gambas, bisognerà dichiararla con Extern, nonché dichiarare la libreria di C: libc.so.6, nella quale la funzione è contenuta:
 
Volendola utilizzare in Gambas, bisognerà dichiararla con Extern, nonché dichiarare la libreria di C: libc.so.6, nella quale la funzione è contenuta:
 
  Private <FONT color=#B22222>Extern strfmon</font>(__s As Pointer, __maxsize As Long, __format As String, v1 As ..., etc...) As Long In "<FONT color=#B22222>libc:6</font>"
 
  Private <FONT color=#B22222>Extern strfmon</font>(__s As Pointer, __maxsize As Long, __format As String, v1 As ..., etc...) As Long In "<FONT color=#B22222>libc:6</font>"
 
 
 
Semplice esempio di uso in Gambas:
 
Semplice esempio di uso in Gambas:
 
  Library "libc:6"
 
  Library "libc:6"
Riga 17: Riga 16:
 
   
 
   
 
   
 
   
  '''Public''' Sub Main()
+
  Public Sub Main()
 
    
 
    
 
   Dim buf As Pointer
 
   Dim buf As Pointer
 
   Dim moneta As Float
 
   Dim moneta As Float
 
    
 
    
    moneta = 1234.567
+
  moneta = 1234.567
 
      
 
      
    buf = Alloc(40)
+
  buf = Alloc(SizeOf(gb.Byte), 40)
 
    
 
    
    <FONT color=#B22222>strfmon</font>(buf, 40, "[%^=*#6n] [%=*#6i]", moneta, moneta)
+
  <FONT color=#B22222>strfmon</font>(buf, 40, "[%^=*#6n] [%=*#6i]", moneta, moneta)
 
      
 
      
    Print String@(buf)
+
  Print String@(buf)
 
      
 
      
    Free(buf)
+
  Free(buf)
 
      
 
      
  '''End'''
+
  End
 
 
  
  

Versione attuale delle 14:59, 16 giu 2024

La funzione della libreria di C

ssize_t strfmon (char *__restrict __s, size_t __maxsize, const char *__restrict __format, ...)

formatta un valore monetario secondo il sistema locale corrente.

La formattazione avviene mediante speciali carrateri di conversione che possono essere consultati nelle pagine WEB segnalate in fondo nel paragrafo Riferimenti.


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

Private Extern strfmon(__s As Pointer, __maxsize As Long, __format As String, v1 As ..., etc...) As Long In "libc:6"

Semplice esempio di uso in Gambas:

Library "libc:6"

' ssize_t strfmon (char *__restrict __s, size_t __maxsize, const char *__restrict __format, ...)
' Formatting a monetary value according to the current locale.
Private Extern strfmon(__s As Pointer, __maxsize As Long, __format As String, v1 As Float, v2 As Float) As Long


Public Sub Main()
 
 Dim buf As Pointer
 Dim moneta As Float
 
 moneta = 1234.567
   
 buf = Alloc(SizeOf(gb.Byte), 40)
 
 strfmon(buf, 40, "[%^=*#6n] [%=*#6i]", moneta, moneta)
   
 Print String@(buf)
   
 Free(buf)
   
End


Riferimenti