Individuare con le funzioni del API di SDL i drive CD-ROM connessi al sistema
Da Gambas-it.org - Wikipedia.
Versione del 28 lug 2024 alle 04:55 di Vuott (Discussione | contributi) (Creata pagina con "Le funzioni esterne dell'API di ''SDL'' consentono di conoscere la lista dei ''drive'' CD-ROM connessi al sistema. Per utilizzare le funzioni esterne dell'API di ''SDL'' sar...")
Le funzioni esterne dell'API di SDL consentono di conoscere la lista dei drive CD-ROM connessi al sistema.
Per utilizzare le funzioni esterne dell'API di SDL sarà necessario richiamare l'attuale libreria "libSDL-1.2.so.1.2.68".
Mostriamo un semplice codice che consentirà di sapere la lista dei drive CD-ROM presenti nel sistema:
Library "libSDL-1.2:1.2.68" Private Const SDL_INIT_CDROM As Short = 256 ' 0x00000100 ' int SDL_Init(Uint32 flags) Private Extern SDL_Init(flags As Integer) As Integer ' char *SDL_GetError(void) ' returns a NULL terminated string containing information about the last internal SDL error. Private Extern SDL_GetError() As String ' int SDL_CDNumDrives(void) ' Returns the number of CD-ROM drives on the system. Private Extern SDL_CDNumDrives() As Integer ' const char *SDL_CDName(int drive) ' Returns a human-readable, system-dependent identifier for the CD-ROM. ' drive is the index of the drive. Drive indices start to 0 and end at SDL_CDNumDrives() - 1 Private Extern SDL_CDName(drive As Integer) As String ' void SDL_Quit(void) ' Clean up all initialized subsystems. Private Extern SDL_Quit() Public Sub Main() Dim b As Byte ' Inizializza la libreria libSDL, ed imposta il parametro relativo al CD-ROM: If SDL_Init(SDL_INIT_CDROM) < 0 Then Error.Raise("Impossibile inizializzare la libreria 'libSDL': " & SDL_GetError()) Endif ' Mostra quanti drive CD-ROM sono connessi al sistema: b = SDL_CDNumDrives() if b > 0 then Print "Drive CD-ROM connessi al sistema: "; b For b As Byte = 0 To SDL_CDNumDrives() - 1 ' Mostra il "drive" CD-ROM connesso al sistema: Print "Drive CDROM connesso: \e[1m"; SDL_CDName(b) Next Else Print "Nessun drive CDROM connesso !" Endif SDL_Quit() End