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.
(Creata pagina con "E' possibile sapere se in un lettore CD/DVD è presente o meno un disco mediante le risorse esterne del API di Per utilizzare le funzioni esterne del API di ''libcdio'' sar...")
 
 
(7 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  
+
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 IsNull(p_cdio) 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