Differenze tra le versioni di "Sapere con le funzioni del API di libcdio se nel lettore CD/DVD è presente già un disco"

Da Gambas-it.org - Wikipedia.
Riga 1: Riga 1:
 
E' possibile sapere se in un lettore CD/DVD è presente o meno un disco mediante le risorse esterne del API di ''libcdio'' .
 
E' possibile sapere se in un lettore CD/DVD è presente o meno un disco mediante le risorse esterne del API di ''libcdio'' .
  
Per utilizzare le funzioni esterne del API di ''libcdio'' sarà necessario richiamare la libreria dinamica condivisa: "''libcdio.so.13.0.0''".
+
Per utilizzare le funzioni esterne del API di ''libcdio'' sarà necessario richiamare la libreria dinamica condivisa: "''libcdio.so.17.0.0''".
  
  
 
Mostriamo un esempio:
 
Mostriamo un esempio:
  Library "libcdio:13.0.0"
+
  Library "libcdio:17.0.0"
 
   
 
   
  Private Enum DRIVER_UNKNOWN = 0, DRIVER_AIX, DRIVER_BSDI,
+
  Private Enum DRIVER_UNKNOWN = 0, DRIVER_AIX, DRIVER_FREEBSD, DRIVER_NETBSD,
              DRIVER_FREEBSD, DRIVER_NETBSD, DRIVER_LINUX,
+
              DRIVER_LINUX, DRIVER_SOLARIS, DRIVER_OSX, DRIVER_WIN32,
              DRIVER_SOLARIS, DRIVER_OS2, DRIVER_OSX,
+
               DRIVER_CDRDAO, DRIVER_BINCUE, DRIVER_NRG, DRIVER_DEVICE
               DRIVER_WIN32, DRIVER_CDRDAO, DRIVER_BINCUE,
 
              DRIVER_NRG, DRIVER_DEVICE
 
 
              
 
              
 
  Private Const CDIO_DISC_MODE_ERROR As Integer = 17
 
  Private Const CDIO_DISC_MODE_ERROR As Integer = 17
Riga 32: Riga 30:
 
   Dim p_cdio As Pointer
 
   Dim p_cdio As Pointer
 
    
 
    
   p_cdio = cdio_open(Null, DRIVER_UNKNOWN)
+
   p_cdio = cdio_open("/dev/<FONT Color=gray>''file-device_del_cdrom''</font>", DRIVER_LINUX)
 
   If p_cdio = 0 Then Error.Raise("Impossibile trovare il file-device del driver CD/DVD !")
 
   If p_cdio = 0 Then Error.Raise("Impossibile trovare il file-device del driver CD/DVD !")
 
    
 
    

Versione delle 17:03, 1 ago 2019

E' possibile sapere se in un lettore CD/DVD è presente o meno un disco mediante le risorse esterne del API di libcdio .

Per utilizzare le funzioni esterne del API di libcdio sarà necessario richiamare la libreria dinamica condivisa: "libcdio.so.17.0.0".


Mostriamo un esempio:

Library "libcdio:17.0.0"

Private Enum DRIVER_UNKNOWN = 0, DRIVER_AIX, DRIVER_FREEBSD, DRIVER_NETBSD,
             DRIVER_LINUX, DRIVER_SOLARIS, DRIVER_OSX, DRIVER_WIN32,
             DRIVER_CDRDAO, DRIVER_BINCUE, DRIVER_NRG, DRIVER_DEVICE
            
Private Const CDIO_DISC_MODE_ERROR As Integer = 17
 
' CdIo_t * cdio_open (const char *psz_source, driver_id_t driver_id)
' Sets up to read from place specified by psz_source and driver_id.
Private Extern cdio_open(psz_source As String, driver_id As Integer) As Pointer

' discmode_t cdio_get_discmode (CdIo_t *p_cdio)
' Get disc mode - the kind of CD (CD-DA, CD-ROM mode 1, CD-MIXED, etc. that we've got.
Private Extern cdio_get_discmode(cdioP As Pointer) As Integer
 
' void cdio_destroy(CdIo_t * p_cdio)
' Free any resources associated with p_cdio.
Private Extern cdio_destroy(cdioP As Pointer)


Public Sub Main()

 Dim p_cdio As Pointer
 
  p_cdio = cdio_open("/dev/file-device_del_cdrom", DRIVER_LINUX)
  If p_cdio = 0 Then Error.Raise("Impossibile trovare il file-device del driver CD/DVD !")
  
' Verifica se nel lettore CD-DVD è presente un disco:
  If cdio_get_discmode(p_cdio) = CDIO_DISC_MODE_ERROR Then
    Print "Non è presente nel lettore CD-DVD alcun disco !"
  Else
    Print "E' già presente un disco nel lettore CD-DVD."
  Endif

     
' Va in chiusura:
  cdio_destroy(p_cdio)
  
End