Unidades de disco

Hola davsoft, oye una pregunta, como puedo o cual es la instrucción para saber el numero total de unidades, es decir, Si una maquina tiene C y DE, que me las devuelva o si la maquina tiene C, DE Y E que me las indique.
Todo esto es para buscar archivos.
Al botón que hice de imágenes redondas, utiliza la dirección del control imagen.picture para obtener otras imágenes para dar movimiento al botón, cambiar la imagen inicial por otra, o por un gif, etc. Pero a la hora de cambiar el proyecto de C a DE, la ruta de image.picture es direfente y ya no encuentra las imágenes en DE y falla, lo que quiero es que busque en toda la compu para encontrar las imágenes. Yo busco imágenes con la clase filer, pero no se el numero de posibles unidades, lo cual me limita la búsqueda.
Te lo agradecería mucho si me ayudas.

1 respuesta

Respuesta
1
yo solucione este tema con la libreria FOXTOOLS.FLL  que viene con el fox, es una libreria con muchas funciones muy utiles y facil de usarlos si tener que hacer declaraciones muy extensas de API, seria asi
set libra to "c:\archivos de programa\microsoft visual studio\vfp98\foxtools.fll"
Con la linea anterior se abre la librería, puedes copiarlo a otro lugar sin problema y embutirlo a tu proyecto para llevarlo al exe inclusive, eso queda a tu criterio, una vez hecho esto utilizaremos la función DRIVERTYPE() que le enviamos como parámetro la letra de la unidad y nos dice que tipo es o si no existe o no es válido la unidad, el segundo es lo que buscamos, los tipos devueltos son según la documentación:
0 - Drive does not exist
1 - Drive has no root directory
2 - Floppy Disk
3 - Hard Disk
4 - Removable or Network drive
5 - CD-ROM
6 - RAM Disk
Con estos resultados ya podemos jugar, es decir si nos devuelve 2,3,4,5, o 6 son válidos, lo que debes hacer es probar enviándole las letras desde la A hasta la Z y verificar los resultados, te daré una idea.
for c=1  to 26
      letra = chr(c+64)
   ? Drivetype(letra)
Endfor
El ejemplo anterior recorre desde la A hasta la Z para enviarle a la función y ver si esta unidad existe o no. Espero haberme entendido.
PD: Puede haber errores en el código por que no lo probé, pero serán mínimos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas