Ir al contenido


Foto

Listar todos los discos del sistema en un ListBox


  • Por favor identifícate para responder
3 respuestas en este tema

#1 Fleon

Fleon

    Advanced Member

  • Miembros
  • PipPipPip
  • 172 mensajes
  • LocationRepública Dominicana

Escrito 15 julio 2009 - 05:57

Hola amigos, he estado navegando por la web y no he encontrado nada parecido (Y no, no son los que traen delphi), quisiera saber ¿cómo puedo listar todas las unidades(Drives: Disco, CD-ROM, USB, etc) instaladas en un listBox?.

Fleon xD
  • 0

#2 seoane

seoane

    Advanced Member

  • Moderador
  • PipPipPip
  • 1.257 mensajes
  • LocationEspaña

Escrito 16 julio 2009 - 06:46

Prueba con algo como esto:


delphi
  1. var
  2.   C: Char;
  3. begin
  4.   for C:= 'A' to 'Z' do
  5.     if GetDriveType(PChar(C+':\')) <> DRIVE_NO_ROOT_DIR then
  6.       ListBox1.Items.Add(C+':\');
  7. end;



Si solo quieres los CDRom:


delphi
  1. var
  2.   C: Char;
  3. begin
  4.   for C:= 'A' to 'Z' do
  5.     if GetDriveType(PChar(C+':\')) = DRIVE_CDROM then
  6.       ListBox1.Items.Add(C+':\');
  7. end;



Si solo quieres los USB


delphi
  1. var
  2.   C: Char;
  3. begin
  4.   for C:= 'A' to 'Z' do
  5.     if GetDriveType(PChar(C+':\')) = DRIVE_REMOVABLE then
  6.       ListBox1.Items.Add(C+':\');
  7. end;



etc ...
  • 0

#3 Caro

Caro

    Member

  • Miembros
  • PipPip
  • 29 mensajes
  • LocationBolivia

Escrito 16 julio 2009 - 06:49

Hola Fleon, puedes utilizar la función GetDriveType



delphi
  1. var
  2.   drive : Char;
  3.   tipo : Integer;
  4. begin
  5.   for drive:= 'A' to 'Z' do
  6.   begin
  7.       tipo := GetDriveType(PChar(drive+':\'));
  8.       if tipo <> 0 then
  9.       case tipo of
  10.         DRIVE_REMOVABLE: ListBox.Items.Add(drive+' (Disco extraible)');
  11.         DRIVE_FIXED: ListBox.Items.Add(drive+' (Disco Fijo)');
  12.         DRIVE_CDROM: ListBox.Items.Add(drive+' '+'(CD ROM)');
  13.       end;//Case
  14.   end;



Busca esa función en la ayuda, tiene mas opciones.

Saluditos
  • 0

#4 Fleon

Fleon

    Advanced Member

  • Miembros
  • PipPipPip
  • 172 mensajes
  • LocationRepública Dominicana

Escrito 16 julio 2009 - 09:28

Amigos sos unos verdugos, muchas gracias :D

Fleon xD
  • 0