Differenze tra le versioni di "Ottenere la descrizione del tipo di errore dai file header "errno-base.h" e "errno.h""

Da Gambas-it.org - Wikipedia.
(Creata pagina con 'Molte funzioni esterne in caso errore ritornano tipi di errore contenuti e descritti nei file header "''errno-base.h''" e "''errno.h''". Essendo tali file header sostanzialme...')
 
Riga 16: Riga 16:
 
   
 
   
 
   For Each s In fl.Lines
 
   For Each s In fl.Lines
     If s Like "* " & err & " *" Then Print "Errore n. "; err; ": "; Right(s, String.Len(s) - InStr(s, "/*") + 1)
+
     If s Like "* " & err & " *" Then Print "Errore n. "; err; ": "; Scan(s, "*/*/*")[1]
 
   Next
 
   Next
 
   fl.Close
 
   fl.Close
Riga 22: Riga 22:
 
   fl = Open "/usr/include/asm-generic/errno.h"
 
   fl = Open "/usr/include/asm-generic/errno.h"
 
   For Each s In fl.Lines
 
   For Each s In fl.Lines
     If s Like "* " & err & " *" Then Print "Errore n. "; err; ": "; Right(s, String.Len(s) - InStr(s, "/*") + 1)
+
     If s Like "* " & err & " *" Then Print "Errore n. "; err; ": "; Scan(s, "*/*/*")[1]
 
   Next
 
   Next
 
   fl.Close
 
   fl.Close
 
      
 
      
 
  '''End'''
 
  '''End'''

Versione delle 03:11, 2 dic 2014

Molte funzioni esterne in caso errore ritornano tipi di errore contenuti e descritti nei file header "errno-base.h" e "errno.h".

Essendo tali file header sostanzialmente dei file di testo, è abbastanza agevole, volendo, estrarre da essi sulla base del valore di errore, ritornato dalla funzione esterna, la descrizione di questo presente nel file header.


Nell'esempio fingiamo di ricevere un errore rappresentato dal valore "9":

Public Sub Main()

 Dim s, err As String
 Dim fl As File
 
' Fingiamo di ricevere l'errore numero 9:
  err = "9"

  fl = Open "/usr/include/asm-generic/errno-base.h"

  For Each s In fl.Lines
    If s Like "* " & err & " *" Then Print "Errore n. "; err; ": "; Scan(s, "*/*/*")[1]
  Next
  fl.Close
   
  fl = Open "/usr/include/asm-generic/errno.h"
  For Each s In fl.Lines
    If s Like "* " & err & " *" Then Print "Errore n. "; err; ": "; Scan(s, "*/*/*")[1]
  Next
  fl.Close
   
End