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.
 
(3 versioni intermedie di uno stesso utente non sono mostrate)
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.18.0.0'' ".
  
  
 
Mostriamo un esempio:
 
Mostriamo un esempio:
  Library "libcdio:13.0.0"
+
  Library "libcdio:18.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 !")
 
    
 
    
 
  <FONT Color=gray>' ''Verifica se nel lettore CD-DVD è presente un disco:''</font>
 
  <FONT Color=gray>' ''Verifica se nel lettore CD-DVD è presente un disco:''</font>
  If cdio_get_discmode(p_cdio) = CDIO_DISC_MODE_ERROR Then
+
  If cdio_get_discmode(p_cdio) == CDIO_DISC_MODE_ERROR Then
    Print "Non è presente nel lettore CD-DVD alcun disco !"
+
    Print "Non è presente nel lettore CD-DVD alcun disco !"
  Else
+
  Else
    Print "E' già presente un disco nel lettore CD-DVD."
+
    Print "E' già presente un disco nel lettore CD-DVD."
  Endif
+
  Endif
+
 
     
 
 
  <FONT Color=gray>' ''Va in chiusura:''</font>
 
  <FONT Color=gray>' ''Va in chiusura:''</font>
  cdio_destroy(p_cdio)
+
  cdio_destroy(p_cdio)
 
    
 
    
 
  '''End'''
 
  '''End'''

Versione attuale delle 11:13, 26 dic 2020

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.18.0.0 ".


Mostriamo un esempio:

Library "libcdio:18.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