Newsgroup: it.comp.lang.visual-basic
Titolo: Controllo presenza floppy nel drive

Salve a tutti,
in un mio applicativo avrei bisogno di sapere se nel drive relativo è
presente o no un disco floppy.
Come posso fare?
Grazie
Brunix

Un floppy qualsiasi ??? Senza tener conto di label, o di file contenuti?
Una dir a:\ o dir b:\ e se il comando ti restituisce stringa vuota o peggio
prima ricevi un msg dal sistema operativo, sai che il floppy non c'è.
Ti controlli la err.number e se è = a 53 (mi pare) vuol dire che manca
il floppy.
-- 
Saluti
Andrea Moro

[*Andrea Moro*=
moroan...@tiscalinet.it
] ha scritto:

Ehm, [e|in]voluzioni di MS:
Con XP Pro, se fai
risultato=Dir("?:\*.*")
con ? che va da A a Z (diciamo da A a B), se l'unità c'è ma manca il
supporto va in errore, se l'unità non esiste proprio, no. Sob! :-(

Mumble ... bisognere vedere per qualche apetta allora ... che controlli
effettivamente la traccia 0 del disco in questione e comunque solo a e
b perchè le altre unità per logica sono destinate ad essere dischi fissi,
unità removibili diverse da floppy disk e connessioni di rete.
-- 
Saluti
Andrea Moro

 ha scritto nel messaggio
news:0DG4b.281727$Ny5.8...@twister2.libero.it...

Volendo potresti usare la libreria di scripting di Microsoft...
Crei un oggetto File System Object e poi ti fai restituire la collezione dei
drive.
Da lì poi puoi controllare mediante un ciclo il singolo drive presente sul
tuo pc... e ti puoi far restituire diverse proprietà sulla natura del drive
(almeno puoi sapere con esattezza su qualsiasi computer se un drive è un
dischetto o più in generale un supporto removibile).
L'oggetto Drive, per controllare se è presente, usa una proprietà che si
chiama IsReady... se ti rende false, significa che la periferica non è
pronta!
^_^ spero di esser stato utile oltre che chiaro!!! ^_^
Ciao!

 ha scritto nel messaggio
news:bivh4i$dikig$1...@ID-61006.news.uni-berlin.de...

Dovrebbe essere sufficiente verificare il tipo di unita', escludendo quelle
inesistenti come segnalava Lupo, e a questo punto si puo' fare anche il
controllo con il Dir "brutale" di cui sopra.
Per esempio:
Public Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" _
 (ByVal nDrive As String) As Long
Public Const DRIVE_UNKNOWN = 0
Public Const DRIVE_NO_ROOT_DIR = 1
Public Const DRIVE_REMOVABLE = 2
Public Const DRIVE_FIXED = 3
Public Const DRIVE_REMOTE = 4
Public Const DRIVE_CDROM = 5
Public Const DRIVE_RAMDISK = 6
e quindi
Dim i       As Long
Dim drive   As String
Dim res     As Long
For i = Asc("A") To Asc("Z")
    drive = Chr$(i) & ":\"
    res = GetDriveType(drive)
    If res = DRIVE_REMOVABLE Then
        'E' un unita' removibile sicuramente esistente (altrimenti res=1),
        'ora si puo' verificare se il drive e' pronto
    End If
Next
In alternativa c'e' il FileSystemObject, se non da noia o gia' si usa per
altro, che rende tutto immediatamente disponibile con Drive.DriveType e
Drive.IsReady
Ciao
-- 
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown

Vai in progetti/Riferimenti e aggiungere 'Scripting'.
Poi vai in visualizzatore oggetto e vede quanti belle funzione ci sono!
