Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   como detecto unidades extraibles (https://www.clubdelphi.com/foros/showthread.php?t=51299)

desi 11-12-2007 23:17:01

como detecto unidades extraibles
 
soy nuevo en esto de programar y quisiera saber como ago para detectar unidades extribles como memorias usb :confused:

bpesoj 12-12-2007 15:49:32

Hola,
Puedes intentar con este procedimiento:
Código Delphi [-]Procedure Unitats(Var l:TStringList);
var i:Word; k:Char; s:String;
begin for k:='a' to 'z' do begin try s:=k+':';
i := GetDriveType(PChar(s));
if i=DRIVE_REMOVABLE then l.Add(String(k));
except end;
end;
end;

Si miras en la ayuda la función GetDriveType puedes detectar más tipos de unidades (fijas, de red, etc.)

Khronos 12-12-2007 15:57:41

Hola, te aconsejo que te leas la guia de estilo antes de nada :D, porque este tema no va de acuerdo con la seccion donde posteas.

Hay una funcion muy simple para detectar unidades extraibles GetDriveType. Esta funcion se encuentra en los uses de Windows.

Los posibles valores que devuelve esta funcion son:

Código Delphi [-]
DRIVE_UNKNOWN = 0;
  {$EXTERNALSYM DRIVE_UNKNOWN}
  DRIVE_NO_ROOT_DIR = 1;
  {$EXTERNALSYM DRIVE_NO_ROOT_DIR}
  DRIVE_REMOVABLE = 2;
  {$EXTERNALSYM DRIVE_REMOVABLE}
  DRIVE_FIXED = 3;
  {$EXTERNALSYM DRIVE_FIXED}
  DRIVE_REMOTE = 4;
  {$EXTERNALSYM DRIVE_REMOTE}
  DRIVE_CDROM = 5;
  {$EXTERNALSYM DRIVE_CDROM}
  DRIVE_RAMDISK = 6;
  {$EXTERNALSYM DRIVE_RAMDISK}

En tu caso, para detectar una unidad USB:


Código Delphi [-]
var
drive: char;
begin
 
For Drive:='c' to 'z' do begin
If GetDriveType (pchar(drive + ':\')) = DRIVE_REMOVABLE then begin
//se inicia un bucle que busca todas las unidades de la c
//hasta la z y si detecta que alguna es de tipo USB
 
showmessage('Unidad ' + pchar(drive));
//muestra un mensaje
end;
end;

Espero que te ayude ;)

Salu2


La franja horaria es GMT +2. Ahora son las 02:22:31.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi