Oppure

Loading
24/08/08 8:37
Ho un check box, ma il retro non diventava trasparente, come le label, ma ho risolto

come posso fare che le canzoni siano prese solo dai lettori, e masterizzatori sul pc, e non da cartelle sul disco rigido?

P.S. vai nella sezione Humor
:rotfl::rotfl::D
Ultima modifica effettuata da 24/08/08 9:02
24/08/08 8:41
GrG
penso che con il checkbox nn si possa fare, al massimo puoi cambiare colore allo sfondo del checkbox.

p.s. ho visto :D
Ultima modifica effettuata da GrG 24/08/08 8:44
aaa
24/08/08 9:03
come posso fare che le canzoni siano prese solo dai lettori, e masterizzatori sul pc, e non da cartelle sul disco rigido?

24/08/08 9:15
GrG
qundo carichi una canzone devi vedere dove è situata cioè il suo percorso. se vedi che il percorso è magari "C:\canzoni\song.wav" tu mandi una msgbox di errore, se vedi che il percorso è tipo "D:\song.wav" allora la esegui.

(D:\ sarebbe il percorso del CD\DVD)
aaa
24/08/08 9:28
Overflow
non è detto che in ogni computer il drive del lettore cd-rom abbia sempre lo stessa lettera. Dipende a seconda delle partizioni presenti sul pc(per esempio).
Invece credo che il nome del volume dei lettori Cd non cambi(Unità DVD) e per i masterizzatori (Unità DVD-R) quindi usando l'api

Private Declare Function GetVolumeInformation& Lib "kernel32" Alias _
    "GetVolumeInformationA" (ByVal lpRootPathName As String, _
    ByVal pVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, _
    lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, _
    lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, _
    ByVal nFileSystemNameSize As Long)


si può ottenere il nome del volume, e quindi sapere se si tratta del lettore Cd oppure di una partizione.
aaa
24/08/08 9:34
Invece potrei fare una cosa...
Potrei fare un form che parta prima del main, con un drive list box, e chiedo di selezionare il drive
Ultima modifica effettuata da 24/08/08 9:46
24/08/08 10:05
GrG
volendo per trovare il drive si potrebbe inserire nel form un drivebox non visibile che di default segna il nome del disco rigido e lo potresti far leggere al tuo prog. Oppure (cosa migliore) usa l'API suggerita da Overflow
aaa
24/08/08 10:13
Overflow
scusa ma ho trovato un API apposita per ottenere il tipo del drive (CD-ROM, disco fisso ec..):
Private Declare Function GetDriveType Lib "kernel32.dll" Alias "GetDriveTypeA" _
(ByVal nDrive As String) As Long


dichiara questa costante:
'questa è quella che ti serve
const DRIVE_CDROM = 5
'queste non credo ti servano
const DRIVE_FIXED = 3
const DRIVE_REMOVABLE = 2

adesso chiami la funzione
dim tdrive as long
dim drive as string

drive = "D:\"

tdrive = GetDriveType(drive)

if tdrive = DRIVE_CDROM then
msgbox drive & " è un lettore CD"
end if

Ultima modifica effettuata da Overflow 24/08/08 10:16
aaa