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 25-10-2010
diego007 diego007 is offline
Miembro
 
Registrado: nov 2009
Posts: 26
Poder: 0
diego007 Va por buen camino
Uso de API SHChangeNotify

Hola amigos, estoy tratando de ejecutar el ejemplo que esta en la siguiente direccion:
http://delphi.about.com/od/kbwinshell/l/aa030403a.htm
pero no puedo usarlo, no se como instalar esta libreria, me explico mejor:
- Descargue el ejemplo que esta incluido en esta pagina
- descargue el componente SHChangeNotify.pas y lo copie a la carpeta donde de esta el programa.
- Trato de abrir el programa para despues compilarlo, pero me da error: "Class TSHChangeNotify not found", pongo ignorar error y continuo.
- Trato de compilar el programa, pero me sale error: "Form1.cn does not have a corresponding component".
Deceo conocer si alguien a podico ejecutar este ejemplo y como lo hizo, caso contrario alguien comose de algun ejemplo con el TShellChangeNotifier? necesito monitorear todos los cambios del disco C:\
De antemano muchas gracias por su ayuda
Responder Con Cita
  #2  
Antiguo 25-10-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 diego007.

No conozco esos componentes, pero en los pasos que detallas haber echo, no veo en ningún lado que hayas instalado
el package que contiene los componentes, no sé si lo omitiste por olvido. Pero si no es así, es claro que deberías instalarlo
primeramente para que funcionen.

En la misma página dice:
Cita:
Note: after you install the package containing those components (vclshlctrls.dpk), the component will be placed on the Samples tab of the component palette.
Saludos.
Responder Con Cita
  #3  
Antiguo 25-10-2010
diego007 diego007 is offline
Miembro
 
Registrado: nov 2009
Posts: 26
Poder: 0
diego007 Va por buen camino
Gracias por tu pronta respuesta ecfisa, tienes razon, no instale el pack. Pero yo considero que en este caso se refiere al componente original que tiene el delphi 7 que esta dentro de la pestaña "Samples" -> "TShellChangeNotifier"; revisando el texto no encuentro ningun link para descargar algun nuevo package. Por si acaso tu no lo encontraste?

Última edición por diego007 fecha: 25-10-2010 a las 21:11:33.
Responder Con Cita
  #4  
Antiguo 25-10-2010
Avatar de white_zombie
[white_zombie] white_zombie is offline
Miembro Premium
 
Registrado: nov 2005
Ubicación: Zaragoza - España
Posts: 187
Poder: 19
white_zombie Va por buen camino
Hola, como comenta ecfisa para ejecutar ese ejemplo necesitas instalar el componente en el IDE de delphi.

Si no quieres instalar el componente, puedes crearlo por código e ir asociando los eventos correspondientes.

Adjunto te paso el mismo ejemplo para que lo puedas probar sin instalar el componente.

Un Saludo.
Archivos Adjuntos
Tipo de Archivo: zip shellmonitor2.zip (25,7 KB, 46 visitas)
Responder Con Cita
  #5  
Antiguo 25-10-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 diego.

Aca podés descargar la versión 1.5.

Saludos.
Responder Con Cita
  #6  
Antiguo 25-10-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.

No estaba el post de white_zombie cuando edité el link...
Lo que él te adjunta es mucho mejor, ya que como te dice arriba, podés probarlo sin tener que instalar el package.
Luego decidirás si lo incorporas o no.

Saludos.

Última edición por ecfisa fecha: 25-10-2010 a las 21:23:57.
Responder Con Cita
  #7  
Antiguo 25-10-2010
diego007 diego007 is offline
Miembro
 
Registrado: nov 2009
Posts: 26
Poder: 0
diego007 Va por buen camino
Gracias por la ayuda [white_zombie] y ecfisa, el programa trabaja super bien Una ultima pregunta, como podria hacer para que automaticamente con un boton copie los archivos "Creados" a una carpeta X?
De nuevo gracias por toda su ayuda
Responder Con Cita
  #8  
Antiguo 25-10-2010
Avatar de white_zombie
[white_zombie] white_zombie is offline
Miembro Premium
 
Registrado: nov 2005
Ubicación: Zaragoza - España
Posts: 187
Poder: 19
white_zombie Va por buen camino
Puedes crear una lista (Tstringlist) y en el evento Oncreate del componente TSHChangeNotify añades todas las rutas de los archivos creados.

Mas o menos algo asi.

Código Delphi [-]
procedure TForm1.cnCreate(Sender: TObject; Flags: Cardinal; Path1: String);
begin
  List.Add(Path1);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Cfiles: TSHFileOpStructA;
  I:integer;
begin
  for I:=0 to List.Count -1 do
  begin
    with Cfiles do
    begin
      wnd   := Application.Handle;
      wFunc := FO_copy;
      pFrom := PChar(List[i]);
      pTo   := PChar('Carpeta Destino');
      fFlags := FOF_NOCONFIRMATION;
    end;
    SHFileOperation(Cfiles);
  end;
end;

Un Saludo.
Responder Con Cita
  #9  
Antiguo 25-10-2010
diego007 diego007 is offline
Miembro
 
Registrado: nov 2009
Posts: 26
Poder: 0
diego007 Va por buen camino
ok Gracias por toda la ayuda!!!!
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


La franja horaria es GMT +2. Ahora son las 09:54:54.


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