Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-08-2010
LuisAlf:: LuisAlf:: is offline
Miembro
 
Registrado: nov 2009
Posts: 60
Poder: 15
LuisAlf:: Va por buen camino
Detectar memoria USB

Hola a todos por aquí...

He estado trabajando con una aplicación sencilla, tipo gadget
Y ultimamente decidi que mi aplicación pudiera detectar, cuando una memoria se conectara a la pc...
Estuve experimentando un poco y pues si logre obtenerlo gracias a la validación de la función disksize en un timer de mi programilla...

Pero no me convenció mi método del todo y supongo que habra alguna solución más optima de detectar la unidad nueva que se conecto...

Espero que alguien me pueda ayudar en esto...

Sin más gracias por leer este post...

Última edición por LuisAlf:: fecha: 26-08-2010 a las 17:05:10. Razón: ','
Responder Con Cita
  #2  
Antiguo 26-08-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola LuisAlf.

Revisá este Link


Saludos.
Responder Con Cita
  #3  
Antiguo 26-08-2010
LuisAlf:: LuisAlf:: is offline
Miembro
 
Registrado: nov 2009
Posts: 60
Poder: 15
LuisAlf:: Va por buen camino
Interesante....

Creo que mejor me quedo con mi codigo...

jejeje!!!

De todas formas se agradece tu aporte, voy a ver que le puedo entender...
Responder Con Cita
  #4  
Antiguo 28-08-2010
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.126
Poder: 18
kurono Va por buen camino
yo utilizo este codigo para tales fines solo debes ajustarlo a tus necesidades

Código Delphi [-]
var

  Letra: Char;

begin

  for Letra:= 'C' to 'Z' do

    if GetDriveType(Pchar(Letra+':\')) = DRIVE_REMOVABLE then

    begin

      
      ShowMessage('Esto es una memoria usb '+Letra+':\');
    

end;

end;
Responder Con Cita
  #5  
Antiguo 28-08-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola kurono.

Muy bueno el código... simple y funcional.

Seguro que le servirá a más de uno, empezando por el que escribe...

Saludos.
Responder Con Cita
  #6  
Antiguo 28-08-2010
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.126
Poder: 18
kurono Va por buen camino
ojala que le sirva tambien a nuestro amigo LuisAlf
Responder Con Cita
  #7  
Antiguo 29-08-2010
LuisAlf:: LuisAlf:: is offline
Miembro
 
Registrado: nov 2009
Posts: 60
Poder: 15
LuisAlf:: Va por buen camino
Supongo que si me servira !:P

Gracias... Kurono...

De repente se me vino a la mente uno de tus post donde te da una santa regañada el maestro Delphius (I.A)...

jejeje..

Aqui les dejo la forma en que yo lo hagó dentro de mi aplicación...

Código Delphi [-]
 
procedure TForm1.TimerDetenerTimer(Sender: TObject);
var
  tam1:int64;
  tam2:int64;
begin
  //////////////////////
   if abiertos then begin
    tam1:=disksize(6);//f:\
    tam2:=disksize(5);//e:\

    if tam1<>-1 then
      ShellExecute(0, 'open', nil, nil, PAnsiChar('f:\'), SW_SHOW);
    if(tam2<>-1)and(tam1=-1) then
      ShellExecute(0, 'open', nil, nil, PAnsiChar('e:\'), SW_SHOW);
      abiertos:=false;
   end;
...
................

Algo asi... aunque aqui esta muy especifico el codigo..y eso es lo que no me gustaba...

Gracias de Nuevo..
Responder Con Cita
  #8  
Antiguo 29-08-2010
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.126
Poder: 18
kurono Va por buen camino
ahhh jaja ya se me olvidaba esa regañada que delphius me dio y no solamente fue una sino varias cuando eso no tenia tanto tiempo libre como para pensar bien como crear los codigos fuente de mis aplicacion de modo que recurria aqui para resolverlo de rapido y por eso delphius me regañaba de ves en cuando .bueno en cuanto a tu codigo si bien como dices es algo especifico siempre es bueno saber hacer las cosa de varias manera para asi deservolvernos en situaciones diferentes que se nos presentan
Responder Con Cita
  #9  
Antiguo 01-09-2010
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por LuisAlf:: Ver Mensaje
Supongo que si me servira !:P

Gracias... Kurono...

De repente se me vino a la mente uno de tus post donde te da una santa regañada el maestro Delphius (I.A)...

jejeje..
¿Te refieres a éste?

Cita:
Empezado por kurono Ver Mensaje
ahhh jaja ya se me olvidaba esa regañada que delphius me dio y no solamente fue una sino varias cuando eso no tenia tanto tiempo libre como para pensar bien como crear los codigos fuente de mis aplicacion de modo que recurria aqui para resolverlo de rapido y por eso delphius me regañaba de ves en cuando .
¡Te deschabaste! Si yo ya sabía que aquí vienen estudiantes bien flojos que prefieren la salida fácil antes que intentarlo y/o sentar el trasero en el asiento y estudiarlo.

Ya ves... otro regaño .
La cosa es que se intuye cuando un estudiante viene con ganas de aprender y cuando a pedir la tarea. Con el paso del tiempo uno ya los "huele".
Espero que esas reprimendas sirvan de algo kurono.

Esto me confirma que si fuera profesor sería muy insoportable y el más odiado... ¡Tendría bien cortitos y derechitos a mis víctimas... digo estudiantes! Lo peor de todo es que muchos me dicen que debería estar en la docencia.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #10  
Antiguo 01-09-2010
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.126
Poder: 18
kurono Va por buen camino
hola amigo delphius si bien los estudiante o mejor dicho a cualquier persona no le gusta que lo regañen en eso regaño es que estan las enseñanza en mi caso esos regaño me sirvieron de mucho ya que me ayudo a tener mas logica a la hora de programar y me imagino que a muchos miembros de aqui le a pasado lo mismo
Responder Con Cita
  #11  
Antiguo 01-09-2010
LuisAlf:: LuisAlf:: is offline
Miembro
 
Registrado: nov 2009
Posts: 60
Poder: 15
LuisAlf:: Va por buen camino
jajaja!

Que feo cuando uno se siente presionado...yo tambien he pasado por esos momentos..gracias a la Escuela...
Responder Con Cita
  #12  
Antiguo 23-05-2011
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 21
santiago14 Va por buen camino
Wink

Cita:
Empezado por kurono Ver Mensaje
yo utilizo este codigo para tales fines solo debes ajustarlo a tus necesidades

Código Delphi [-]
var
  Letra: Char;
begin
  for Letra:= 'C' to 'Z' do
    if GetDriveType(Pchar(Letra+':\')) = DRIVE_REMOVABLE then
    begin   
      ShowMessage('Esto es una memoria usb '+Letra+':\');
    end;
end;
Que mas puedo decir, este pedacito de código es una maravilla... mis felicitaciones a su creador; o por lo menos al que lo difundió por la comunidad.
Ahora conecto y desconecto mis dispositivo USB y automáticamente puedo detectar a que unidad fueron asignados... jejeje.

Saludos.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita
  #13  
Antiguo 23-05-2011
LuisAlf:: LuisAlf:: is offline
Miembro
 
Registrado: nov 2009
Posts: 60
Poder: 15
LuisAlf:: Va por buen camino
Cita:
Empezado por santiago14 Ver Mensaje
Ahora conecto y desconecto mis dispositivo USB...
Hola Santiago14...

A mi también me funcionó de maravilla el código...
Aunque me intrigaron tus palabras..heehe.. como es que puedes desconectar los dispositivos USB por medio de código..

Si sabes la respuesta me encantaria saberla..
Responder Con Cita
  #14  
Antiguo 23-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola LuisAlf::

En este enlace está como activar/desactivar los puertos USB.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #15  
Antiguo 30-04-2013
darkmir darkmir is offline
Miembro
NULL
 
Registrado: abr 2013
Posts: 28
Poder: 0
darkmir Va por buen camino
Misma funcion pero en builder c++?

var Letra: Char;
begin
for Letra:= 'C' to 'Z' do
if GetDriveType(Pchar(Letra+':\')) = DRIVE_REMOVABLE then
begin
ShowMessage('Esto es una memoria usb '+Letra+':\');
end;
end;
//

como seria en builder c++?
Responder Con Cita
  #16  
Antiguo 30-04-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola darkmir.

Por favor cuando incluyas código en tus mensaje utiliza TAG's para darle más legibilidad:



Código:
void Show_Usb(TStrings *TS)
{
  for(char i = 'A'; i <= 'Z'; i++)
   if(GetDriveType(AnsiString((AnsiString)i + ":\\").c_str()) == DRIVE_REMOVABLE)
     TS->Add((AnsiString)i + ":\\" + "  Es una memoria USB");
}
Llamada ejemplo:
Código:
Show_Usb(ListBox1->Items);
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 30-04-2013 a las 05:23:43.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Detectar GPU madiazg Varios 5 28-08-2010 16:58:12
Detectar ERROR mjjj Firebird e Interbase 5 29-04-2008 07:17:22
Detectar corrupción de memoria ALAM C++ Builder 1 27-07-2007 12:09:19
Detectar IP Carliviris Varios 3 17-04-2006 19:18:26
Detectar procesador Mic82 Varios 1 12-11-2004 09:45:35


La franja horaria es GMT +2. Ahora son las 10:42:49.


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