Tienes que hacer un pequeño cambio para que solo devuelva las removibles...
Eso va por tu cuenta; aqui ya es muy tarde...
Julio Cesar
"Julio Cesar Cantillo Molina" <
juliocantillo@sperceptivas.com> escribió en
el mensaje news:[email=
421eafa1@ozsrv2.ozlan.local...]
421eafa1@ozsrv2.ozlan.local...[/email]
> En la version gratuita de Funcky no estan esas funciones.
> De este modo te funciona lo que quieres, solo tienes que incluir
What32.lib
> es tu archivo de linkeo.
>
> aTipos := {}
> aUnidades := LogicalDrives( aTypes )
>
> //****
> FUNCTION LogicalDrives( aTypes )
> //****
> LOCAL i, aDrives := {}, nBitMask := GetLogicalDrives()
> //
> aTypes := {}
> FOR i := 1 TO 32
> IF IsBit( nBitMask, i )
> AADD( aDrives, CHR(64+i) + ":" )
> AADD( aTypes, GetDriveType( ATAIL(aDrives) ) )
> ENDIF
> NEXT
> //
> RETURN ( aDrives )
>
> #define DRIVE_UNKNOWN 0
> #define DRIVE_NO_ROOT_DIR 1
> #define DRIVE_REMOVABLE 2
> #define DRIVE_FIXED 3
> #define DRIVE_REMOTE 4
> #define DRIVE_CDROM 5
> #define DRIVE_RAMDISK 6
>
> //****
> STATIC FUNCTION TypeOfUnit( nType )
> //****
> LOCAL cType := SPACE(0)
> //
> DO CASE
> CASE nType == DRIVE_UNKNOWN ; cType := "DESCONOCIDO"
> CASE nType == DRIVE_NO_ROOT_DIR ; cType := "NO_ROOT_DIR"
> CASE nType == DRIVE_REMOVABLE ; cType := "REMOVIBLE"
> CASE nType == DRIVE_FIXED ; cType := "FIJO"
> CASE nType == DRIVE_REMOTE ; cType := "REMOTO"
> CASE nType == DRIVE_CDROM ; cType := "CDROM"
> CASE nType == DRIVE_RAMDISK ; cType := "RAMDISK"
> ENDCASE
> //
> RETURN ( cType )
>
> Saludos desde Colombia,
>
> Julio Cesar.
>
> "Joaquín Martínez" <
jmartial@interbook.net> escribió en el mensaje
> news:[email=
421e05ec@ozsrv2.ozlan.local...]
421e05ec@ozsrv2.ozlan.local...[/email]
> > Hola René,
> >
> > ¿ no es un poco exagerado comprar las funcky para saber las unidades
> > removibles? ¿o es que hay alguna versión pequeñita libre de pago?
> >
> >
> > De todas formas, gracias, es otra opción y tú te has molestado en
> > mostrármela
> >
> > Un Saludo,
> > Joaquín
> >
> > "Rene Flores" <
rflores.removeforspam@ciber-tec.com> escribió en el
mensaje
> > news:[email=
421e0133@ozsrv2.ozlan.local...]
421e0133@ozsrv2.ozlan.local...[/email]
> > > Joaquín:
> > >
> > > No directamente con Xailer, pero si con algunos metodos de Funcky, que
> > > pueden ser incorporados sin problemas con Xailer.... este es el
codigo:
> > >
> > > oFuncky := TOleAuto():New("Funcky")
> > >
> > > cDrives := oFuncky:AllDrives() //devuelve "A: C: D: E: F: W:"
> > >
> > > /* Donde:
> > > A: Floppy
> > > C: Disco duro
> > > D: CD Rom
> > > E: Memoria USB
> > > F: Unidad Remota de servidor
> > > W: Unidad Remota de Servido */
> > >
> > > /* Creamos un array con los nombres de las unidades */
> > > aDrivesLetter := {}
> > > cDisco := ""
> > > FOR x := 1 TO LEN(cDrives)
> > > IF cDrives[x] == " "
> > > AADD(aDrivesLetter,cDisco)
> > > cDisco := ""
> > > ELSE
> > > cDisco += cDrives[x]
> > > ENDIF
> > > NEXT
> > > /* ahora tenemos {"A:", "C:", "D:", "E:", "F:","W:" }*/
> > >
> > > /* Analizamos los tipos de unidad */
> > >
> > > FOR x:=1 TO LEN(aDrivesLetter)
> > > DO CASE
> > > CASE oFuncky:IsFixed(aDrivesLetter[x])
> > > MsgInfo("Unidad "+aDrives[x]+CRLF+"Es disco local fijo")
> > > CASE oFuncky:IsFloppy(aDrives[x])
> > > MsgInfo("Unidad "+aDrives[x]+CRLF+"Es diskette")
> > > CASE oFuncky:IsRemote(aDrives[x])
> > > MsgInfo("Unidad "+aDrives[x]+CRLF+"Es unidad remota de
red")
> > > CASE oFuncky:IsRemovable(aDrives[x])
> > > MsgInfo("Unidad "+aDrives[x]+CRLF+"Es unidad removible")
> > > ENDCASE
> > > NEXT
> > >
> > > Saludos
> > >
> > > Rene Flores
> > >
http://www.ciber-tec.com
> > > Martínez escribió:
> > > > ¿Hay en Xailer alguna manera de saber las unidades removibles
activas
> en
> > el
> > > > PC?
> > > > Entiendasé diskette, memoria USB, CDRW, etc.
> > > >
> > > >
> > > >
> > > > Un Saludo,
> > > > Joaquín
> > > >
> > > >
> >
> >
>
>