Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   borrar en el Form lo que muestra un pendrive, por ejemplo (https://www.clubdelphi.com/foros/showthread.php?t=50434)

kapullok_2006 17-11-2007 12:19:21

borrar en el Form lo que muestra un pendrive, por ejemplo
 
Hola,para detectar una unidad extraible se hace con GetDriveType().
¿Sabéis de alguna función,que si sacas por ejemplo un pendrive del pc,
te borre lo que muestra el Form.? En mi caso quiero que me borre unas fotos. GetDriveType(); reconoce la memoria que meto,y mediante mi
cógido cargo fotos en TIMAGES.
En fin,sería si saco la memoria,que no me muestre las fotos.Y luego espero,
que si vuelvo a meter la memoria(con Form ejecutado o no),me cargue las fotos con GetDriveype().
Espero que si me dais alguna pista,ello no me lleve a problemas.

saludos,gracias.

Khronos 17-11-2007 12:53:35

Para detectar si un pendrive se desconecta te recomiendo que hagas algo asi:

Código Delphi [-]
 
function DrivePreparado(Drive: Char): Boolean;
     var
       ErrorMode: word;
     begin
       if Drive in ['a'..'z'] then Dec(Drive, $20);
       if not (Drive in ['A'..'Z']) then
         raise EConvertError.Create('Drive inválido');
       ErrorMode := SetErrorMode(SEM_FailCriticalErrors);
       try
         if DiskSize(Ord(Drive) - $40) = -1 then
           Result := False
         else
           Result := True;
       finally
         SetErrorMode(ErrorMode);
       end;
     end;

Con la función GetDriveType detectas la unidad usb, y con esta funcion compruebas si la unidad esta lista para ser usada. Por ejemplo pones un timer que pase esta funcion cada x tiempo y si result:=false borras las imagenes.

Espero haberte ayudado.

Salu2


La franja horaria es GMT +2. Ahora son las 14:23:00.

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